Login mit Sessions - Header Problem

  • geschlossen

  • Jannik
  • 1133 Aufrufe 2 Antworten

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Login mit Sessions - Header Problem

    Hey Leute,

    ich bin es mal wieder :)

    Habe ein Problem, bekomme eine Warnung mit den folgendem Code:

    controlpanel.php

    PHP-Quellcode

    1. <?php
    2. include("../includes/config.php");
    3. if (isset($_SESSION['name']) && isset($_SESSION['password']) &&
    4. $_SESSION['name'] != '' && $_SESSION['password'] != '') {
    5. $connect = mysql_connect($mysqlhost,$mysqluser,$mysqlpwd) or die (mysql_error()) ;
    6. $db = mysql_select_db($mysqldb) or die (mysql_error());
    7. $sql = "SELECT * FROM login WHERE nick ='".mysql_real_escape_string($_SESSION['name'])."' AND
    8. passhash = '".md5(mysql_real_escape_string($_SESSION['password']))."'" or die (mysql_error());
    9. $ergebnis = mysql_query($sql, $connect) or die (mysql_error());
    10. if (mysql_num_rows($ergebnis) == 0) {
    11. header('Location: login.php');
    12. }
    13. } else {
    14. header('Location: login.php');
    15. }
    16. ?>
    17. Geschuetzte Seite :)
    Alles anzeigen


    config.php

    PHP-Quellcode

    1. <?php
    2. session_start();
    3. $mysqlhost="localhost"; // MySQL-Host angeben
    4. $mysqluser="username"; // MySQL-User angeben
    5. $mysqlpwd="passwort"; // Passwort angeben
    6. $mysqldb="datenbank"; // Gewuenschte Datenbank angeben
    7. ?>


    Warnung:

    Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at C:\xampp\htdocs\member\controlpanel.php:1) in C:\xampp\htdocs\includes\config.php on line 2
    Geschuetzte Seite :)


    Hat jemand eine Ahnung, wie ich das Problem beheben kann? :)

    Danke im vorraus,

    Jannik93

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Jannik ()

  • Hallo,
    startest du auch bei jeder Seite, auf der du sessions nutzt am Anfang die Session?

    PHP-Quellcode

    1. session_start();

    Also:

    PHP-Quellcode

    1. <?php
    2. session_start();
    3. include("../includes/config.php");
    4. //...


    Nimm mal aus der config.php die zweite Zeile ( session_start(); ) raus. Und füg das lieber in die controlpanel.php ein.
    Und prüfe auch, dass du vor den Header angaben (session_start() und header() ) keine Leerzeichen oder sonstige Zeichen hast.
    Rechteübersicht * Forenregeln * F.A.Q. * Lexikon
    Suchfunktion * Chat * User helfen User
    Patrioten reden nur davon, dass sie für ihr Land sterben, niemals davon, dass sie für ihr Land töten. (Bertrand Russell)

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von Snip3r ()

  • Hab deine Tipps ausprobiert, danke dafür, aber hat nicht geklappt.

    Und eigentlich ist das ja auch nicht nötig, ich kann das in der Config lassen und die für mehrere Dateien benutzen, hat i-wer noch ne bessere Idee?

    Edit:\\

    Hab es hingekriegt, es klappt alles wunderbar auf meinem PC, wenn ich es aber auf meinen Server ins Internet lege, funzt der Login nicht mehr. Es liegt glaube ich daran, dass ich erst session speicher, dann auf seite 2 weiterleite...

    PHP-Quellcode

    1. $_SESSION['loginsucess'] = "yes";
    2. header('Location: controlpanel.php');

    und dann die session abfrage:

    PHP-Quellcode

    1. <?php
    2. @session_start();
    3. if (isset($_SESSION['loginsucess']) != "yes" || $_SESSION['loginsucess'] != "yes") {
    4. ?>
    5. Don't try that again...
    6. <meta http-equiv="refresh" content="3; URL=login.php">
    7. <?php
    8. exit;
    9. }
    10. ?>


    Liegt es vllt daran, dass die Session nicht richtig gespeichert wird? Ich bitte um Hilfe :(

    Danke :)

    Edit 2:\\

    Habs nach ein paar Stunden Verzweiflung geschafft ;)

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von Jannik ()