Ankündigung

Einklappen
Keine Ankündigung bisher.

Error der für mich unerklärlich ist?

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Error der für mich unerklärlich ist?

    Hallo! Das ist mein Code:
    PHP-Code:
    <?php
    session_start
    ();
    ?>

    <?php
    $verbindung 
    mysql_connect("ZENSIERT""ZENSIERT" "ZENSIERT")
    or die(
    "Verbindung zur Datenbank konnte nicht hergestellt werden");
    mysql_select_db("ZENSIERT") or die ("Datenbank konnte nicht ausgewählt werden");

    $username $_POST["username"];
    $passwort md5($_POST["password"]);

    $abfrage "SELECT username, passwort FROM ZENSIERT WHERE username LIKE '$username' LIMIT 1";
    $ergebnis mysql_query($abfrage);
    $row mysql_fetch_object($ergebnis);

    if(
    $row->passwort == $passwort)
        {
        
    $_SESSION["username"] = $username;
        echo 
    "Login erfolgreich. <br> <a href="main.php">Weiter</a>";
        }
    else
        {
        echo 
    "Benutzername und/oder Passwort waren falsch. <a href="index.php">Login</a>;"
        
    }

    ?>
    und ich bekomme folgenden Error:
    Code:
    Parse error: syntax error, unexpected T_STRING, expecting ',' or ';' in /var/customers/webs/ni396152_3/login/login.php on line 20
    Auf Zeile 20 ist das:
    Code:
        echo "Login erfolgreich. <br> <a href="main.php">Weiter</a>";
    Bitte um Erklärung des Fehlers, danke!

  • #2
    Falsch:
    PHP-Code:
    echo "Login erfolgreich. <br> <a href="main.php">Weiter</a>"
    Richtig:
    PHP-Code:
    echo "Login erfolgreich. <br> <a href='main.php'>Weiter</a>"
    Tipp:
    Standardantwort/FAQ:
    Die mysql-Erweiterung von PHP ist noch oft im Internet zu sehen, jedoch wird in der offiziellen Dokumentation klar empfohlen, auf die Erweiterungen mysqli oder PDO umzusteigen. Die mysql_*-Funktionen sind veraltet und sollten nicht mehr benutzt werden.

    Seit PHP 5.3 gehört die veraltete mysql Erweiterung nicht mehr zur Standard Installation.
    Seit PHP 5.5 ist die mysql Erweiterung offiziell als deprecated (= missbilligt) gekennzeichnet.
    In Zukunft wird die Erweiterung ganz entfernt werden.

    Kommentar


    • #3
      Jetzt ist laut ihm immer der Benutzername falsch...

      PHP-Code:
      $ergebnis mysql_query($abfrage);
      $row mysql_fetch_object($ergebnis);

      if(
      $row->passwort == $passwort)
          {
          
      $_SESSION["username"] = $username;
          echo 
      "Login erfolgreich. <br> <a href='main.php'>Weiter</a>";
          }
      else
          {
          echo 
      "Benutzername und/oder Passwort waren falsch. <a href='index.php'>Login</a>";
          } 

      Kommentar


      • #4
        Zitat von PHPFr3ak Beitrag anzeigen
        Jetzt ist laut ihm immer der Benutzername falsch...
        Was steht in $row->passwort bzw. in $passwort?

        Kommentar


        • #5
          Zitat von PHPFr3ak Beitrag anzeigen
          Hallo! Das ist mein Code:
          PHP-Code:
          <?php
          session_start
          ();
          ?>

          <?php
          $verbindung 
          mysql_connect("ZENSIERT""ZENSIERT" "ZENSIERT")
          or die(
          "Verbindung zur Datenbank konnte nicht hergestellt werden");
          mysql_select_db("ZENSIERT") or die ("Datenbank konnte nicht ausgewählt werden");

          $username $_POST["username"];
          $passwort md5($_POST["password"]);

          $abfrage "SELECT username, passwort FROM ZENSIERT WHERE username LIKE '$username' LIMIT 1";
          $ergebnis mysql_query($abfrage);
          $row mysql_fetch_object($ergebnis);

          if(
          $row->passwort == $passwort)
              {
              
          $_SESSION["username"] = $username;
              echo 
          "Login erfolgreich. <br> <a href="main.php">Weiter</a>";
              }
          else
              {
              echo 
          "Benutzername und/oder Passwort waren falsch. <a href="index.php">Login</a>;"
              
          }

          ?>
          und ich bekomme folgenden Error:
          Code:
          Parse error: syntax error, unexpected T_STRING, expecting ',' or ';' in /var/customers/webs/ni396152_3/login/login.php on line 20
          Auf Zeile 20 ist das:
          Code:
              echo "Login erfolgreich. <br> <a href="main.php">Weiter</a>";
          Bitte um Erklärung des Fehlers, danke!
          /Edit : Post vom Anfang...

          Kommentar


          • #6
            Was willst du mit dem Fullquote des Ursprungspostings sagen? Wo $row->passwort und $passwort herkommen ist mir bewusst - du sollst aber posten welchen Wert sie enthalten, vermutlich nämlich nicht den gleichen ...

            Kommentar


            • #7
              ???
              Du verkack eierst uns doch dann ist mein erster Post die Antwort

              Kommentar


              • #8
                Ergänzung noch zum Zitat in #2 - du hast da nochwas zu fixen:

                1. Dein Code ist für SQL-Injections http://php-de.github.io/jumpto/sql-injection/ anfällig und Werte von aussen generell immer "absichern" (zB filter_input() )

                2. md5() ist "unsicher"
                http://php.net/manual/de/faq.passwor...words.fasthash

                LG
                The string "()()" is not palindrom but the String "())(" is.

                Debugging: Finde DEINE Fehler selbst! | Gegen Probleme beim E-Mail-Versand | Sicheres Passwort-Hashing | Includes niemals ohne __DIR__
                PHP.de Wissenssammlung | Kein Support per PN

                Kommentar


                • #9
                  Frage immernoch offen!

                  Kommentar


                  • #10
                    Zitat von PHPFr3ak Beitrag anzeigen
                    Frage immernoch offen!
                    Meine Rückfrage aus #4 und #6 auch ...

                    Kommentar


                    • #11
                      Zitat von PHPFr3ak Beitrag anzeigen
                      Frage immernoch offen!
                      Ja und was hast DU selbst schon herausgefunden?

                      Betreibe debugging, es ist deine Aufgabe, deine Fehler zu finden. Hier ist zB eine Info wie das gemacht werden kann: http://php-de.github.io/jumpto/leitfaden/

                      Lass dir beide ausgeben (echo, var_dump(), ...) und dann siehst du was nicht stimmt, dann ghets weiter zum nächsaten Schritt, usw.. bis du den Ursprung des fehlers gefunden hast. Debugging gehört ganz normal zum Programmieren dazu.
                      The string "()()" is not palindrom but the String "())(" is.

                      Debugging: Finde DEINE Fehler selbst! | Gegen Probleme beim E-Mail-Versand | Sicheres Passwort-Hashing | Includes niemals ohne __DIR__
                      PHP.de Wissenssammlung | Kein Support per PN

                      Kommentar


                      • #12
                        Das Pw lautet Hallo, wird das siehe unten überhaupt wieder in PHP umgeschrieben? Denn in der DB steht es ja als md5.... ?

                        Kommentar


                        • #13
                          Doch md5 ist vorhanden

                          Kommentar


                          • #14
                            Zitat von PHPFr3ak Beitrag anzeigen
                            Das Pw lautet Hallo,
                            *seufz* Wenn ich frage was in $row->passwort bzw. in $passwort steht heißt das nicht dass du das Passwort im Klartext posten sollst (das steht bestimmt nicht in den Variablen) du sollst dir einfach die beiden Variablen ausgeben lassen und hier posten.

                            wird das siehe unten überhaupt wieder in PHP umgeschrieben?
                            Bahnhof.

                            Kommentar


                            • #15
                              Zitat von Kiboman Beitrag anzeigen
                              Falsch:
                              PHP-Code:
                              echo "Login erfolgreich. <br> <a href="main.php">Weiter</a>"
                              Richtig:
                              PHP-Code:
                              echo "Login erfolgreich. <br> <a href='main.php'>Weiter</a>"
                              Sollte es nicht vielmehr so aussehen?
                              PHP-Code:
                              echo "Login erfolgreich. <br> <a href=\"main.php\">Weiter</a>"
                              bzw.
                              PHP-Code:
                              echo 'Login erfolgreich. <br> <a href="main.php">Weiter</a>'
                              kenne ich als in diesem Falle sinnvollste Schreibweise.

                              Kommentar

                              Lädt...
                              X