Quellcode-Problem: unexpected $end
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
code
datei
demo
deuten
ergebnis
fehler
frage
geschickter code
header
hindernis
http
index
information
klammern
klarere struktur
login
operation
speichern
suchmaschine
verzweigung
-
Ich habe 4 Datei die ein kleines Memberskript darstellen sollen
*index.htm
*teil2.php
*kuesta.php
*demo.php
Das problem ist das in der datei teil2.php in der letzten zeile ein fehler ist.
Parse error: syntax error, unexpected $end in C:\xampplite\htdocs\login\teil2.php on line 26
Die Datein:
index.htm
<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <meta name="GENERATOR" content="Microsoft FrontPage 4.0"> <title>Untitled </title> </head> <body bgcolor="#000000" text="#C0C0C0"> <h1 align="center">Login</h1> <form action="teil2.php" method="post"> <p>Benützername:<input type="text" size="20" name="user"></p> <p>Passwort:<input type="password" size="20" name="passwort"></p> <p><input type="submit" name="B1" value="Login"></p> </form> </body> </html>
teil2.php
/* Bearbeitung des empfangenem Dies sind nur demoseiten!!!*/ <?php setcookie("password","$password",0); ?> <?php $user = $_POST['user']; $password = $_POST['password']; if($user == "kuesta") { Header("Location: http://10.0.0.3/login/kuesta.php"); exit(); } else { if($user == "demo") { Header("Location: http://10.0.0.3/login/demo.php"); exit(); } else { echo "Falscher Benützername oder Passwort!"; } ?>
kuesta.php
/* Kuesta Dies sind nur demoseiten!!!*/ <?php $password = $_COOKIE["$password"]; ?> <?php if($password == "andijyxn") { echo "Willommen Kuesta!" } else { echo "Falscher Benützername oder Passwort!"; } ?>
demo.php
/* Demo Dies sind nur demoseiten!!!*/ <?php $password = $_COOKIE["$password"]; ?> <?php if($password == "demo") { echo "Willommen Demo!" } else { echo "Falscher Benützername oder Passwort!"; } ?>
Eine andere Frage:
Kann man php variablen in cookis speichern?
Vielen Dank im Vorraus
mfg kuesta
Ps: Bin noch ein totaler Anfängewr in PHP -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Mach es doch nicht so kompliziert... ;)
Lies mal die Fehlermeldung. Die kannst du dann, wenn du sie nicht deuten kannst, einer Suchmaschine leihen, die dir mehrere schöne Ergebnisse von Usern gibt, die vor einem ähnlichen Hindernis standen, wie du... ;)
Dass der Fehler in der teil2.php ist, hast du ja schon erkannt.
"Unexpected $end" bedeutet, dass du eine Operation geöffnet hast (z.B. if, else, while, for, [etc]), aber nicht geschlossen.
In deiner teil2.php hast du 4 öffnende Klammern aber nur drei schließende.
Eine andere Frage:
Kann man php variablen in cookis speichern?
Jo. Schau dir mal die Funktion setcookie() an.
http://de.php.net/setcookie
Denk dran, dass der User Cookies einsehen kann. Speichere also keine sensiblen Daten in Cookies.
Wenn du viele Informationen speichern musst, solltest du auf Sessions zurückgreifen.
gruß
ferdinand24 -
Der Fehler liegt hier:
if($user == "kuesta") { Header("Location: http://10.0.0.3/login/kuesta.php"); exit(); } else { if($user == "demo") { Header("Location: http://10.0.0.3/login/demo.php"); exit(); } else { echo "Falscher Benützername oder Passwort!"; }
Du kannst nich zwei mal else für eine Verzweigung verwenden. Also musst du das so machen:
if($user == "kuesta") { Header("Location: http://10.0.0.3/login/kuesta.php"); exit(); } else { if($user == "demo") { Header("Location: http://10.0.0.3/login/demo.php"); exit(); } else { echo "Falscher Benützername oder Passwort!"; } }
Oder noch geschickter:
if($user == "kuesta") { Header("Location: http://10.0.0.3/login/kuesta.php"); exit(); } elseif($user == "demo") { Header("Location: http://10.0.0.3/login/demo.php"); exit(); } else { echo "Falscher Benützername oder Passwort!"; }
Deine doch recht komische Schreibweise habe ich einfach mal angepasst, um die eine klarere Struktur einzubringen. Dadurch hat man mehr Code auf weniger Zeilen, was vor allem bei längeren Scripten mehr Script auf den Bildschirm bringt.
/Edit: Codetag vergessen
Beitrag geändert: 30.11.2008 2:43:33 von trueweb -
Ok danke es hat funktioniert aber jetzt gibt er immer den else teil an
<?php $password = $_COOKIE["$password"]; ?> <?php if($password == "andijyxn") { echo "Willommen Kuesta!"; } else { Header("Location: http://10.0.0.3/login/falsch.html"); exit(); } ?> <h1>Hallo Kuesta</h1>
falsch.htm
<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <title>Untitled </title> </head> <body bgcolor="#000000" text="#FF0000"> <h1 align="center">Falsches Password oder Benützername</h1> <p align="center"> </p> <p align="center">Zum erneuten <a href="http://10.0.0.3/login/index.htm">Login</a></p> </body> </html>
Beitrag geändert: 30.11.2008 14:21:34 von kuesta -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage