Loginscript
DAK
- php
1 werbeklaus0 Marian1 Chris
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.
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
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
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)."'";
$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