Redirection page blanche

POxx -  
-helper- Messages postés 89 Date d'inscription   Statut Membre Dernière intervention   -
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);
?>
A voir également:

2 réponses

mpmp93 Messages postés 6648 Date d'inscription   Statut Membre Dernière intervention   1 340
 
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!


0
Utilisateur anonyme
 
Bonjour

Peu importe l'ordre se session_start() et header(), dans les deux cas il s'agit d'en-têtes.
0
-helper- Messages postés 89 Date d'inscription   Statut Membre Dernière intervention   27
 
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...
0
POxx
 
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);
?>
0