Ich habe ein Problem mit meinem Login der Login funktioniert es prüft die HTML-Formulare und es ist die Info ist korrekt, es wird mich auf der eingeloggten Seite anmelden.Ich setze den Benutzernamen und die Benutzer-ID auf der Anmeldeseite Nachdem die Informationen überprüft wurden, scheint der Server die Informationen nicht zu speichern. Merkwürdige ist, wenn ich dann die Anmelde die Website funktioniert verwenden abzumelden Register der Benutzername usw. auf dem Login prüfe ich die Informationen dann den Benutzernamen in eine Variable dann tunSitzung speichert keine Variablen
if(empty($_SESSION['username']))
{
echo "Somthing went wrong";
echo '<META HTTP-EQUIV="Refresh" Content="0; URL=logout.php">';
}
Aber dies wieder nicht auslösen, wenn ich gehe zu die Seite zum ersten Mal in einer Weile muss ich die Abmeldeseite anzeigen, bevor ich mich abmelden kann, selbst wenn ich nicht angemeldet bin, die Abmeldung zerstört natürlich nur die Sitzung.
if (isset($_POST["Username"]) && !empty($_POST["Username"])) {
$salt= "";
$username23 = mysql_real_escape_string($_POST['Username']);
$thereusername = strip_tags($username23);
$password2= sha1 ($salt.$_POST["password"]);
$statement = $db->prepare("SELECT * FROM users WHERE username = ? AND password = ? ");
$statement->execute(array($thereusername,$password2));
$count = $statement->rowCount();
/// If usernam and password match we carry on
if ($count == "1"){
$username23 = mysql_real_escape_string($_POST['Username']);
$thereusername = strip_tags($username23);
$statement8 = $db->prepare("SELECT * FROM users WHERE username = ? ");
$statement8->execute(array($thereusername));
$count8 = $statement8->fetch();
$username233 = mysql_real_escape_string($count8['id']);
$_SESSION['userid'] = strip_tags($username233);
$_SESSION['username'] = $thereusername ;
if(empty($_SESSION['username'])){
echo "Somthing went wrong";
echo '<META HTTP-EQUIV="Refresh" Content="0; URL=logout.php">';
}
if(empty($_SESSION['userid']))
{
echo "Somthing went wrong";
echo '<META HTTP-EQUIV="Refresh" Content="0; URL=logout.php">';
}
echo "You are now being logged in";
echo '<META HTTP-EQUIV="Refresh" Content="0; URL=dashboard.php">';
exit;
echo "works";
}
};
?>
.
<form action="login.php" method="post">
<div class="row">
<div class="form-group col-sm-6">
<label for="exampleInputEmail1">Username</label>
<input class="form-control" type="text" value="Artisanal kale" name= "Username" id="Username">
</div>
<div class="form-group col-sm-6">
<label for="exampleInputPassword1">Password</label>
<input type="password" class="form-control" name= "password" id="password"placeholder="Password">
</div>
</div>
<div class="row">
<div class="col-sm-4">
<p> <input type="submit" value="Submit" class="btn theme-btn"> </p>
</div>
</div>
</form>
ich natürlich ganz oben auf der Seite der Sitzungsstart verwenden, nachdem ich es mir in Seite protokollierten anmelden nimmt aber nicht angezeigt ive den Benutzernamen oder irgendwelche Informationen print_r Sitzung durchgeführt und Array get() i dann gehen Sie zu logout.php und login und alles funktioniert perfekt Serverfehler oder PHP-Fehler?
1. Mischen Sie nicht mysql und PDO. 2. Schreiben Sie nicht Ihre eigene Passwort-Hash-Logik, verwenden Sie stattdessen 'password_hash()'. 3. Starten Sie Ihr Skript mit 'session_start()'. – jeroen
session_start() ist am Anfang der Seite :) wurde immer gesagt, um es an die Spitze vor allem hinzuzufügen – shadow
Ich finde es seltsam, dass ich die Session abmeldet/destory und alles funktioniert gut – shadow