Portal > Foren > PHP > PHP-Programmierung > Anderes Prob mit Bens Login-Tut: Parse Error in validateLogin
Antwort
 
Themen-Optionen Thema durchsuchen
Alt 14.10.2005, 13:52 Nach oben    #1
Neuer Benutzer
 
Registriert seit: 14.10.2005
Ort: Erlangen
Beiträge: 2
Standard Anderes Prob mit Bens Login-Tut: Parse Error in validateLogin

Hi Leute!

Erstmal vielen Dank an die vielen Freaks, die sich die Mühe machen uns Absolute Beginners weiterzuhelfen!

Auch ich hab mich auf Bens Login-Tut gestürzt und die ersten Hürden (das übliche "Header already sent"-Problem) sind übersprungen.
Jetzt hab ich aber ein Prob, das (laut Forensuche) vor mir offensichtlich noch keiner hatte: Wenn die "validateLogin.inc.php" geladen wird, bekomme ich einen Parse Error!
Ich hab die Datei genau wie im Tut aufgebaut (nur mit meinen Variablen für Namen und Passwort

PHP-Code:
session_start();
if (isset(
$_POST['name']), ($_POST['pwd']) 
Jake ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 14.10.2005, 13:55 Nach oben    #2
Chrisplayer
Gast
 
Beiträge: n/a
Standard

"Vielen Freaks" *g? Nun gut

Also wenn du eigene Variabeln benutzt, kann es unter Umständen sein,
dass du in einer Datei nicht konsequent über die POST-Variabeln auf
deine umgeschrieben hast, sodass da Unstimmigkeiten vorfallen.
 
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 14.10.2005, 14:11 Nach oben    #3
Benutzer
 
Benutzerbild von Niedi
 
Registriert seit: 05.09.2005
Ort: Ostarrichi
Beiträge: 51
Standard

du hast eine klammer zu wenig beim if

mfg niedi
__________________
-_- -_- -_- -_- -_- -_- -_- -_- -_- -_- -_- -_- -_-
Niedi ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 14.10.2005, 15:08 Nach oben    #4
Lutz
 
Benutzerbild von MrNiceGuy
 
Registriert seit: 14.08.2005
Ort: Nienburg / Weser
Beiträge: 684
Standard

Der Fehler ist nicht die fehlende Klammer, sondern die falsche Syntax-Logik.

Du versuchst durch ein Komma zu sagen, dass das isset () auf beide Variablen anzuwenden ist, das ist aber so nicht möglich. Richtig wäre:

PHP-Code:
session_start ();
if (isset (
$_POST['name']) === TRUE
&& isset ($_POST['pwd']) === TRUE)
{
  
/* Ja, beide sind gesetzt */

Du musst isset für jede Variable einzeln angeben und die beiden Bedingungen mit einem logischen AND verknüpfen (das ist das '&&').

Eine ander Alternative soll es zwar noch geben, die finde ich aber eher unpraktisch und von der Syntax her unlogisch, deswegen werde ich hier auch nicht näher darauf eingehen.

http://www.php.net/isset
__________________
Paradox ist, wenn jemand für seinen Alkoholkonsum geradestehen soll
MrNiceGuy ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 14.10.2005, 15:26 Nach oben    #5
Neuer Benutzer
 
Registriert seit: 14.10.2005
Ort: Erlangen
Beiträge: 2
Standard

Sorry Leute! War noch nicht mit Tippen fertig, als mir der Fehler aufgefallen ist, hab dann einfach das Fenster mit dem Post geschlossen. Warum das trotzdem hier eingetragen wurde... k.a. Trotzdem danke für die Mühe!
Der Fehler war, wie MrNiceGuy geschrieben hat, ein Klammernproblem. So ists auch richtig:
PHP-Code:
if (isset($_POST['name'], $_POST['pwd']) {
...

Wenn man nicht richtig abtippen kann...

Geändert von Jake (14.10.2005 um 15:29 Uhr).
Jake ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 14.10.2005, 15:28 Nach oben    #6
Benutzer
 
Benutzerbild von Niedi
 
Registriert seit: 05.09.2005
Ort: Ostarrichi
Beiträge: 51
Standard

aehm

PHP-Code:
if (isset($_POST['name'], $_POST['pwd'])) 
die findest du unlogisch? oder was meintest du?
__________________
-_- -_- -_- -_- -_- -_- -_- -_- -_- -_- -_- -_- -_-
Niedi ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 14.10.2005, 15:37 Nach oben    #7
Lutz
 
Benutzerbild von MrNiceGuy
 
Registriert seit: 14.08.2005
Ort: Nienburg / Weser
Beiträge: 684
Standard

Zitat:
Zitat von Niedi
aehm

PHP-Code:
if (isset($_POST['name'], $_POST['pwd'])) 
die findest du unlogisch? oder was meintest du?
Japp, ich finde, dass diese Syntax nicht sauber oder in irgendeiner Weise logisch ist. Ich setze isset für jede Variable einzeln mit && bzw. || dann ist gleich klar, wa sich meine und ich brauche nicht einmal isset mit 3 werten aufrufen und einmal mit einem, weil ich ein || einbauen muss oder dergleichen, es ist in meinen Augen einfach eindeutiger, als dieser eine Befehl.

EDIT: Außerdem auch wesentlich einfacher zu erweitern, sollte man eine IF-Anweisung mal etwas ausdehnen müssen.
__________________
Paradox ist, wenn jemand für seinen Alkoholkonsum geradestehen soll
MrNiceGuy ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 14.10.2005, 17:29 Nach oben    #8
Benutzer
 
Benutzerbild von Niedi
 
Registriert seit: 05.09.2005
Ort: Ostarrichi
Beiträge: 51
Standard

Zitat:
Außerdem auch wesentlich einfacher zu erweitern
du findest deine gepostet lösung einfacher zu erweitern als meine? hrm muss ich das verstehen?

bei meiner muss ich nur ne variable reinhängen. bei deiner musst du das ganze stück mit isset(...) dranhängen + nen vergleichsoperator.. ich finde die kurze form wesentlich übersichtlicher, einfacher und auch platzsparender

najo jeder hat seine richtung

mfg niedi
__________________
-_- -_- -_- -_- -_- -_- -_- -_- -_- -_- -_- -_- -_-
Niedi ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 14.10.2005, 20:49 Nach oben    #9
Lutz
 
Benutzerbild von MrNiceGuy
 
Registriert seit: 14.08.2005
Ort: Nienburg / Weser
Beiträge: 684
Standard

Mit einfacher zu erweitern gehe ich von komplexen Strukturen durch mehrere && und || aus, die es einem erleichtern die ZUsammenhänge der einzelnen Parts zu verstehen, als wenn man die && durch deine Schreibweise zusammenfassen würde. Ich mache einfach C&P und änder dann die Variable, geht bestimmt genauso fix wie wenn du einfach nur ne Variable anhängst, ist alles ne Sache der Übung.

Letztlich ist die Schreibweise mit den mehreren Parametern für isset () eher irreführend, da nicht auf Anhieb erkannt werden kann, was die Funktion eigentlich macht, sofern die Aufgabe der Funktion bei mehreren Parametern unbekannt ist. Man müsste extra wieder nen Blick in das Manual machen. Wenn sowas vermeidbar ist, ist es für mich saubere Programmierung. Aber jeder hat da sicher auch seine eigene kleine Welt. Ich setze auch Backticks in SQL-Commands.
__________________
Paradox ist, wenn jemand für seinen Alkoholkonsum geradestehen soll
MrNiceGuy ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus


Alle Zeitangaben in WEZ +2. Es ist jetzt 17:10 Uhr.


Powered by vBulletin® Version 3.7.3 (Deutsch)
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44