Ich versuche Sitzung für meine College-Website zu starten, aber der Code funktioniert nicht und zeigt keine Fehler. HierSitzung startet nicht
ist die Datei index.php:
<?php
ob_start();
session_start();
require("connection.php");
if (isset($_SESSION['user_id']) && !empty($_SESSION['user_id'])) {
header("Location: home.html");
}else{
header("Location: login.php");
}
?>
und hier ist die login.php Datei
<?php
require("connection.php");
if($_POST)
{
$computer_code=$_POST["computer_code"];
$password=$_POST["password"];
//$password_hash = md5($_POST["password"]);
if(!empty($password) && !empty($computer_code)){
//$con=new mysqli("localhost","root","","bahubali_ips");
$query="select Computer_Code,Password from student_info where Computer_Code = '".$computer_code."' AND Password = '".$password."'";
$result=$con->query($query);
if($row=$result->fetch_assoc()){
if($row["Computer_Code"] == $computer_code && $row["Password"] == $password){
$user_id = $row["Computer_Code"];
$_SESSION['user_id'] = $user_id;
header("Location: index.php");
}
}else{
echo "Invalid computer_code/Password combination";
die();
}
}
else{
echo "all fields required";
}
}
?><form action="login.php" method="POST">...........</form>
hier, wenn ich bei der Verwendung richtigen Anmeldeinformationen melden Sie sich statt dem Start der Sitzung und Senden mich an home.html
die Bedingung tritt immer falsch auf, infolgedessen werde ich immer wieder mit dem Anmeldeformular konfrontiert.
Ich habe die $_SESSION['user_id']
Variable wiederholt und es enthält die user_id, aber irgendwie ist die Sitzung noch nicht festgelegt. Was habe ich falsch gemacht?
* "noch zeigt Fehler" gesehen haben * - Ich glaube nicht, Siehe Fehlerbehandlung. –
ist es auch nicht sicher, ob Sie die Sitzung in allen '.php' Dateien gestartet haben. Sie leiten sie auch in eine '.html' Datei um; was ich nicht weiß warum. Wenn Sie möchten, dass Personen nicht direkt auf diese Datei zugreifen können, funktioniert das nicht, es sei denn, Sie verwenden auch Sitzungen für diese Datei und ändern ihre Dateierweiterung (oder behandeln '.html' als php). –
Wenn Ihr 'require (" connection.php ")' 'session_start();' enthält, sollten Sie einen Fehler bekommen, dass die Sitzung gestartet wurde. Verwenden Sie die Fehlerberichte von PHP und debuggen Sie dies. Fügen Sie auch 'exit;' zu jedem Header hinzu. –