Login (Mit Weiterleitung)
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
ausgabe
beenden
code
datei
datenbank
datum
eingabe
falsch code
fehler
filter
frage
header
http
index
internen bereich
login
part
session
url
weiterleitung
-
Hey, ich habe ein Problem.
Ich habe zu ersten mal ein PHP Script selber geschrieben.
s.php
<?php $passwort = $_POST["passwort"]; if($passwort=="geheim") { echo "Herzlich Willkommen im internen Bereich"; // erst Ausgabe header('Location: index.html'); } else { echo "Das Passwort ist leider falsch"; } ?>
Login.php<title>Geschützter Bereich</title> </head> <body> <form action="s.php" method="post"> Passwort: <input type="password" name="passwort" /><br /> <input type="submit" value="Anmelden" />
Seite: bigbossmonster.tk/login.php
Das Login geht, aber die Weiterleitung geht nicht.
Kann mir jemand helfen.
Gruß LeyUp
Ps. Ich brauche da auch etwas Hilfe: [code]http://www.lima-city.de/thread/upload-ftp -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Hallo,
die Weiterleitung kann nicht funktionieren, da Du bereits zuvor Daten ausgegeben hast (echo"..."). Dieses produziert einen Fehler, welcher Dir mit den Standardeinstellungen aber nicht angezeigt wird. Siehe auch hier ...
Besser ist es auch, Dein Script nach header() mit exit; abzubrechen, um sicherzugehen, dass danach kein Code mehr ausgeführt wird.
if($passwort=="geheim") { header('Location: index.html'); exit; } else { echo "Das Passwort ist leider falsch"; } ?>
Beitrag zuletzt geändert: 10.6.2013 23:35:16 von bvb-fanclub-nr1-in-sundern -
Guten Abend,
das Problem hierbei ist, dass du einen Headereintrag nach einer Ausgabe sendest. Das geht nicht. Der Header wird abgeschlossen sobald die ersten Daten gesendet werden.
Das gleiche Problem hatten wir heute hier:
http://www.lima-city.de/thread/php-header
Du hast drei Möglichkeiten:
Möglichkeit 1:
Bevor du etwas ausgibst (echo, HTML-Part, oder ähnliches) sendest du den Header (
)header('Location: index.html');
Möglichkeit 2:
Deine Ausgabe zu buffern.
Schau mal hier:
http://www.php.net/manual/de/function.ob-start.php
Hier als kurzes Beispiel (ungetestet, kann auch anders sein):
// Ganz zu Anfang ob_start(); // .. Design // .. Seiteninhalt // .. Design // Ganz am Ende ob_end_flush();
Möglichkeit 3:
Eine alternative Weiterleitung, wie zum Beispiel mit JavaScript
Beitrag zuletzt geändert: 10.6.2013 23:35:55 von fabi755 -
fabi755 schrieb:
Guten Abend,
das Problem hierbei ist, dass du einen Headereintrag nach einer Ausgabe sendest. Das geht nicht. Der Header wird abgeschlossen sobald die ersten Daten gesendet werden.
Das gleiche Problem hatten wir heute hier:
http://www.lima-city.de/thread/php-header
Du hast drei Möglichkeiten:
Möglichkeit 1:
Bevor du etwas ausgibst (echo, HTML-Part, oder ähnliches) sendest du den Header (
)header('Location: index.html');
Möglichkeit 2:
Deine Ausgabe zu buffern.
Schau mal hier:
http://www.php.net/manual/de/function.ob-start.php
Hier als kurzes Beispiel (ungetestet, kann auch anders sein):
// Ganz zu Anfang ob_start(); // .. Design // .. Seiteninhalt // .. Design // Ganz am Ende ob_end_flush();
Möglichkeit 3:
Eine alternative Weiterleitung, wie zum Beispiel mit JavaScript
Oh, ich hab alle 3 Möglichkeiten ausprobiert, aber irgendwie ging keins von denen.
Weder Java als auch die anderen.
<?php $passwort = $_POST["passwort"]; if($passwort=="geheim") { echo "Herzlich Willkommen im internen Bereich"; // erst Ausgabe setTimeout("self.location.href='index.html'",2000); } else { echo "Das Passwort ist leider falsch"; } ?>
Gruß LeyUp -
Oh, ich hab alle 3 Möglichkeiten ausprobiert, aber irgendwie ging keins von denen.
Möglichkeit 1:
// Hier darf [u]nichts[/u] ausgegeben werden (HTML -> außerhlab von <?php ?> oder per echo) $passwort = $_POST["passwort"]; if($passwort=="geheim") { header('Location: index.html'); // Header [u]vor[/u] Ausgabe // Wird meist nicht lesbarsein (außer: Weiterleitung wird nicht vom Browser vorgenommen) echo "Herzlich Willkommen im internen Bereich"; // [u]erst dann[/u] Ausgabe } else { echo "Das Passwort ist leider falsch"; }
Möglichkeit 2:
// [u]Anfag[/u] der ersten Datei ob_start(); // Ausgabe Buffern $passwort = $_POST["passwort"]; if($passwort=="geheim") { // Reihenfolge von "Header"-Parts und Ausgaben unwichtig // Wird meist nicht lesbarsein (außer: Weiterleitung wird nicht vom Browser vorgenommen) echo "Herzlich Willkommen im internen Bereich"; // [u]erst dann[/u] Ausgabe header('Location: index.html'); // Header [u]vor[/u] Ausgabe } else { echo "Das Passwort ist leider falsch"; } // [u]Ende[/u] der letzten Datei ob_end_flush(); // Buffern der Ausgabe beenden und Ausgaben ausgeben
Möglichkeit 3:
$passwort = $_POST["passwort"]; if($passwort=="geheim") { echo "Herzlich Willkommen im internen Bereich"; // erst Ausgabe ?> <!-- PHP-Part schließen --> <!-- JavaScript-Part öffnen --> <!-- Bei ausgeschaltetem JavaScript wird dieser Bereich ignoriert!!!! --> <script type="text/javascript"> setTimeout(function() { // Anonyme Funktion aufrufen self.location.href = 'index.html'; // Weiterleitung definieren }, 2000); </script> <!-- JavaScript-Part schließen --> <!-- PHP-Part öffnen --> <?php } else { echo "Das Passwort ist leider falsch"; } ?>
Wenn du Fragen hast, dann frag (kannst auch über eine private Nachricht fragen). Denn nur kopieren hilft dir nicht, dass zu verstehen, es ist wichtig, dass du weißt was du da tust bzw. was der Code bedeutet.
Es gibt überings einen unterschied zwischen Java und JavaScript
Beitrag zuletzt geändert: 11.6.2013 16:12:28 von fabi755 -
fabi755 schrieb:
Oh, ich hab alle 3 Möglichkeiten ausprobiert, aber irgendwie ging keins von denen.
Möglichkeit 1:
// Hier darf [u]nichts[/u] ausgegeben werden (HTML -> außerhlab von <?php ?> oder per echo) $passwort = $_POST["passwort"]; if($passwort=="geheim") { header('Location: index.html'); // Header [u]vor[/u] Ausgabe // Wird meist nicht lesbarsein (außer: Weiterleitung wird nicht vom Browser vorgenommen) echo "Herzlich Willkommen im internen Bereich"; // [u]erst dann[/u] Ausgabe } else { echo "Das Passwort ist leider falsch"; }
Möglichkeit 2:
// [u]Anfag[/u] der ersten Datei ob_start(); // Ausgabe Buffern $passwort = $_POST["passwort"]; if($passwort=="geheim") { // Reihenfolge von "Header"-Parts und Ausgaben unwichtig // Wird meist nicht lesbarsein (außer: Weiterleitung wird nicht vom Browser vorgenommen) echo "Herzlich Willkommen im internen Bereich"; // [u]erst dann[/u] Ausgabe header('Location: index.html'); // Header [u]vor[/u] Ausgabe } else { echo "Das Passwort ist leider falsch"; } // [u]Ende[/u] der letzten Datei ob_end_flush(); // Buffern der Ausgabe beenden und Ausgaben ausgeben
Möglichkeit 3:
$passwort = $_POST["passwort"]; if($passwort=="geheim") { echo "Herzlich Willkommen im internen Bereich"; // erst Ausgabe ?> <!-- PHP-Part schließen --> <!-- JavaScript-Part öffnen --> <!-- Bei ausgeschaltetem JavaScript wird dieser Bereich ignoriert!!!! --> <script type="text/javascript"> setTimeout(function() { // Anonyme Funktion aufrufen self.location.href = 'index.html'; // Weiterleitung definieren }, 2000); </script> <!-- JavaScript-Part schließen --> <!-- PHP-Part öffnen --> <?php } else { echo "Das Passwort ist leider falsch"; } ?>
Wenn du Fragen hast, dann frag (kannst auch über eine private Nachricht fragen). Denn nur kopieren hilft dir nicht, dass zu verstehen, es ist wichtig, dass du weißt was du da tust bzw. was der Code bedeutet.
Es gibt überings einen unterschied zwischen Java und JavaScript
Ok, danke. Es geht.
Was muss ich, aber machen, wenn ich ein mehre Passwörter machen will?
Gruß LeyUp
-
entweder die Daten (Username und Passwort) in Datenbank oder Datei speichern
und bei Login die Kombination aus Username und Passwort auf Korrektheit prüfen
ich empfehle zwar Datenbank (MySQL) ... aber hier mal Beispiel mit Datei
Datei 1: login.php
<?php // ------------------------------------------ $data_file = 'login_data.txt'; chmod($data_file,0100); if (!empty($_POST['user']) && !empty($_POST['upwd'])) { $log_user = trim($_POST['user']); $log_pass = trim($_POST['upwd']); // ---- hier evtl. noch weitere Filter z.B. nur bestimmte Zeiichen zulassen ---- session_start(); $_SESSION['ok_user'] = false; chmod($data_file,0666); $handle = fopen('login_data.txt', 'r'); while (($data = fgetcsv($handle, 1024, ';', '"')) !== FALSE) { // ---- wenn login korrekt dann Session-Variable aanlegen und Weiterleitung ---- if ($data[0] == $log_user && $data[1] == $log_pass) { $_SESSION['ok_user'] = $log_user; header('Location: ok.php'); exit; } } fclose($handle); } chmod($data_file,0100); if (isset($_SESSION['ok_user'])) { $msg = "<p>Fehler .... Login Eingabe war nicht richtig.</p>\n"; session_unset(); session_destroy(); } else { $msg = "<p>Zum Login bitte Username und Passwort eingeben.</p>\n"; } // ------------------------------------------ ?> <html> <head> <title>Login</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> </head> <body bgcolor="#FFFFFF" text="#000000"> <br> <br> <?php print $msg; ?> <br> <form name="form1" method="post" action=""> Username: <input type="text" name="user" size="30" maxlength="100"> <br /> Password: <input type="text" name="upwd" size="30" maxlength="100"> <br> OK ......... <input type="submit" name="go" value="LOGIN"> </form> <br> <br> <br> </body> </html>
Datei 2: login_data.txt
"hansi";"geheim" "tina";"gAnZ gEH3iM" "oscar";"StR3nG%gEh31M"
Datei 2: ok.php
<?php // --------------------------------------------------------- session_start(); if (!empty($_REQUEST['action'])) { $go_action = trim($_REQUEST['action']); } else { $go_action = 'start'; } if ($go_action == 'logout') { session_unset(); session_destroy(); } // --------------------------------------------------------- ?> <html> <head> <title>OK</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> </head> <body bgcolor="#FFFFFF" text="#000000"> <br> <br> <br> <?php // --------------------------------------------------------- if (isset($_SESSION['ok_user']) && !empty($_SESSION['ok_user'])) { print "<p>OK ... erfolgreich eingeloggt als User <strong>".$_SESSION['ok_user']."</strong></p>\n"; // ----------- folgender Teil nur zum Test ... DEBUG --------- print "<br>\n"; print "<br>... DEBUG ...\n"; print "<pre style=\"text-align:left; background:#DEDEDE;\">\n"; print_r($_SESSION); print "</pre>\n"; print "<br>\n"; // ----------------------------------- print "<p>Aktuelle Aktion: .... <strong style=\"font-size:30px;\">".$go_action."</strong></p>\n"; // ---- je nach Aktion hier entsprechende Ausgabe / include / etc... print "<p>Irgendwas machen .... <a href=\"ok.php?action=machen\" style=\"color:blue;\">Mach was</a></p>\n"; print "<p>Session beenden .... <a href=\"ok.php?action=logout\" style=\"color:red;\">User Logout</a></p>\n"; } else { print "<p>Bitte zuerst einloggen .... weiter zum <a href=\"login.php?logout=\">Login Formular</a></p>\n"; } // --------------------------------------------------------- ?> <br> <br> <br> </body> </html>
Prinzip ist, ... wenn Login-Daten = richtig, dann Session-Variable (in login.php) anlegen
auf diese kann man dann in der weiter-geleiteten Datei (hier ok.php) wieder zugreifen
solange die Session läuft, so muss man nicht bei jedem Aufruf Parameter übergeben
PS: das ist nur ein einfaches Beispiel, da kann man noch einiges verbessern,
besonders die User-Formular-Eingabe nicht un-gefiltert durchgehen lassen,
sondern nur bestimmte Zeichen zulassen oder andere String-Filter anwenden
oder auch nicht nur User-Name in Session übergeben, sondern dazu auch noch
einen geheimen (dynamisch erstellten) Code, damit Login noch sicherer wird.
mit Datenbank (MySQL) geht das ähnlich,
da muss man halt einfach die Daten anders "abholen" zur Prüfung gegen User-Eingabe
Beitrag zuletzt geändert: 11.6.2013 17:41:21 von katalogbox -
katalogbox schrieb:
Oh, danke. ;)
entweder die Daten (Username und Passwort) in Datenbank oder Datei speichern
und bei Login die Kombination aus Username und Passwort auf Korrektheit prüfen
ich empfehle zwar Datenbank (MySQL) ... aber hier mal Beispiel mit Datei
Datei 1: login.php
<?php // ------------------------------------------ $data_file = 'login_data.txt'; chmod($data_file,0100); if (!empty($_POST['user']) && !empty($_POST['upwd'])) { $log_user = trim($_POST['user']); $log_pass = trim($_POST['upwd']); // ---- hier evtl. noch weitere Filter z.B. nur bestimmte Zeiichen zulassen ---- session_start(); $_SESSION['ok_user'] = false; chmod($data_file,0666); $handle = fopen('login_data.txt', 'r'); while (($data = fgetcsv($handle, 1024, ';', '"')) !== FALSE) { // ---- wenn login korrekt dann Session-Variable aanlegen und Weiterleitung ---- if ($data[0] == $log_user && $data[1] == $log_pass) { $_SESSION['ok_user'] = $log_user; header('Location: ok.php'); exit; } } fclose($handle); } chmod($data_file,0100); if (isset($_SESSION['ok_user'])) { $msg = "<p>Fehler .... Login Eingabe war nicht richtig.</p>\n"; session_unset(); session_destroy(); } else { $msg = "<p>Zum Login bitte Username und Passwort eingeben.</p>\n"; } // ------------------------------------------ ?> <html> <head> <title>Login</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> </head> <body bgcolor="#FFFFFF" text="#000000"> <br> <br> <?php print $msg; ?> <br> <form name="form1" method="post" action=""> Username: <input type="text" name="user" size="30" maxlength="100"> <br /> Password: <input type="text" name="upwd" size="30" maxlength="100"> <br> OK ......... <input type="submit" name="go" value="LOGIN"> </form> <br> <br> <br> </body> </html>
Datei 2: login_data.txt
"hansi";"geheim" "tina";"gAnZ gEH3iM" "oscar";"StR3nG%gEh31M"
Datei 2: ok.php
<?php // --------------------------------------------------------- session_start(); if (!empty($_REQUEST['action'])) { $go_action = trim($_REQUEST['action']); } else { $go_action = 'start'; } if ($go_action == 'logout') { session_unset(); session_destroy(); } // --------------------------------------------------------- ?> <html> <head> <title>OK</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> </head> <body bgcolor="#FFFFFF" text="#000000"> <br> <br> <br> <?php // --------------------------------------------------------- if (isset($_SESSION['ok_user']) && !empty($_SESSION['ok_user'])) { print "<p>OK ... erfolgreich eingeloggt als User <strong>".$_SESSION['ok_user']."</strong></p>\n"; // ----------- folgender Teil nur zum Test ... DEBUG --------- print "<br>\n"; print "<br>... DEBUG ...\n"; print "<pre style=\"text-align:left; background:#DEDEDE;\">\n"; print_r($_SESSION); print "</pre>\n"; print "<br>\n"; // ----------------------------------- print "<p>Aktuelle Aktion: .... <strong style=\"font-size:30px;\">".$go_action."</strong></p>\n"; // ---- je nach Aktion hier entsprechende Ausgabe / include / etc... print "<p>Irgendwas machen .... <a href=\"ok.php?action=machen\" style=\"color:blue;\">Mach was</a></p>\n"; print "<p>Session beenden .... <a href=\"ok.php?action=logout\" style=\"color:red;\">User Logout</a></p>\n"; } else { print "<p>Bitte zuerst einloggen .... weiter zum <a href=\"login.php?logout=\">Login Formular</a></p>\n"; } // --------------------------------------------------------- ?> <br> <br> <br> </body> </html>
Prinzip ist, ... wenn Login-Daten = richtig, dann Session-Variable (in login.php) anlegen
auf diese kann man dann in der weiter-geleiteten Datei (hier ok.php) wieder zugreifen
solange die Session läuft, so muss man nicht bei jedem Aufruf Parameter übergeben
PS: das ist nur ein einfaches Beispiel, da kann man noch einiges verbessern,
besonders die User-Formular-Eingabe nicht un-gefiltert durchgehen lassen,
sondern nur bestimmte Zeichen zulassen oder andere String-Filter anwenden
oder auch nicht nur User-Name in Session übergeben, sondern dazu auch noch
einen geheimen (dynamisch erstellten) Code, damit Login noch sicherer wird.
mit Datenbank (MySQL) geht das ähnlich,
da muss man halt einfach die Daten anders "abholen" zur Prüfung gegen User-Eingabe
Kann man das auch so machen, dass man mehre Links einbinden kann? Also, wenn ich mich mit A einlogge, dass auf Seite A hingeleitet wird und wenn ich mit B einlogge, dass man auf Seite B hingeleitet wird?
Gruß LeyUp
-
ja klar,
man könnte z.B. in der Datei login_data.txt als dritten Wert die Ziel-Seite nach Login eintragen
"hansi";"geheim";"seite1.php" "tina";"gAnZ gEH3iM";"andere_seite.php" "oscar";"StR3nG%gEh31M";"nirvana.php"
und dann in der login.php einfach auf diese Seite weiter leiten
also $data[2] = der dritte Wert aus login_data.txt ... CSV
chmod($data_file,0666); $handle = fopen('login_data.txt', 'r'); while (($data = fgetcsv($handle, 1024, ';', '"')) !== FALSE) { // ---- wenn login korrekt dann Session-Variable aanlegen und Weiterleitung ---- if ($data[0] == $log_user && $data[1] == $log_pass) { $_SESSION['ok_user'] = $log_user; chmod($data_file,0100); header('Location: '.$data[2].''); exit; } } fclose($handle); }
Wichtig ist auch
das chmod($data_file,0100); noch vor dem header() Befehl zu machen,
damit die Datei login_data.txt auch wieder vor Zugriff geschützt ist !!!
das war in der ersten Version (oben) noch "falsch" ...
-
katalogbox schrieb:
ja klar,
man könnte z.B. in der Datei login_data.txt als dritten Wert die Ziel-Seite nach Login eintragen
"hansi";"geheim";"seite1.php" "tina";"gAnZ gEH3iM";"andere_seite.php" "oscar";"StR3nG%gEh31M";"nirvana.php"
und dann in der login.php einfach auf diese Seite weiter leiten
also $data[2] = der dritte Wert aus login_data.txt ... CSV
chmod($data_file,0666); $handle = fopen('login_data.txt', 'r'); while (($data = fgetcsv($handle, 1024, ';', '"')) !== FALSE) { // ---- wenn login korrekt dann Session-Variable aanlegen und Weiterleitung ---- if ($data[0] == $log_user && $data[1] == $log_pass) { $_SESSION['ok_user'] = $log_user; chmod($data_file,0100); header('Location: '.$data[2].''); exit; } } fclose($handle); }
Wichtig ist auch
das chmod($data_file,0100); noch vor dem header() Befehl zu machen,
damit die Datei login_data.txt auch wieder vor Zugriff geschützt ist !!!
das war in der ersten Version (oben) noch "falsch" ...
Irgendwie geht das nicht so richtig, also die Weiterleitung geht nicht.
<?php // ------------------------------------------ $data_file = 'login_data.txt'; chmod($data_file,0100); if (!empty($_POST['user']) && !empty($_POST['upwd'])) { $log_user = trim($_POST['user']); $log_pass = trim($_POST['upwd']); // ---- hier evtl. noch weitere Filter z.B. nur bestimmte Zeiichen zulassen ---- session_start(); $_SESSION['ok_user'] = false; chmod($data_file,0666); $handle = fopen('login_data.txt', 'r'); while (($data = fgetcsv($handle, 1024, ';', '"')) !== FALSE) { // ---- wenn login korrekt dann Session-Variable aanlegen und Weiterleitung ---- if ($data[0] == $log_user && $data[1] == $log_pass) { $_SESSION['ok_user'] = $log_user; chmod($data_file,0100); header('Location: '.$data[2].''); exit; } } fclose($handle); } chmod($data_file,0100); if (isset($_SESSION['ok_user'])) { $msg = "<p>Fehler .... Login Eingabe war nicht richtig.</p>\n"; session_unset(); session_destroy(); } else { $msg = "<p>Zum Login bitte Username und Passwort eingeben.</p>\n"; } // ------------------------------------------ ?> <html> <head> <title>Login</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> </head> <body bgcolor="#FFFFFF" text="#000000"> <br> <br> <?php print $msg; ?> <br> <form name="form1" method="post" action=""> Username: <input type="text" name="user" size="30" maxlength="100"> <br /> Password: <input type="text" name="upwd" size="30" maxlength="100"> <br> OK ......... <input type="submit" name="go" value="LOGIN"> </form> <br> <br> <br> </body> </html>
-
Hast du die Ausgabe von Fehlern aktiviert, so wie es hier beschrieben ist? Wenn ja: welchen Fehler bekommst du? Oder bekommst du gar keinen Fehler?
-
skateen schrieb:
Irgendwie geht das nicht so richtig, also die Weiterleitung geht nicht.
also .... damit die Weiterleitung funktioniert,
müssen die Dateien, die in der login_data.txt angegeben sind natürlich auch existieren ...
.... hast Du bei Deinem Test
die Dateien seite1.php und andere_seite.php und nirvana.php vorher erstellt ?!
oder zu welchen "Seiten" Du auch immer weiter-leiten willst je User
wenn die Seite, zu der weiter-geleitet werden soll, nicht existiert, dann kann's auch nicht gehen :xD
Tipp:
nimm einfach die ok.php und speichere diese als ok1.php, ok2.php und ok3.php
und trage in die login_data.txt diese Seiten als Weiterleitungs-Ziel ein
.... und nimm zum Testen evtl. auch einfachere Passwörter :)
Datei: login_data.txt
"hansi";"geheim";"ok1.php" "tina";"doof";"ok2.php" "oscar";"honigbiene";"ok3.php"
evtl kannst Du jeweils noch den <title> ändern und eine <h1> Überschrift einfügen,
damit man gleich sieht, zu welchr Seite um-geleitet wurde
Ausschnitt der Datei: ok1.php
... und bei ok2.php und ok3.php entsprechend mit "Seite 2" / "Seite 3" angepasst
... // --------------------------------------------------------- ?> <html> <head> <title>OK Seite 1</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> </head> <body bgcolor="#FFFFFF" text="#000000"> <br> <h1>OK Seite 1</h1> <br> <?php // --------------------------------------------------------- ...
bei ok2.php dann eben mit
und bei ok3.php mitOK Seite 2
... je zwei malOK Seite 3
PS: weiter unten muss man auch noch 2 Links anpassen, (mach was / logout)
von ... href="ok.php?... jeweils mit der Zahl dazu ... .. href="ok1.php?... .. href="ok2.php?... usw.
Wenn die Dateien existieren, zu denen weiter-geleitet wird, dann klappt es auch,
... ich habe es sogar mal getestet, und es ging 1A
Beitrag zuletzt geändert: 12.6.2013 19:17:58 von katalogbox -
if ($data[0] == $log_user && $data[1] == $log_pass) {
Wurde die Variable $data als Array deklariert?
In diesem Codeabschnitt fehlt nämlich $data = array();
-
timebandit schrieb:
Das ist doch innerhalb der
if ($data[0] == $log_user && $data[1] == $log_pass) {
Wurde die Variable $data als Array deklariert?
In diesem Codeabschnitt fehlt nämlich $data = array();
-Schleife, in der die CSV-Datei ausgelesen und in der Variablenwhile
gespeichert wird…$data
Außerdem verstehe ich den Sinn der
-Befehle nicht, da schließlich ein Zugriffsschutz (um den es hier doch geht?) mit einerchmod
-Datei weit besser umgesetzt werden kann..htaccess
-
katalogbox schrieb:
skateen schrieb:
Irgendwie geht das nicht so richtig, also die Weiterleitung geht nicht.
also .... damit die Weiterleitung funktioniert,
müssen die Dateien, die in der login_data.txt angegeben sind natürlich auch existieren ...
.... hast Du bei Deinem Test
die Dateien seite1.php und andere_seite.php und nirvana.php vorher erstellt ?!
oder zu welchen "Seiten" Du auch immer weiter-leiten willst je User
wenn die Seite, zu der weiter-geleitet werden soll, nicht existiert, dann kann's auch nicht gehen :xD
Tipp:
nimm einfach die ok.php und speichere diese als ok1.php, ok2.php und ok3.php
und trage in die login_data.txt diese Seiten als Weiterleitungs-Ziel ein
.... und nimm zum Testen evtl. auch einfachere Passwörter :)
Datei: login_data.txt
"hansi";"geheim";"ok1.php" "tina";"doof";"ok2.php" "oscar";"honigbiene";"ok3.php"
evtl kannst Du jeweils noch den <title> ändern und eine <h1> Überschrift einfügen,
damit man gleich sieht, zu welchr Seite um-geleitet wurde
Ausschnitt der Datei: ok1.php
... und bei ok2.php und ok3.php entsprechend mit "Seite 2" / "Seite 3" angepasst
... // --------------------------------------------------------- ?> <html> <head> <title>OK Seite 1</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> </head> <body bgcolor="#FFFFFF" text="#000000"> <br> <h1>OK Seite 1</h1> <br> <?php // --------------------------------------------------------- ...
bei ok2.php dann eben mit
und bei ok3.php mitOK Seite 2
... je zwei malOK Seite 3
PS: weiter unten muss man auch noch 2 Links anpassen, (mach was / logout)
von ... href="ok.php?... jeweils mit der Zahl dazu ... .. href="ok1.php?... .. href="ok2.php?... usw.
Wenn die Dateien existieren, zu denen weiter-geleitet wird, dann klappt es auch,
... ich habe es sogar mal getestet, und es ging 1A
Danke, jetzt geht es. Fast.
Hab doch ein Problem,
Ich hab das auf meiner Seite aufgebaut, aber irgendwie geht die Weiterleitung nicht.
http://bigbossmonster.tk/login.php
Obwohl der gleiche Code hier auch eingebaut ist.
Hier Funktioniert die Weiterleitung:
http://bigbossmonster.tk/Login/login.php
Nick: LeyUp Pass: Geheim
Beitrag zuletzt geändert: 12.6.2013 22:04:58 von skateen -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage