unexpected $end ,warum ?

Brom

Gummibärchen
13 Januar 2007
656
69
also ich hab mal ein scheiss login script gemacht nur so zum test :
ich hab einfach alles in txt dateien gespeichert :

login2.php :

PHP:
<?php
include ("pw1.txt") ;
include ("pw.txt") ;
include ("pw2.txt") ;
?>

so pw1.txt :
Code:
<?php
$passwort = $_POST["passwort"];

if( ($passwort=="tester")

pw.txt : diese wird bei der anmeldung beschrieben:

Code:
OR
	($passwort=='test')

pw2.txt :
Code:
	            OR
    ($passwort=="ws-admin") )
   {
    header("Location: member.php");
   }
else
   {
   header("Location: login3.php");
   }
?>

zusammen müsste da dann doch :

PHP:
<?php
$passwort = $_POST["passwort"];

if( ($passwort=="tester")
                   OR
	($passwort=='test')
	            OR
    ($passwort=="ws-admin") )
   {
    header("Location: member.php");
   }
else
   {
   header("Location: login3.php");
   }
?>

aber php meldet error beim einloggen

Parse error: syntax error, unexpected $end in /home/www/web1/html/pw1.txt on line 4

wie muss ich das machen damit der keinen error meldet ??

und kommt bitte nicht mir scheiss script hab ich ja schon gesagt ist nur son test
 
Zuletzt bearbeitet:
Sowas wie if( ($passwort=="tester") ist kein abgeschlossener Befehl. Was du vor hast (Vervollständigung per include), funktioniert so nicht. Wenn schon unbedingt das Passwort in der pw.txt gespeichert werden soll, warum speicherst du da dann nicht nur das Passwort? Dann kannst du das einfach einlesen und ohne irgendwelche seltsamen Konstrukte überprüfen.

Was deinem versuch am nächsten käme, wäre eine Lösung mit eval(), aber es gibt nicht den geringsten Grund, das zu verwenden.
 
ne warum ich das machen will ist der :

bei der anmeldeung wird folgendes in die txt gespeichert
OR
($passwort=='pwdesusers')

bei der nächsten amledung sieht das dann so aus :

OR
($passwort=='pw')
OR
($passwort=='pw2')



so woll ich da halt machen


mfg
 
Na schreib doch nur die Passwörter in eine Datei

Code:
Passwort1
Passwort2
..
Passwort49

Und dann bekommst du die mit
PHP:
$passwoerter = explode("\n", file_get_contents('passwort.txt'));

und prüfst das dann mit
PHP:
if (in_array($eingabe, $passwoerter)){
//...
}

Alles andere macht nur unsinnige Verwirrung und Fehler :wall:
 
sry ich versteh das noch nicht soganz kannst du mal den letzten code ganz posten ?? bitte

mfg ich
 
Wie den letzten Code? Kommt doch ganz drauf an, was du mit dem Ergebnis aus der in_array() Funktion anfangen willst :-? 8O

PHP:
if (in_array($eingabe, $passwoerter)){
  // Was auch immer du machen möchtest, falls die Eingabe mit einem der Passwörter übereinstimmt
  /*z.B.:*/ echo 'Die Passworteingabe war richtig, die gesuchte Antwort ist 42';
} else {
  // Was auch immer du machen möchtest, falls die Eingabe mit KEINEM der Passwörter übereinstimmt
  /*z.B.:*/ echo 'Die Passworteingabe war leider falsch';
}