Automatische Weiterleitung nach Erfolgreichem Login??
Riflehitman
- php
0 wahsaga0 Kuddel0 Riflehitman0 Andreas Korthaus0 Riflehitman0 Vinzenz0 Riflehitman0 Vinzenz
Moin moin erstmal,
Ich habe da nen kleines Prob mit php... php ist für mich etwas neu... also ich bin nicht so der profi wie vielleicht viele hier im Forum.
Es geht um die Weiterleitung auf eine Seite nach Erfolgreichem login.
Ich habe 2 Php Scripts die in einer html datei eingebunden sind. Das erste ist das registrations script. :
$username = $HTTP_POST_VARS["username"];
$password = $HTTP_POST_VARS["passwort"];
$password2 = $HTTP_POST_VARS["passwort2"];
if ($password == $password2)
{
$user_vorhanden = array();
$passwort = md5($password);
$userdatei = fopen ("account.txt","r");
while (!feof($userdatei))
{
$zeile = fgets($userdatei,500);
$userdata = explode("|", $zeile);
array_push ($user_vorhanden,$userdata[0]);
}
fclose($userdatei);
if (in_array($username,$user_vorhanden))
{
echo "Username schon vorhanden <br>
<a href="../register.htm">zurück</a>";
}
else
{
$eintrag ="$username|$passwort";
$userdatei = fopen ("account.txt","a");
fwrite($userdatei, "$eintrag\n");
fclose($userdatei);
echo "$username, Deine Anmeldung war erfolgreich.<p>Du wirst Automatisch Weitergeleitet.<p>Wenn dein Browser dies nicht unterstüzt dann klicke <a href="../user.htm">HIER</a>";
}
}
das script.. und nun möchte ich das man nach erfolgreichem anmelden (das heiß die passwörter stimmten überein) auf eine geschütze seite weitergeleitet werden. Hatte es erst über den Metatag versucht. Aba da wird man dann ja auch weitergeleitet wenn die rgestrierung nicht erfolgreich war. Das selbe habe ich mit dem Login. Dort möchte ich auch nach erfogreichem login auf die gleiche seite weitergeleitet werden. Natürlich auch nur nach dem erfolgreichen login, und nicht nach einem fehlgeschlagenen login.
das login script ist das:
$username = $HTTP_POST_VARS["username"];
$passwort = $HTTP_POST_VARS["password"];
$passwort = md5($passwort);
$log = 0;
$userdatei = fopen ("account.txt","r");
while (!feof($userdatei))
{
$zeile = fgets($userdatei,500);
$userdata = explode("|", $zeile);
if ($userdata[0]==$username and
$passwort==trim($userdata[1]))
{
echo "Deine Anmeldung war erfolgreich.<p>Du wirst Automatisch Weitergeleitet.<p>Wenn dein Browser dies nicht unterstüzt dann klicke <a href="../user.htm">HIER</a>";
$log = 1;
}
}
fclose($userdatei);
if ($log==0)
{
echo "Deine Login Daten Stimmen nicht.";
}
danke schonmal... hoffe ihr könnt mir helfen... naja bin mir sicher.. *g*
viele grüße Phillip
hi,
gruss,
wahsaga
hi,
<img src="/images/03.gif" border="0" alt="">
also... ich möchte wissen wie ich das anstelle das ich nach dem erfolgreichen login an eine und nach fehlgeschlagenen login an eine andere url Automatisch weitergeleitet werde.
eigentlich ganz simpel... naja nur gewusst wie..
das halt für beide script.. einmal bei der regestration und einmal beim login.
Viele grüße Phillip
das login script ist das:
$username = $HTTP_POST_VARS["username"];
$passwort = $HTTP_POST_VARS["password"];
$passwort = md5($passwort);$log = 0;
$userdatei = fopen ("account.txt","r");
while (!feof($userdatei))
{
$zeile = fgets($userdatei,500);
$userdata = explode("|", $zeile);if ($userdata[0]==$username and
$passwort==trim($userdata[1]))
{
header('Location: member.php');
Wenn ich Dich richtig verstanden habe, sollte Dir das weiterhelfen.
Viele Grüße
Kuddel
echo "Deine Anmeldung war erfolgreich.<p>Du wirst Automatisch Weitergeleitet.<p>Wenn dein Browser dies nicht unterstüzt dann klicke <a href="../user.htm">HIER</a>";
$log = 1;
}
}
fclose($userdatei);if ($log==0)
{
echo "Deine Login Daten Stimmen nicht.";
}
ok danke... ich versuche es mal.. also der befehl kommt dann nach dem echo befehl richtig? also statt dem link? naja aba ich brauche ja noch nen 2. link.. also ich möchte ja das es nachher so aussiht. und zwar das man nachher nach fehlgeschlagenem login auf die login page zurück kommt in meinem falle dann index.htm und bei erfolgreichem login nach user.htm.
und das dann beim register. nur das man da zur datei register.htm zurück geleitet wird.
thx
ok danke... ich versuche es mal.. also der befehl kommt dann nach dem echo befehl richtig? also statt dem link? naja aba ich brauche ja noch nen 2. link.. also ich möchte ja das es nachher so aussiht. und zwar das man nachher nach fehlgeschlagenem login auf die login page zurück kommt in meinem falle dann index.htm und bei erfolgreichem login nach user.htm.
und das dann beim register. nur das man da zur datei register.htm zurück geleitet wird.
thx
hmm... war leider nix... also entweder ich bin zu doof das hin zubekommen... da ich in sachen php bissel noob bin.. aba naja dafür lerne ich ja... oda es will wirklich net.. kannst du mir vielleicht mal das script so schreiben das es gehen sollte.. bzw die stelle die ich ändern muss... O.o... bin zz bissel verwirt...
danke im vorraus... Phillip
Hallo!
header('Location: member.php');
Das ist gemäß HTTP-Standard nicht erlaubt und funktioniert wenn überhaupt eher zufällig. Gemäß Standard darf es nicht funktionieren (http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.30).
siehe hier:
http://www.dclp-faq.de/q/q-http-redirect.html
http://de3.php.net/header#AEN31904
@Riflehitman: Du kannst per header() auf eine andere Seite weiterleiten, trotzdem musst Du entweder per Session oder per Cookie oder per HTTP-AUTH dafür sorgen dass Du den User wiedererkennst um dessen Login-Status überprüfen zu können! Das heitß Du musst eine Prüfung auf jeder zu schützenden Seite einbauen, oder den kompletten Login per HTTP-AUTH in eine .htaccess auslagern.
Das: http://www.zend.com/zend/spotlight/sessionauth7may.php ist zwar schon etwas veraltet, aber beschreibt das Prinzip eines sessionbasierten Logins.
Grüße
Andreas
jo... ok... omg... ich weiß im moment weder wie ich das mit der Session, noch wie ich das per Cookie oder mit nem .htaccess machen soll... wie gesagt der bereich php ist für mich ziemlich neu...
aba ich denke mal wenn man die einzelnen seiten was nur 2 oder 3 sind dann einfach per cookie schützt ist es am einfachsten. Nur weiß ich noch nicht wie ich das anstellen soll. Da in dem User Bereich nachher rechungen von Kunden liegen sollen. als so viel wird es also nicht sein. nur weiß ich nicht wie ich das dann in die html datein includen soll. ich denke ich füge das php script einfach in die datei ein und nenne die datei in php um. ist einfach machbar da die seite ja noch komplett neu ist und die seiten noch nirgends verlinkt sind.
Wenn mir jemand helfen dem mit script helfen könnte, damit die seiten geschützt sind würde ich mich sehr freuen.
Mit freundlichen grüßen. phillip
Hallo Riflehitman
aba ich denke mal wenn man die einzelnen seiten was nur 2 oder 3 sind dann einfach per cookie schützt ist es am einfachsten. Nur weiß ich noch nicht wie ich das anstellen soll. Da in dem User Bereich nachher rechungen von Kunden liegen sollen. als so viel wird es also nicht sein. nur weiß ich nicht wie ich das dann in die html datein includen soll. ich denke ich füge das php script einfach in die datei ein und nenne die datei in php um. ist einfach machbar da die seite ja noch komplett neu ist und die seiten noch nirgends verlinkt sind.
Du willst in diesem geschützten Bereich sensible Kundendaten ablegen? Rechnungen sind sensible Daten.
Stelle Dir bitte unter anderem folgende Fragen
Darf irgendjemand diese Daten unautorisiert sehen?
Wenn nein, dann solltest Du bei Deinem Konzept unbedingt den Rat von Andreas befolgen.
Allein dafür lohnt sich bereits der Einsatz von HTTP-Authentifizierung.
Darf Kunde A die Daten von Kunde B sehen?
Wenn nein, überlege Dir ein anderes Konzept, d.h. zeige Kunde A die Rechnungen von Kunde A, bzw. zeige Kunde B die Rechnungen von Kunde B.
HTTP-Authentifizierung (z.B. über .htaccess) allein reicht dafür nicht aus. Du musst noch eine Logik dahinter schalten, die jedem einzelnen Kunden seine Daten präsentiert. Eine Möglichkeit dafür wäre der Einsatz einer Datenbank.
Freundliche Grüsse,
Vinzenz
HTTP-Authentifizierung (z.B. über .htaccess) allein reicht dafür nicht aus. Du musst noch eine Logik dahinter schalten, die jedem einzelnen Kunden seine Daten präsentiert. Eine Möglichkeit dafür wäre der Einsatz einer Datenbank.
jo ich wollte es ja uhrsprünglich mittels einer db machen. nur habe ich selber net die php kenntnisse dafür... ich war ja schon super froh das ich den jetzigen login mittels einiger tutorials hinbekommen habe. wenn ich nur jemanden hätte der mir dabei hilft bzw mir nen tutorial gibt mit dem ich mir das dann selber zusammen schreiben kann wäre ich glcklich. da es ja letzen endes soaussehen muss das jeder kunde sich mit seinem persönlichen login anmelden kann um dann nur seine rechungen einzusehen. es wäre auch nicht möglich das jeder kunde alle rechungen siht da es allein auf einen monat gesehen schon viel zuviele wären.
wenn mir da jemand weiter helfen kann, bei der realiesierung des scriptes. ein genaues tutorial würde mir da ja schon sehr sehr helfen.
Mit freundlichen grüßen phillip. würde mich total über etwas hilfe freuen.
Hallo Riflehitman
jo ich wollte es ja uhrsprünglich mittels einer db machen. nur habe ich selber net die php kenntnisse dafür...
Dazu benötigst Du in erster Linie Datenbankkenntnisse, insbesondere Kenntnisse von SQL, idealerweise des SQL-Dialekts, dass das Dir zur Verfügung stehende DBMS verwendet. Sehr viele Provider bieten die Kombination von apache, PHP und MySQL an. Da Du Dein Projekt mit PHP realisieren willst, kommst Du um PHP-Kenntnisse nicht herum. Als Einstieg empfehle ich Dir
das PHP-Handbuch http://de.php.net/manual/de/index.php
- speziell das Tutorial http://de.php.net/manual/de/tutorial.php
- HTTP-Authentifizierung http://de.php.net/manual/de/features.http-auth.php
- die MySQL-Funktionen http://de.php.net/manual/de/ref.mysql.php
das MySQL-Handbuch http://www.mysql.com/doc/de/
- das Tutorial http://www.mysql.com/doc/de/Tutorial.html
die FAQ der Newsgroup de.comp.lang.php.* http://www.dclp-faq.de/index.html
- den Abschnitt Datenbanken http://www.dclp-faq.de/ch/ch-databases.html
- Formulare http://www.dclp-faq.de/ch/ch-webvariablen.html
- Sicherheit http://www.dclp-faq.de/ch/ch-security.html
... da es ja letzen endes soaussehen muss das jeder kunde sich mit seinem persönlichen login anmelden kann um dann nur seine rechungen einzusehen.
Du hast Dir Gedanken um die Logik gemacht, prima:
Abhängig vom Login werden benutzerspezifische Daten angezeigt.
Eine Datenbank ist nicht die einzig mögliche Technik, Dein Ziel zu realisieren.
es wäre auch nicht möglich das jeder kunde alle rechungen siht da es allein auf einen monat gesehen schon viel zuviele wären.
Webseiten können viel Inhalt aufnehmen, es dauert ggf. lange, bis die Seite geladen ist.
wenn mir da jemand weiter helfen kann, bei der realiesierung des scriptes. ein genaues tutorial würde mir da ja schon sehr sehr helfen.
Ich habe Dir oben einiges an Lesestoff an die Hand gegeben. Bitte denke daran, dass noch kein Meister vom Himmel gefallen ist. Teile Dein Projekt in viele kleine Einzeleinheiten auf. Nimm Dir dann eine eigenständige Einzeleinheit vor und setze sie um. Du hast mit Deinem Login bereits einen guten Einstieg gemacht.
Lerne mit Funktionen umzugehen. Lerne programmieren. Lerne PHP. Wenn Du selbst etwas machst, hast Du hier stets hilfsbereite Forumsteilnehmer, mit denen Du Deine Programmierprobleme diskutieren kannst.
Ein Tipp zum Schluss: Lerne auf Deinem eigenen Rechner. Installiere Dir dort z.B. einen apache mit PHP und MySQL. Das gibt es als fertiges Paket zum Download mit Installationsanleitung, suche dazu in Google nach XAMPP oder hier im </archiv/>.
Freundliche Grüsse,
Vinzenz