Antworten auf deine Fragen:
Neues Thema erstellen

Fallunterscheidung zwischen zwei Usern in PHP

Flashede

Mediengestalter

Hallo alle zusammen,

und zwar habe ich ein Probbelm bei einen Login, welches auch schon funktioniert, wo es grade bei mir nicht weitergeht ist die fallunterscheidung zwischen den beiden Usern, die auf seperrate Seiten weitergeleitet werden sollen.

Hier mein Script: "welches nur durchläuft und mir nur die letzte echo anweisung augeben tut" :(


PHP:
<?

session_start();

$geheim_wort = 'xxxxxx';

unset($_POST["username"]);

if ($_SESSION['login']) {
        list($s_username, $session_hash) = explode(',',$_SESSION['login']);
        if (md5($s_username.$geheim_wort) == $session_hash) {
                $_POST["username"] = $s_username;
        } else {
                echo "Sie besitzen keine gültige Session!";
        }
}

if  ($_POST["username"]) {
    echo "Guten Tag Sie werden umgehend weitergeleitet!" . $_POST["$username"];
    //echo "<a href='logoff.php'>Auslogen</a>";
    } 
    else if($s_username == "student") 
    {
    Header("Location: download_st.php"); exit();
    }
    else if($s_username == "schueler") 
    {
    Header("Location: download_sch.php"); exit();
    }
    else
    {
    echo "Ihr Login ist Fehlgeschagen! ";
    }

?>
Keiner da, der mir sagen kann ob ich auf den richtigen weg bin, mir geht es ja nur um die if anweisung.

Für eine antwort wäre ich euch sehr dank bar.
 
Zuletzt bearbeitet von einem Moderator:

lustig

Helper

AW: Fallunterscheidung zwischen zwei Usern in PHP

Ändere mal (der else-Zweig wird ja nicht zur Fallunterschaltung durchlaufen, wenn $_POST["username" gesetzt ist):

PHP:
if  ($_POST["username"]) {
    echo "Guten Tag Sie werden umgehend weitergeleitet!" . $_POST["$username"];
    //echo "<a href='logoff.php'>Auslogen</a>";

    if($s_username == "student")
    {
    Header("Location: download_st.php"); exit();
    }
    else if($s_username == "schueler")
    {
    Header("Location: download_sch.php"); exit();
    }
    else
    {
    echo "Ihr Login ist Fehlgeschagen! ";
    }
}
 
Zuletzt bearbeitet von einem Moderator:

Flashede

Mediengestalter

AW: Fallunterscheidung zwischen zwei Usern in PHP

So es durchläuft trotzdem die anweisung


PHP:
<?

session_start();

$geheim_wort = 'xxxxxx';

unset($_POST["username"]);

if ($_SESSION['login']) {
		list($s_username, $session_hash) = explode(',',$_SESSION['login']);
		if (md5($s_username.$geheim_wort) == $session_hash) {
				$_POST["username"] = $s_username;
		} else {
				echo "Sie besitzen keine gültige Session!";
		}
}

if  ($s_username == "student") {
		Header("Location: download_st.php"); exit();
	}
	else if ($s_username == "schueler") {
		Header("Location: download_sch.php"); exit();
	}
	else
	{
	echo "Ihr Login ist Fehlgeschagen! ";
	}

?>
 

Flashede

Mediengestalter

AW: Fallunterscheidung zwischen zwei Usern in PHP

na das selbe Proplem wie beim ersten script, es durchläuft die Anweisungen und gibt Login Fehlgeschlagen aus, was ja auch richtig wäre wenn der Benutzer nicht zutrifft, was aber in den fall stimmt (Benutzer)
 

JonJonson

Aktives Mitglied

AW: Fallunterscheidung zwischen zwei Usern in PHP

Lass dir mal mit var_dump $s_username ausgeben. Oft verstecken sich so kleine Fehler im Detail ...
 

MrAzrael

Nicht mehr ganz neu hier

AW: Fallunterscheidung zwischen zwei Usern in PHP

So es durchläuft trotzdem die anweisung


PHP:
<?

session_start();

$geheim_wort = 'xxxxxx';

unset($_POST["username"]);

if ($_SESSION['login']) {
		list($s_username, $session_hash) = explode(',',$_SESSION['login']);
		if (md5($s_username.$geheim_wort) == $session_hash) {
				$_POST["username"] = $s_username;
		} else {
				echo "Sie besitzen keine gültige Session!";
		}
}

if  ($s_username == "student") {
		Header("Location: download_st.php"); exit();
	}
	else if ($s_username == "schueler") {
		Header("Location: download_sch.php"); exit();
	}
	else
	{
	echo "Ihr Login ist Fehlgeschagen! ";
	}

?>

Also ich seh da irgendwie überhaupt nicht durch was du da vor hast ...

wo kommt die $_Session['login'] eigentlich her? Wo wird die gesetzt?
Und warum unset($_POST['username']) und dann setzt du es wieder?
So dann fehlt mir in deinem kurzen Code-Schnipsel auch der Teil wo ersichtlich ist das der session_hash md5 kodiert wird, bzw. vorliegt

wäre ganz praktisch wenn du erstmal alles posten würdest und nicht nur das Stück wo die Hälfte fehlt um irgendwie helfen zu können
 

Sinane

Puttmacherin

AW: Fallunterscheidung zwischen zwei Usern in PHP

na das selbe Proplem wie beim ersten script, es durchläuft die Anweisungen und gibt Login Fehlgeschlagen aus, was ja auch richtig wäre wenn der Benutzer nicht zutrifft, was aber in den fall stimmt (Benutzer)

Hast du dir mal von lustig zu Herzen genommen? Den in dem von dir weiter geposteten Code sind seine Änderungen nicht korrekt übernommen.
 

netbandit

Aktives Mitglied

AW: Fallunterscheidung zwischen zwei Usern in PHP

unset($_POST['username']), if($_POST['username']), $_POST['username']=$s_username... und wenn keine Session vorhanden ist ist weder $s_username noch $_POST['username'] definiert, es wird aber dennoch darauf geprüft. Würde mal sagen; ein heilloses durcheinander (mein Posting wahrscheinlich auch). :D
 
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Flatrate für Tutorials, Assets, Vorlagen

Zurzeit aktive Besucher

Statistik des Forums

Themen
118.639
Beiträge
1.538.504
Mitglieder
67.559
Neuestes Mitglied
mic4mac
Oben