DAK: Loginscript

Ich wollt ein Browsergame machen, und bin grad beim Login, der jedoch nicht so ganz gehen will.

Das ist das Script:

Datei 1 (login1.htm):

<htm>
<head>
<title>The Kingdom - Login</title>
</head>
<body>
<FORM ACTION="login2.php" METHOD=POST>
Username: <INPUT NAME="name"><br>
Passwort:  <INPUT TYPE="password" PASSWORD="pass"><br>
<INPUT TYPE="submit" Value="Login">
</FORM>
</body>
</htm>

Datei 2 (login2.php):

<?
$verbindung = @mysql_connect("mysql.lima-city.de","USER31205","*******");
if (!$verbindung) {
echo "Verbindung zur MySQL-Datenbank fehlgeschlagen.";
exit;
} else if ($verbindung) {
$abfrage = "SELECT Passwort from User WHERE User = '".$name."'";
$result = mysql_db_query("DB413172382",$abfrage,$verbindung);
list($Passwort) = mysql_fetch_row($result);
if ($Passwort==$pass) {
$abfrage = "UPDATE User SET Loginstatus = 1 WHERE Name = '".$name."'";
mysql_query($abfrage,$verbindung);
} else if ($Passwort!=$pass) {
echo "Falsches/r Passwort/Username.";
}
?>

Fehlermeldung: 'Parse error: parse error, unexpected $ in /home/webpages/lima-city/dak/html/bg/login2.php on line 17'

Heißt so viel wie ich hab da in der Zeile 18 (die da so ausschaut: '?>') ein überschüssiges $.

Da muss was faul sein.

  1. Hallo!

    } else if ($verbindung) {
    ....
    if ($Passwort==$pass) {
    ...
    } else if ($Passwort!=$pass) {
    ...
    }
    ?>

    Soweit ich sehe, geht eine geschweifte Klammer nicht mehr zu.

    Um sowas in zukunft zu vermeiden, ist entweder
    das Eintrücken des Codes oder
    das Verwenden eines Editors, der solche Fehler anzeigt
    von Vorteil.

    Lukas

  2. Hi DAK,

    Datei 1 (login1.htm):

    Und die http://de.selfhtml.org/html/allgemein/grundgeruest.htm#dokumenttyp@title=Doctype-Declaration]?

    <htm>

    Nur weil die Seite .htm heißt und nicht .html musst du hier trotzdem <html> schreiben!

    <FORM ACTION="login2.php" METHOD=POST>

    Schreibe bitte auch hier alle Tags und Attribute klein und setze Anführungszeichen.

    Fehlermeldung: 'Parse error: parse error, unexpected $ in /home/webpages/lima-city/dak/html/bg/login2.php on line 17'

    Heißt so viel wie ich hab da in der Zeile 18 (die da so ausschaut: '?>') ein überschüssiges $.

    Da muss was faul sein.

    Ja, das klingt _sehr_ komisch wenn man nicht weiß warum.
    $ bedeutet Ende. (Vielleicht kennst du das von Regular Expressions)

    Gruß, Marian

  3. Hallo,

    <?
    $verbindung = @mysql_connect("mysql.lima-

    city.de","USER31205","*******");

    nimm erstmal das @ weg, damit Du eine Fehlermeldung bekommst.

    if (!$verbindung)

    {

    echo "Verbindung zum MySQL-Datenbank-Server fehlgeschlagen.";

    echo "Fehlernummer: ".mysql_errno().", ".mysql_error()";

    exit;
    }

    else
       {

    hier erst Verbindung mit der Datenbank herstellen

    $db = mysql_select_db('DB413172382', $verbindung);

    $abfrage = "SELECT id, properties from User
                   WHERE User = '".mysql_real_escape_string($name).
                  "' and Passwort = '".mysql_real_escape_string($passwort)."'";

    Eventuell muss man auch binary abfragen, wenn Groß-Kleinschreibung relevant sein soll

    $result = mysql_query($abfrage,$verbindung);

    if(mysql_errno() > 0)
     {
    #   Fehlermeldung
     }
     else
     {

    if (mysql_num_rows($result) == 1)
       {
          #Passwort stimmt
       }
       else
       {
          #Passwort und Username passen nicht zusammen
       }

    LG
    Chris