Einen wunderschönen guten Abend
Ich hab mich durch mehrere Foren gelesen, einiges herum probiert jedoch kam ich meinen erwünschten Ergebnissen leider nicht näher.
Ich hab eine Website auf der man sich auf der ersten Seite Anmelden kann mit bereits zugewiesenem Benutzername und Passwort (Accounts sind in einer Datenbank angelegt)
Problem 1:
Das Login funktioniert.
Danach wird man auf eine 2. Seite weitergeleitet: home.php Hier hat sich die Session noch gemerkt dass ich angemeldet bin mit diesem Account.
Gehe ich aber auf eine andere Seite, ist die Session plötzlich wie leer gefegt.
Ich frage aber auf jeder Seite ab ob das Login=1 ist, wenn es so ist soll er mir die Seite anzeigen is dem nicht so, wird man auf das Login script weitergeleitet.
Und dennoch wird mir die Seite angezeigt. ich habe auch überall var_dump($_SESSION); drinnen, auf der 1. Seite nach dem Login wird mir noch ausgeben dass ich mit dem account angemeldet bin, gehe ich auf eine weitere Seite, ist dem nicht mehr so dann gibt es mir: array(1) { ["login"]=> int(1) } Statt zb. : array(3) { ["login"]=> int(1) ["benutzer"]=> string(3) "PEP" ["passwort"]=> string(3) "PEP" }
Ich starte auch auf jeder Seite ganz oben eine Session.
Frage ab:
// else steht ganz unten mit:
Ich hab mich durch viele Foren gewuselt, jedoch weiß ich langsam nicht mehr weiter.. es ist vermutlich eh nur ein kleines Problem..
Problem 2:
Nehmen wir an die Session merkt sich dass man als account XYZ Angemeldet ist..
dann möchte ich dass man sich für eine Sportart anmelden kann:
Bildschirmfoto 2018-01-29 um 22.57.23.png
Hierfür ist in der Datenbank eine Tabelle "Sportarten" angelegt in denen diese 6 Auswahlmöglichkeiten sind "SportartID"
In der Tabelle "Account" gibt es ein Attribut mit dem Namen "Anm_Sportart" <- Hier soll dann der Fremdschlüssel von der Richtigen Sportart aus SportartID drinnen stehen, wenn man eine Sportart ausgewählt hat.
Vielleicht habe ich auch einen Denkfehler, aber den habe ich dann bereits seid 4 Tagen.
Vielleicht kann mir ja wer einen Dankanstoß zu einem oder vielleicht beiden Problemen geben.
Danke im Voraus
Ich hab mich durch mehrere Foren gelesen, einiges herum probiert jedoch kam ich meinen erwünschten Ergebnissen leider nicht näher.
Ich hab eine Website auf der man sich auf der ersten Seite Anmelden kann mit bereits zugewiesenem Benutzername und Passwort (Accounts sind in einer Datenbank angelegt)
Problem 1:
Das Login funktioniert.
Danach wird man auf eine 2. Seite weitergeleitet: home.php Hier hat sich die Session noch gemerkt dass ich angemeldet bin mit diesem Account.
Gehe ich aber auf eine andere Seite, ist die Session plötzlich wie leer gefegt.
Ich frage aber auf jeder Seite ab ob das Login=1 ist, wenn es so ist soll er mir die Seite anzeigen is dem nicht so, wird man auf das Login script weitergeleitet.
Und dennoch wird mir die Seite angezeigt. ich habe auch überall var_dump($_SESSION); drinnen, auf der 1. Seite nach dem Login wird mir noch ausgeben dass ich mit dem account angemeldet bin, gehe ich auf eine weitere Seite, ist dem nicht mehr so dann gibt es mir: array(1) { ["login"]=> int(1) } Statt zb. : array(3) { ["login"]=> int(1) ["benutzer"]=> string(3) "PEP" ["passwort"]=> string(3) "PEP" }
PHP-Code:
$sql = "SELECT * FROM Account WHERE
Benutzername= :benutzer AND
Passwort=:pwd";
$stmt=$db->prepare($sql);
$stmt->bindParam(':benutzer',$benutzername,PDO::PARAM_STR);
$stmt->bindParam(':pwd',$passwort,PDO::PARAM_STR);
$stmt->execute();
if ($stmt->rowCount()==1) {
echo "Der Login war erfolgreich.<br>";
echo $benutzername;
echo $passwort;
# In der Session merken, dass der User eingeloggt ist !
$_SESSION["login"] = 1;
$_SESSION['benutzer'] = $benutzername;
header("location:website/home.php");
} else {
echo "Die Logindaten sind nicht korrekt.<br>";
}
Frage ab:
PHP-Code:
if($_SESSION["login"]=1){
$_SESSION['benutzer'];
var_dump($_SESSION);
PHP-Code:
<?php
}else{
header("Location: xxxxx");
}
?>
Ich hab mich durch viele Foren gewuselt, jedoch weiß ich langsam nicht mehr weiter.. es ist vermutlich eh nur ein kleines Problem..
Problem 2:
Nehmen wir an die Session merkt sich dass man als account XYZ Angemeldet ist..
dann möchte ich dass man sich für eine Sportart anmelden kann:
Bildschirmfoto 2018-01-29 um 22.57.23.png
Hierfür ist in der Datenbank eine Tabelle "Sportarten" angelegt in denen diese 6 Auswahlmöglichkeiten sind "SportartID"
In der Tabelle "Account" gibt es ein Attribut mit dem Namen "Anm_Sportart" <- Hier soll dann der Fremdschlüssel von der Richtigen Sportart aus SportartID drinnen stehen, wenn man eine Sportart ausgewählt hat.
PHP-Code:
if(isset($_POST["Sportart"])){
if (isset ($_POST['Sportart'])=="Fussball"){
$sp_aus = $_POST['Sportart'];
$sp_id = $_POST['SportartID'];
$eintragen="UPDATE `Account` SET Anm_Sportart = :sp_id";
$stmt=$db->prepare($eintragen);
$stmt->bindParam(':pers_id', $sp_aus, PDO::PARAM_INT);
$stmt->bindParam(':$sp_id', $sp_id, PDO::PARAM_INT);
$stmt->execute();
if ($stmt->execute()) {
echo "Sie haben sich erfolgreich für Fußball als Schiedsrichter angemeledet!";
} else {
echo "<p>Da ist etwas schiefgelaufen!</p>";
}
}
}
Vielleicht kann mir ja wer einen Dankanstoß zu einem oder vielleicht beiden Problemen geben.
Danke im Voraus
Kommentar