Je redirige la page précédente après la connexion mais à l'intérieur de la fonction de connexion, ma session ne fonctionne pas.Session de travail lors de la redirection sur la page précédente
Explication en détail
Je suis sur ma contactus
la page et je mets en haut de la page
session_start();
include('db/connection.php');
echo $_SESSION['url'] = $_SERVER['REQUEST_URI'];//here I am getting the name of page like /contactus.php
maintenant de mon page contactez-nous, je clique sur le bouton de connexion et page réoriente sur la page de connexion. Là, je reçois le nom de mon onglet précédent. J'ai vérifié comme ça.
session_start();
echo $url = $_SESSION['url'];//getting name of previous tab like /contactus.php
login.php
<?php
$error_msg="";
$error_msg=isset($_SESSION['password_failed'])?$_SESSION['password_failed']:'';
//server side session ,dispaying the error messgage if found any issue
?>
<div class="text-center"><span class="server_side_error"><?php echo $error_msg; ?></span></div>
<form action="process?key=login" method="post" name="login" class="login_submit" autocomplete="off">
<input type="email" class="form-control" id="email" name="email">
<input type="password" class="form-control" id="pwd" name="password">
<button type="submit" class="btn-reg btn-default">Login</button>
</form>
<?php
session_destroy();
?>
Après avoir cliqué sur la page bouton de connexion est redirect à la page de processus, mais je ne reçois pas la valeur de la session
process.php
function login($conn)
{
$username=$conn->real_escape_string(trim($_POST['email']));
$password =$conn->real_escape_string(trim($_POST['password']));
$sql_login="SELECT * FROM register WHERE email='$username'";
$run_user = mysqli_query($conn, $sql_login);
if (mysqli_num_rows($run_user)>0) {
$row=mysqli_fetch_array($run_user);
$password_hash=$row['password'];
if (password_verify($password, $password_hash)) {
$_SESSION['email']=$row['email'];
$_SESSION['name']=$row['name'];
echo $_SESSION['url']//here I am not getting the session value
if(isset($_SESSION['url'])) {
echo $url = $_SESSION['url']; //here I am not getting the session value
}
header('Location: http://example.com/$url');
}
else{
$_SESSION['password_failed']="Email & Password does not match";
header('location:login');
}
}
else{
$_SESSION['password_failed']="TThis email is not register with us";
header('location:login');
}
}
ajouter session_start(); dans votre process.php –
@BarclickFloresVelasquez, j'ai déjà ajouté cela mais je ne l'obtiens toujours pas –
Est-ce (session_start) avant que la fonction ne soit définie, ou à l'intérieur de celle-ci? – IncredibleHat