Frage 2 [PHP, Login / Registration Script]

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

    • Frage 2 [PHP, Login / Registration Script]

      Nabend,
      hab mal wieder ein Problem, diesmal mit PHP und MySQL.

      Folgendes Problem ich habe ein Registrations und Login Script geschrieben und die Registration funktioniert schon einwandfrei nur beim Login bekomme ich nen Error und zwar

      Parse error: syntax error, unexpected T_STRING in /pfad/ on line 26


      Das hier ist line 26:

      PHP-Quellcode

      1. $query = “select * from users where username=’$username’ and password=’$password’”;


      Wär cool wenn mir ma jemand helfen könnte

      MfG
      Assoult
    • Werbung zur Unterstützung des Forums ( Bitte AddBlocker deaktivieren )

    • PHP-Quellcode

      1. <?php
      2. $dbhost = "*";
      3. $dbname = "*";
      4. $dbuser = "*";
      5. $dbpass = "*";
      6. mysql_connect ( $dbhost, $dbuser, $dbpass)or die("Could not connect: ".mysql_error());
      7. mysql_select_db($dbname) or die(mysql_error());
      8. session_start();
      9. $username = $_POST[‘username’];
      10. $password = md5($_POST[‘password’]);
      11. $query = “select * from users where username=’$username’ and password=’$password’”;
      12. $result = mysql_query($query);
      13. if (mysql_num_rows($result) != 1) {
      14. $error = “Bad Login”;
      15. include “login.html”;
      16. } else {
      17. $_SESSION[‘username’] = “$username”;
      18. include “memberspage.php”;
      19. }
      20. ?>
      Alles anzeigen


      Da issa, hab die DBDaten mal mit nem * gefüllt, die sind sowieso richtig.
    • Vermutlich liegts daran, dass du Apostroph statt einfachem Hochkomma verwendest, würde ich mal ändern und schauen, obs dann funktioniert.
      Sonst seh ich keinen Fehler soweit.
      Außerdem ein Tipp, wenn du die variable $error nicht brauchst, kannste die entfernen.
      Und dann musste dringend erstma mysql_real_escape verwenden, sonst is dein Script anfällig für SQL Injection.
    • Danke hat schon mal Funktioniert, dann hab ich direkt nochmal 2 Errors bekommen, nachdem die memberpage.php included wurde, das mit dem mysql_real_escape guck ich mir später nochmal an, will das erstmal zum laufen bekommen.

      Errors:

      PHP-Quellcode

      1. Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at /users/impala/www/login.php:7) in /users/impala/www/login.php on line 21
      2. Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /users/impala/www/login.php:7) in /users/impala/www/login.php on line 21
    • Du hast ne Ausgabe vor dem session_start()
      Als Ausgabe reicht schon ein Leerzeichen, daher pack das am besten ganz oben hin als erste Zeile im Script.
      Weiterführende Links zum Benutzen von Sessions:
      Benutzen von Sessions in PHP | internetfreak's Corner (Mein Blog)
      coding-cluster.net/73-tutorials/340-sessions-in-php.html (Das gleiche Tutorial auf CC)
      mmorpg-core.com/forum/php-tuto…de-sessions-php-9514.html (Ne ältere Version des Tutorials hier auf MCore)

      Such dir einen Link aus und les es dir mal durch, da ist auch die Fehlerbehandlung gut erklärt.
      Ich persönlich empfehle dir entweder, es auf meinem Blog oder Coding-Cluster nachzulesen,, aus dem Grund, weils da aktueller ist.
      Aber der MCore Link geht auch.

      Und BTW, es ist nicht unbedingt Werbung, ich hab dich nur auf was hingewiesen, wo halt in drei verschiedenen Quellen steht.
      Wie gesagt, Blog und CC sind aktueller als das Tutorial von MCore (Hab von dem ne Neuauflage gemacht, die weitaus besser erklärt ist und umfassender vorallem)
    • Egal wo ich die Session hin packe ich bekomme immer den gleichen Error.

      ”””””””””””””””””””””””””””””””””
      """""""""""""""""""""""""""
      finde den fehler ..


      ”””””””””””””””””””””””””””””””””
      """""""""""""""""""""""""""
      finde den[COLOR="#8b0000"] F[/COLOR]ehler ..


      fixed
    • Ansonsten benutz, wie oben in einem der 3 Links angegeben, ob_start() und am Ende ob_end_flush() (Hast du dir einen davon durchgelesen?)
      Damit umgehst du das Problem auf jeden Fall


      Hab sie mir durchgelesen, trotzdem verstehe ich nicht wo ich ob_start() verwenden soll. Das Tutorial ist übrigens gut um Session zu verstehen.

      “<>"
      hier haste deinen fehler


      Der Parse error is schon lang behoben leute..
    • So müsste der abschnitt doch richtig sein:

      PHP-Quellcode

      1. ob_start();
      2. session_start();
      3. $username = $_POST['username'];
      4. $password = $_POST['password'];
      5. $query = "select * from users where username='$username' and password='$password'";
      6. $result = mysql_query($query);
      7. if (mysql_num_rows($result) != 1) {
      8. include "login.html";
      9. } else {
      10. $_SESSION['username'] = "$username";
      11. include "memberspage.php";
      12. }
      13. ob_end_flush();
      Alles anzeigen
    • dann liegt der Fehler woanders
      Wird diese Page nochmals irgendwo inkludiert und benutzt diese ihrerseits session_start() oder so?
      Aber das verstehe ich iwie jetzt nicht, wieso das nicht funktioniert.
      Am besten ists, du basut dir ne index.php, die dann abhängig von nem GET-Parameter immer die passende Seite aufruft.
      Also like index.php?page=home
      Und in deine index.php steckste das session_start() direkt oben hin, dann kannst du es in allen unterseiten nutzen
      an bplaced sollte eig übrigens nicht liegen, mach dir vll mal nen lokalen testspace mittels xampp oder so, erleichtert das testen ungemein. (du musst nich dauernd alles uppen und so)