#1 29. Januar 2011 if problem Also, ich bin mich zur Zeit etwas in PHP etc. am einarbeiten.... Im Moment bin ich mit einem Login dran, und plötzlich taucht folgendes problem auf, diese beiden codes habe ich #login.php Code: <form action="check.php" method="post"> <p>Geben Sie hier Ihren Benutzernamen ein:</p> <input type="text" name="Benutzer"> <p>Geben Sie hier Ihr Kennwort ein:</p> <input type="password" name="Kennwort"> <br><br> <input type="submit" value="Absenden"> </form> #check.php Code: <?php // Passwortschutz mit PHP if ($_POST["Benutzer"] == "User1" && $_POST["Kennwort"] == "kennwort1") { echo hallo; } else { echo '<a href="login.php"?>Sorry, bitte noch mal versuchen!</a?>'; } ?> das klappt auch wirklich wunderbar ! wie ichs mir gewünscht habe, nur würde ich jetzt gerne mehrere "accounts" haben, und damit quasi mehrere sachen abfragen lassen ich hab mir das so vorgestellt Code: if(benutzer == "user1" && kennwort == "kennwort1" || benutzer == "user2" && kennwort == "kennwort2") { ..........} was ich versucht habe so zu lösen Code: <?php // Passwortschutz mit PHP if ($_POST["Benutzer"] == "User1" && $_POST["Kennwort"] == "kennwort1" || $_POST["Benutzer"] == "User2" && $_POST["Kennwort"] == "kennwort2") was aber nicht klappt , aber ziemlich ärgerlich ist weil ich keine lust habe zwanzigtausendmilliarendenquadrillionen elseifs zu machen , weshalb ich euch frage (was ein satz) also? danke im vorraus + Multi-Zitat Zitieren
#2 30. Januar 2011 AW: if problem PHP: <? php $accounts = array( 'hans' => '1234' , 'peter' => '5678' ); if( array_key_exists ( $_POST [ 'Benutzer' ], $accounts ) && $accounts [ $_POST [ 'Benutzer' ]] === $_POST [ 'Kennwort' ]) { // login } else { // fehler } + Multi-Zitat Zitieren
#3 30. Januar 2011 AW: if problem Entweder du machst es wie Murdoc es gepostet hat, was das ganze auch übersichtlicher macht.. Oder du machst es wie in der Mathematik Du setzt Klammern in deiner Bedingung! PHP: <? php // Passwortschutz mit PHP if ( ( $_POST [ "Benutzer" ] == "User1" && $_POST [ "Kennwort" ] == "kennwort1" ) || ( $_POST [ "Benutzer" ] == "User2" && $_POST [ "Kennwort" ] == "kennwort2" ) ) Dann klappts auch mit mehreren Usern =) + Multi-Zitat Zitieren
#4 30. Januar 2011 AW: if problem also schonmal danke für eure antworten nur tritt bei beiden ein fehler auf, es kommt nix raus .... also weder wenn ich richtige namen und passwörter eingebe, noch falsche, kommt keine fehlermeldung geschweigedenn eine bestätigung .... ?( hab beide hochgeladen... nicht funktioniert.... schaut von mir aus selber Murdocs Version: http://ulknudel.ohost.de/login.php Erazors Version: http://ulknudel.ohost.de/login2.php + Multi-Zitat Zitieren
#5 30. Januar 2011 AW: if problem 1. "www." aus den URL´s entfernen, sonst findet er die login.php nicht ;D 2. hast du Murdoc´s Kommentar (//fehler, //login) auch mit deinem gewünschten Code ersetzt? zeig doch mal am Besten, wie du es umgesetzt hast. + Multi-Zitat Zitieren
#6 30. Januar 2011 AW: if problem Oder lass dir testweise $_POST ausgeben.. PHP: print_r ( $_POST ); in die check.php Dann siehste welche Werte übermittelt wurden.. Evtl findest du dann den Fehler (zB falsch benanntes input-feld oder so) MfG + Multi-Zitat Zitieren
#7 30. Januar 2011 AW: if problem ok jetz hab ichs, 2. frage: wie schreib ich das am besten dass er bestimmte seiten öffnen soll wenn es falsch oder richtig ist? also er soll halt anstatt von echo login; , "open" .../login.php machen..... und dieses "open" such ich gerade, ich habs versucht zu googlen und da hab ich nur fopen gefunden aber das scheints nich wirklich zu sein + Multi-Zitat Zitieren
#8 30. Januar 2011 AW: if problem schau dir mal die funktionen include() und require() an. ansonsten könntest du das auch mit einer weiterleitung machen (à la: sie haben sich erfolgreich angemeldet und werden in x sekunden weitergeleitet. falls keine weiterleitung unterstützt wird, klicken sie bitte hier) + Multi-Zitat Zitieren
#9 30. Januar 2011 AW: if problem Also du kannst das über include machen.. Was allerdings schöner ist, ist es über eine weiterleitung zu machen.. Wie zB auch hier bei RR... Entweder du machst es mit HTML: HTML: <head> <meta http-equiv="refresh" content="5; url=http://www.google.de/"> </head> Wobei 5 die Anzahl an Sekunden bis zur Weiterleitung ist und Google logischerweise deine Adresse... Relative Angaben gehen natürlich auch.. Oder serverseitig per PHP: PHP: header ( 'Location: eingeloggt.php' ); Da musst du allerdings drauf achten, dass vorher keine Ausgabe stattgefunden hat.. Sonst kommt nen Fehler, da das über den HTTP-Header geleitet wird! MfG + Multi-Zitat Zitieren
#10 30. Januar 2011 AW: if problem und wie sag ich ihm dann das er den html code ausführen soll ? also echo bringt dann ja nichts mehr also was muss ich anstelle von echo schreiben? also <?php $accounts = array( 'hans' => '1234', 'peter' => '5678' ); if(array_key_exists($_POST['Benutzer'], $accounts) && $accounts[$_POST['Benutzer']] === $_POST['Kennwort']) { gesucht <html><head><meta http-equiv="refresh" content="5;url=http://www.google.de/"> </head><body> Sie werden in 5 sek weitergeleitet</body></html> ; } else { // fehler } + Multi-Zitat Zitieren
#11 30. Januar 2011 AW: if problem PHP: <? php $accounts = array( 'hans' => '1234' , 'peter' => '5678' ); if( array_key_exists ( $_POST [ 'Benutzer' ], $accounts ) && $accounts [ $_POST [ 'Benutzer' ]] === $_POST [ 'Kennwort' ]) { echo '<html><head><meta http-equiv="refresh" content="5;url=http://www.google.de/"> </head><body> Sie werden in 5 sek weitergeleitet</body></html>' ;} else { // fehler } Du brauchst weiterhin dafür echo.. Du kannst das ganze dann entweder so mit echo ausgeben echo "<a href=\"test\">"; oder aber so echo '<a href="test">'; Der Unterschied ist, dass du im ersten jetzt einfach mit Variablen arbeiten kannst sprich test durch z.B. $test ersetzen kannst, was mit ' nicht direkt so geht. Edit:// °EraZoR° okay die möglichkeit gibt es auch noch. Die dachte ich ist aber selbstverständlich. ^^ + Multi-Zitat Zitieren
#12 30. Januar 2011 AW: if problem Weiß nicht wie das bei PHP-Profis (Murdoc ) angesehen ist, aber was du auch machen kannst ist folgendes: PHP: <? php $accounts = array( 'hans' => '1234' , 'peter' => '5678' ); if( array_key_exists ( $_POST [ 'Benutzer' ], $accounts ) && $accounts [ $_POST [ 'Benutzer' ]] === $_POST [ 'Kennwort' ]) { ?> <html><head><meta http-equiv="refresh" content="5;url=http://www.google.de/"> </head><body> Sie werden in 5 sek weitergeleitet</body></html> <?php } else { // fehler } Hat den Vorteil, dass du nicht mit dem auskommtieren von " oder ' rumhantieren musst.. Bei dem bisschen HTML-Code ist es vllt noch nicht so nützlich, aber wenn du mehr hast (speziell JavaScript-Code, wo nochmal genug ' und " vorkommen), dann erleichtert das schon die Arbeit um einiges! + Multi-Zitat Zitieren
#13 30. Januar 2011 AW: if problem ich hab jetzt diese variante benutzt Code: <?php $accounts = array( 'User1' => 'kennwort1', 'User2' => 'kennwort2' ); if(array_key_exists($_POST['Benutzer'], $accounts) && $accounts[$_POST['Benutzer']] === $_POST['Kennwort']) { echo "<a href=\"index.php\">"; } else { echo fehler; } ?> dieser php code und index.php befinden sich im selbern verzeichnis, aber es will nicht klappen ?( also es kommt nur eine blanke seite das selber passiert bei der anderen variante, und bei erazors funktioniert garnichts mehr, also selbst die fehlermeldung bei falschen eingaben wird nicht mehr angezeigt + Multi-Zitat Zitieren
#14 30. Januar 2011 AW: if problem -.- PHP: <? php $accounts = array( 'User1' => 'kennwort1' , 'User2' => 'kennwort2' ); if(!empty( $_POST )) { $user = $_POST [ 'Benutzer' ]; $pass = $_POST [ 'Kennwort' ]; if(isset( $accounts [ $user ]) && $accounts [ $user ] == $pass ) { // login erfolgreich print 'login erfolgreich' ; } else { // login fehlerhaft print 'login fehlerhaft' ; }} else { // kein login print 'bitte einloggen' ;} ?> + Multi-Zitat Zitieren
#15 30. Januar 2011 AW: if problem öh du hast dir aber schon mein jetziges problem angeschaut oder? ich seh da irgendwie keine velrinkung zu ner anderen php datei? + Multi-Zitat Zitieren
#16 30. Januar 2011 AW: if problem das schaffst du auch alleine, ich glaub an dich wenn einem ständig gesagt wird was man machen soll (und das ggf. nicht versteht) verliert man doch die lust und den überblick. mit ein wenig eigeninitiative und google sollte das gut von der hand gehen. + Multi-Zitat Zitieren
#17 30. Januar 2011 AW: if problem Ich geb dir nen Tipp.. Deine Seite ist leer, weil du auch nix ausgibst.... SELFHTML: HTML/XHTML / Verweise (Links) / Verweise definieren und gestalten Der Link den du erzeugst ist leer... Außerdem macht nen einfacher Link noch lange keine Weiterleitung.. + Multi-Zitat Zitieren
#18 31. Januar 2011 AW: if problem yai, murdoc glaubt an mich , es funktioniert jetzt sogar ! jetzt gibt es nur noch die kleinigkeiten zu klären und dann kommt warscheinlich ( nachdem ich mich zunächst selbst versuchen werde, wieder so ne bomben frage ) aber zunächst das kleinvieh ^^ wie kann ich jetzt auf der seite für den true wert sowas schreiben lassen : Vielen Dank für deine Anmeldung """"Benutzer"""" also das er quasi anstatt Benutzer , den für $user eigegebenen namen schreibt, das sollte nicht so schwer sein oder? + Multi-Zitat Zitieren
#19 31. Januar 2011 AW: if problem Printe dir die $user. Solangsam solltest du bisschen 1+1 zusammen rechnen lernen ^^ PHP: echo "Vielen Dank für deine Anmeldung, $user " ; + Multi-Zitat Zitieren
#20 31. Januar 2011 AW: if problem am besten du lernst zunächst mal die grundlagen. über google findest du nen haufen tutorials usw. + Multi-Zitat Zitieren
#21 31. Januar 2011 AW: if problem Jaja ich bin noch ziemlich am Anfang, aber ich les mir schon im Internet selber was durch bevor ich hier Nachfrage nur jetzt brauch ich das was ich Frage "jetzt" ... Und es ist ja nicht so das ich Hackers nicht vorher schon probiert kann, So weit kann ich auch noch denken, nur was wenn das nicht klappt? watch it: PHP: <? php $accounts = array( 'User1' => 'kennwort1' , 'User2' => 'kennwort2' ); if(!empty( $_POST )) { $user = $_POST [ 'Benutzer' ]; $pass = $_POST [ 'Kennwort' ]; if(isset( $accounts [ $user ]) && $accounts [ $user ] == $pass ) { // login erfolgreich echo '<html><head><meta http-equiv="refresh" content="3;url=index28.php"> </head><body>Danke für ihre Anmeldung, $user !</a></body></html>' ; } else { // login fehlerhaft print 'login fehlerhaft' ; } } else { // kein login print 'bitte einloggen' ; } ?> http://ulknudel.ohost.de/login.php + Multi-Zitat Zitieren
#22 31. Januar 2011 AW: if problem Denk an die unterschiede zwischen " und ' Ich zitiere: PHP: echo '<html><head><meta http-equiv="refresh" content="3;url=index28.php"> </head><body>Danke für ihre Anmeldung, ' . $user . ' !</a></body></html>' ; + Multi-Zitat Zitieren
#23 1. Februar 2011 AW: if problem Anders gesagt: PHP: $user = "unselbststaendig.." echo $user ; // gibt _unselbststaendig.._ aus echo "Benutzer: $user " ; // gibt _Benutzer: unselbststaendig.._ aus echo 'Benutzer: $user' ; // gibt _Benutzer: $user_ aus echo 'Benutzer: ' . $user ; // gibt _Benutzer: unselbststaendig.._ aus + Multi-Zitat Zitieren