Redirection page blanche [Fermé]

Signaler
-
Messages postés
89
Date d'inscription
mercredi 21 mai 2014
Statut
Membre
Dernière intervention
15 juin 2014
-
Bonjour,

J'ai fais un code pour la page d'inscription, qui fonctionnait pour un autre site, mais là bizarrement il me redirige vers une page blanche sans mentionner dans l'url la page à laquelle est redirigée, il reste sur la même page.J'ai essayé avec des contrôle de cryptage et de modifier la reqête sql mais en vain.

Votre aide SVP!
Merci

Voici le code :
<?php
//Connexion au serveur
$link=mysql_connect("localhost","root","") or die ("Erreur de connexion au serveur");

//Connexion à la BD
mysql_select_db('bd_covoit',$link) or die("Erreur dans la base de données");

//Affectation de login et pass(BD) à des vars
if(isset($_POST['Mail_User']) && isset($_POST['Mdp_User']))
{
$Mail_User=$_POST['Mail_User'];
$Mdp_User=$_POST['Mdp_User'];


/*$query=sprintf("SELECT*FROM utilisateur WHERE Mail_User='%s' AND Mdp_User='%d'");
mysql_real_escape_string($Mail_User);
mysql_real_escape_string($Mdp_User);*/
$requete="select Mail_User, Mdp_User from utilisateur";
$resultat=mysql_query($requete);
// Demande à la base de vérifier si un utilisateur correspond
/*$query = "SELECT * FROM utilisateur WHERE Mail_User='{$_POST['Mail_User']}' AND Mdp_User='{$_POST['Mdp_User']}'";
mysql_query($query);*/

$i=0;
//$trouve=false;
//Test si les vals existent
while($ligne=mysql_fetch_row($resultat))
{
$Mail=$ligne[1];
$Mdp=$ligne[2];

if ($Mail==$Mail_User && $Mdp==$Mdp_User) $i++;
}
//Récupération des vars aux vars de session
if ($i==1)
{
session_start();
$_SESSION['Mail_User']=$Mail_User;
$_SESSION['Mdp_User']=$Mdp_User;

//redirection vers la pages d'accueil
/*echo"<script>document.location.href='accueil.php';</script>";*/
header ('Location: accueil.php');
}
else
{
echo"<script> alert('Votre mail ou mot de passe est incorrect')</script>";
echo"<script>document.location.href='index_covoit.php';</script>";
}
}
mysql_close($link);
?>

2 réponses

Messages postés
6650
Date d'inscription
mercredi 13 avril 2011
Statut
Membre
Dernière intervention
28 septembre 2015
1 286
Bonjour,

Cette ligne de code:

header ('Location: accueil.php'); 


doit IMPERATIVEMENT être exécutée avant toute autre émission de caractère!

or, vous faites un session_start() avant!


Utilisateur anonyme
Bonjour

Peu importe l'ordre se session_start() et header(), dans les deux cas il s'agit d'en-têtes.
Messages postés
89
Date d'inscription
mercredi 21 mai 2014
Statut
Membre
Dernière intervention
15 juin 2014
21
Je me lève, et je confirme...

le session_start va introduire un header du genre
Set-Cookie: PHP_SID=SESSION_ID
et l'autre :
Location: accueil.php
L'ordre entre ces 2 entêtes n'a pas d'importance dans le protocole HTTP...
Merci pour cet remarque.En fait, j'ai refait en prenant compte que la session_start() soit après mais tjrs le prob de la page blanche :/

while($ligne=mysql_fetch_row($resultat))
{
$Mail=$ligne[1];
$Mdp=$ligne[2];

if ($Mail==$Mail_User && $Mdp==$Mdp_User) $i++;
header ('Location: accueil.php');
/*else
{
echo"<script> alert('Votre mail ou mot de passe est incorrect')</script>";
echo"<script>document.location.href='index_covoit.php';</script>";
}*/
}
//Récupération des vars aux vars de session
//Conserver les variables sur toutes les pages
if ($i==1)
{
session_start();
$_SESSION['Mail_User']=$Mail_User;
$_SESSION['Mdp_User']=$Mdp_User;


}
}
mysql_close($link);
?>