Redirection page blanche

Fermé
POxx - 30 mai 2014 à 08:01
-helper- Messages postés 89 Date d'inscription mercredi 21 mai 2014 Statut Membre Dernière intervention 15 juin 2014 - 30 mai 2014 à 18:55
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 6652 Date d'inscription mercredi 13 avril 2011 Statut Membre Dernière intervention 28 septembre 2015 1 339
30 mai 2014 à 08:26
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
30 mai 2014 à 10:36
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 mercredi 21 mai 2014 Statut Membre Dernière intervention 15 juin 2014 27
30 mai 2014 à 18:55
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
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