Finde NOCH EINEN Fehler nicht :(
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
aktuellen stand
button
code
dank
datei
ende
fehler
feld
file
getestet funktioniert zitat
interpreter
login
semikolon
stehen
syntax
tabelle
url
vergessen
zeile
zugreifen
-
Hi Leute,
ich bin grad dran ein Login system mit PHP zu machen und da kommt die ganze zeit ein Fehler bei einer Datei den ich nicht finde (Kann auch sein dass ich einfach zu dumm binn)
hier der fehler (bei login.php)
Parse error: syntax error, unexpected '$password' (T_VARIABLE) in /home/webpages/lima-city/huaweiy300/default-website/craft_games/login/login.php on line 12
hier der code von login.php
<?php if($_POST) { if(isset($_POST['button']) && $_POST['username'] && $_POST['password']) { $db = "db_294859_1"; $username = mysql_real_escape_string($_POST['username']) $password = mysql_real_escape_string($_POST['password']) $connection = mysql_connect("huaweiy300.lima-db.de:3306", "ZENSIERT", "ZENSIERT"); if($connection) { $selection = mysql_select_db($db); if($selection) { $query = "SELECT * FROMM account WHERE username = '$username' AND password = '$password'"; $mysql_query = mysql_query($query); $checkuser = mysql_num_rows($mysql_query); if($checkuser) { $_SESSION['username'] = $username; ?> <script type="text/javascript"> alert("Sie sind nun eingeloggt"); window.location.href = "seite1.php" </script> <?php } } } else { echo "Bitte fuellen sie alle Felder aus"; } } ?>
und hier der code von index.html mit dem login zeug
<form method="POST" action="login.php"> <input type="text" name="username" placeholder="Benutzername"/> <input type="text" name="password" placeholder="Passwort"/> <br><br> <input type="submit" name="button" value="Login"/> </form>
schnelle hilfe wäre toll :D
mfg huaweiy300 -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Hi,
es fehlen die Semikolon an den Zeilenenden!
Du solltest auch mysqli nutzen!
Und "mysql_real_escape_string" darfst du nur innerhalb der Datenbankabfrage (Datenbankverbindung ist hergestellt) nutzen.
MFG Micha
Oh ich war wohl doch nicht der Erste :D
Beitrag zuletzt geändert: 8.1.2016 20:07:33 von michaelkoepke -
jetzt sagt der
Parse error: syntax error, unexpected end of file in /home/webpages/lima-city/huaweiy300/default-website/craft_games/login/login.php on line 50
-
Was soll auch das? Habe ich noch nie gesehen ... !!! ENTFERNT !!!
?> <script type="text/javascript"> alert("Sie sind nun eingeloggt"); window.location.href = "seite1.php" </script> <?php
Gib das mit echo ""; aus!
echo '<script type="text/javascript">'; echo 'alert("Sie sind nun eingeloggt");'; echo 'window.location.href = "seite1.php"'; echo '</script>';
MFG Micha
Beitrag zuletzt geändert: 8.1.2016 22:33:04 von michaelkoepke -
michaelkoepke schrieb:
Was soll auch das?
?> <script type="text/javascript"> alert("Sie sind nun eingeloggt"); window.location.href = "seite1.php" </script> <?php
Gib das mit echo ""; aus!
echo '<script type="text/javascript">'; echo 'alert("Sie sind nun eingeloggt");'; echo 'window.location.href = "seite1.php"'; echo '</script>';
Danke das funzt jetzt :D
Doch nicht hier der code
<?php if($_POST) { if(isset($_POST['button']) && $_POST['username'] && $_POST['password']) { $db = "db_294859_1"; $username = mysql_real_escape_string($_POST['username']); $password = mysql_real_escape_string($_POST['password']); $connection = mysql_connect("huaweiy300.lima-db.de:3306", "zensiert", "zensiert"); if($connection) { $selection = mysql_select_db($db); if($selection) { $query = "SELECT * FROMM account WHERE username = '$username' AND password = '$password'"; $mysql_query = mysql_query($query); $checkuser = mysql_num_rows($mysql_query); if($checkuser) { $_SESSION['username'] = $username; echo '<script type="text/javascript">'; echo 'alert("Sie sind nun eingeloggt");'; echo 'window.location.href = "seite1.php"'; echo '</script>'; } } } else { echo "Bitte fuellen sie alle Felder aus"; } } ?>
hier der fehler
Parse error: syntax error, unexpected end of file in /home/webpages/lima-city/huaweiy300/default-website/craft_games/login/login.php on line 48
Beitrag zuletzt geändert: 8.1.2016 20:13:59 von huaweiy300 -
es fehlt offenbar eine schliessende geschweifte Klammer } am Ende des file. Auf jeden Fall hast du eine öffnende { Klammer mehr als schliessende }...
-
<?php if($_POST) { if(isset($_POST['button']) && $_POST['username'] && $_POST['password']) { $db = "db_294859_1"; $username = mysql_real_escape_string($_POST['username']); $password = mysql_real_escape_string($_POST['password']); $connection = mysql_connect("huaweiy300.lima-db.de:3306", "zensiert", "zensiert"); if($connection) { $selection = mysql_select_db($db); if($selection) { $query = "SELECT * FROMM account WHERE username = '$username' AND password = '$password'"; $mysql_query = mysql_query($query); $checkuser = mysql_num_rows($mysql_query); if($checkuser) { $_SESSION['username'] = $username; echo '<script type="text/javascript">'; echo 'alert("Sie sind nun eingeloggt");'; echo 'window.location.href = "seite1.php"'; echo '</script>'; } } } } else { echo "Bitte fuellen sie alle Felder aus"; } } ?>
Vor dem letzten else fehlt die } Klammer -
michaelkoepke schrieb:
Was soll auch das? Habe ich noch nie gesehen ... PHP interpretiert von oben nach unten und führt das aus, was da steht. Du schließt nun mit ?> ab und öffnest wieder <?php, da kommt der Interpreter nicht mit. Die syntax vorher hat der schon wieder vergessen
Wie kommst du auf den Blödsinn? Natürlich kannst du einen Php-Block schließen, Html schreiben und später einen weiteren öffnen. -
avweb schrieb:
es fehlt offenbar eine schliessende geschweifte Klammer } am Ende des file. Auf jeden Fall hast du eine öffnende { Klammer mehr als schliessende }...
michaelkoepke schrieb:
<?php if($_POST) { if(isset($_POST['button']) && $_POST['username'] && $_POST['password']) { $db = "db_294859_1"; $username = mysql_real_escape_string($_POST['username']); $password = mysql_real_escape_string($_POST['password']); $connection = mysql_connect("huaweiy300.lima-db.de:3306", "zensiert", "zensiert"); if($connection) { $selection = mysql_select_db($db); if($selection) { $query = "SELECT * FROMM account WHERE username = '$username' AND password = '$password'"; $mysql_query = mysql_query($query); $checkuser = mysql_num_rows($mysql_query); if($checkuser) { $_SESSION['username'] = $username; echo '<script type="text/javascript">'; echo 'alert("Sie sind nun eingeloggt");'; echo 'window.location.href = "seite1.php"'; echo '</script>'; } } } } else { echo "Bitte fuellen sie alle Felder aus"; } } ?>
Vor dem letzten else fehlt die } Klammer
Danke :D auserdem mache ich das mit Notepad++ ohne interpreter :D
Funzt nicht passiert gar nichts und auch kein error etc. als könnte er nicht auf die mysql tabelle zugreifen
Beitrag zuletzt geändert: 8.1.2016 20:29:21 von huaweiy300 -
muellerlukas schrieb:
michaelkoepke schrieb:
Was soll auch das? Habe ich noch nie gesehen ... PHP interpretiert von oben nach unten und führt das aus, was da steht. Du schließt nun mit ?> ab und öffnest wieder <?php, da kommt der Interpreter nicht mit. Die syntax vorher hat der schon wieder vergessen
Wie kommst du auf den Blödsinn? Natürlich kannst du einen Php-Block schließen, Html schreiben und später einen weiteren öffnen.
OK, habe es gerade selbst probiert und es funktioniert wirklich. Aber so habe ich es noch NIE gesehen. Also nehm ich meine Antwort zurück und lass mich gern eines besseren belehren.
PS: und "Blödsinn" ist das nicht, wenn dann ist es NICHT richtig! -
huaweiy300 schrieb:
Funzt nicht passiert gar nichts und auch kein error etc. als könnte er nicht auf die mysql tabelle zugreifen
Poste doch den aktuellen Stand der Datei nochmal. Vielleich finden wir noch was :-) -
avweb schrieb:
huaweiy300 schrieb:
Funzt nicht passiert gar nichts und auch kein error etc. als könnte er nicht auf die mysql tabelle zugreifen
Poste doch den aktuellen Stand der Datei nochmal. Vielleich finden wir noch was :-)
<?php if($_POST) { if(isset($_POST['button']) && $_POST['username'] && $_POST['password']) { $db = "db_294859_1"; $username = mysql_real_escape_string($_POST['username']); $password = mysql_real_escape_string($_POST['password']); $connection = mysql_connect("huaweiy300.lima-db.de:3306", "zensiert aber richtig", "zensiert aber richtig"); if($connection) { $selection = mysql_select_db($db); if($selection) { $query = "SELECT * FROM accounts WHERE username = '$username' AND password = '$password'"; $mysql_query = mysql_query($query); $checkuser = mysql_num_rows($mysql_query); if($checkuser) { $_SESSION['username'] = $username; ?> <script type="text/javascript"> alert("Sie sind nun eingeloggt"); window.location.href = "seite1.php" </script> <?php } } } } else { echo "Bitte fuellen sie alle Felder aus"; } } ?>
-
Ich verstehe die allererste Bedingung if($_POST) nicht ganz. Ist diese Bedingung überhaupt erfüllt?
Testweise kannst du ja mal folgende Zeile ganz ans Ende setzen:
else { echo 'Bedingung if($_POST) ist gar nicht erfüllt.'; }
Dann weisst du, ob es daran liegt. -
Habe es bei mir getestet, funktioniert.
Zitat von mir selbst:
michaelkoepke schrieb:
...
Und "mysql_real_escape_string" darfst du nur innerhalb der Datenbankabfrage (Datenbankverbindung ist hergestellt)
Sollte funktionieren.
<?php session_start(); // Das brauchst du auf jeder Seite, wo du SESSION verwenden möchtest! $db = "db_294859_1"; // Deine Datenbank $db_user = ""; // Dein Datenbankuser $db_pass = ""; // Dein Datenbankpasswort $db_host = "huaweiy300.lima-db.de"; // Dein Datenbankhost if(isset($_POST['button']) && $_POST['username'] && $_POST['password']) { $connection = mysql_connect($db_host, $db_user, $db_pass); $username = mysql_real_escape_string($_POST['username']); // MUSS innerhalb des SQL-Connect stehen $password = mysql_real_escape_string($_POST['password']); // MUSS innerhalb des SQL-Connect stehen if($connection) { $selection = mysql_select_db($db); if($selection) { $query = "SELECT * FROM accounts WHERE username = '$username' AND password = '$password'"; $mysql_query = mysql_query($query); $checkuser = mysql_num_rows($mysql_query); if($checkuser) { $_SESSION['username'] = $username; echo '<script type="text/javascript">'; echo 'alert("Sie sind nun eingeloggt");'; echo 'window.location.href = "seite1.php"'; echo '</script>'; } } } } else { echo "Bitte fuellen sie alle Felder aus"; } ?>
MFG Micha
Beitrag zuletzt geändert: 8.1.2016 22:31:22 von michaelkoepke -
michaelkoepke schrieb:
Habe es bei mir getestet, funktioniert.
Zitat von mir selbst:
michaelkoepke schrieb:
...
Und "mysql_real_escape_string" darfst du nur innerhalb der Datenbankabfrage (Datenbankverbindung ist hergestellt)
Sollte funktionieren.
<?php session_start(); // Das brauchst du auf jeder Seite, wo du SESSION verwenden möchtest! $db = "db_294859_1"; // Deine Datenbank $db_user = ""; // Dein Datenbankuser $db_pass = ""; // Dein Datenbankpasswort $db_host = "huaweiy300.lima-db.de"; // Dein Datenbankhost if(isset($_POST['button']) && $_POST['username'] && $_POST['password']) { $connection = mysql_connect($db_host, $db_user, $db_pass); $username = mysql_real_escape_string($_POST['username']); // MUSS innerhalb des SQL-Connect stehen $password = mysql_real_escape_string($_POST['password']); // MUSS innerhalb des SQL-Connect stehen if($connection) { $selection = mysql_select_db($db); if($selection) { $query = "SELECT * FROM accounts WHERE username = '$username' AND password = '$password'"; $mysql_query = mysql_query($query); $checkuser = mysql_num_rows($mysql_query); if($checkuser) { $_SESSION['username'] = $username; echo '<script type="text/javascript">'; echo 'alert("Sie sind nun eingeloggt");'; echo 'window.location.href = "seite1.php"'; echo '</script>'; } } } } else { echo "Bitte fuellen sie alle Felder aus"; } ?>
MFG Micha
Cool Das Funzt
Danke dass du dir die mühe gemacht hast das zu überarbeiten/neuschreiben
Muss jetzt nur noch das logout Formular machen
Würde dir ne positive bewertung geben jann ich aber noch nicht aber willst du nen keks
MFG huaweiy300
#EDIT
Post kann geschlossen werden
Beitrag zuletzt geändert: 8.1.2016 23:28:29 von huaweiy300 -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage