Page blanche sur un connexion.php
vinc
-
tryan44 Messages postés 1288 Date d'inscription Statut Membre Dernière intervention -
tryan44 Messages postés 1288 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
je suis novice en php et je suis en train de crée mon site alors voila je vous explique , j'ai fait un systeme d'inscription qui va enregistré dans ma base de donné le login et le pass , j'ai donc dans ma table "id" "login" et "pass" , mon inscription marche impecable apres avoir corigé les beug du script php , seulement voila , quand je veux me connecté ca me dirige vers la page " connexion.php" et ca m'affiche une belle page blanche , et si je fait " afficher le code source de la page" il n'y a rien dedans hors dans mon editeur j'ai bien mon script php , voici mon script php :
<?php
session_start();
$BDD = mysql_connect("IP_Serveur","LOGIN_MYSQL","PASS_MYSQL"); // Connexion à la base de données.
mysql_select_db("Site"); // Sélection de la base de données utilisée.
// On met les variables utilisés du script PHP à FALSE.
$error = FALSE;
$connexionOK = FALSE;
// On regarde si l'utilisateur a bien utilisé le module de connexion pour traiter les données.
if(isset($_POST["connexion"])){
// On regarde si tout les champs sont remplis. Sinon on lui affiche un message d'erreur.
if($_POST["login"] == NULL OR $_POST["pass"] == NULL){
$error = TRUE;
$errorMSG = "Vous devez remplir tout les champs !";
}
// Sinon si tout les champs sont remplis alors on regarde si le nom de compte rentré existe bien dans la base de données.
else{
$sql = "SELECT login FROM users WHERE login = '".$_POST["login"]."' ";
$req = mysql_query($sql);
// Si oui, on continue le script...
if($sql){
// On sélectionne toute les données de l'utilisateur dans la base de données.
$sql = "SELECT * FROM users WHERE login = '".$_POST["login"]."' ";
$req = mysql_query($sql);
// Si la requête SQL c'est bien passé...
if($sql){
// On récupère toute les données de l'utilisateur dans la base de données.
$donnees = mysql_fetch_assoc($req);
// Si le mot de passe entré à la même valeur que celui de la base de données, on l'autorise a se connecter...
if($_POST["pass"] == $donnees["pass"]){
$connexionOK = TRUE;
$connexionMSG = "Connexion au site réussie. Vous êtes désormais connecté !";
$_SESSION["login"] = $_POST["login"];
$_SESSION["pass"] = $_POST["pass"];
}
// Sinon on lui affiche un message d'erreur.
else{
$error = TRUE;
$errorMSG = "Nom de compte ou mot de passe incorrect !";
}
}
// Sinon on lui affiche un message d'erreur.
else{
$error = TRUE;
$errorMSG = "Nom de compte ou mot de passe incorrect !";
}
}
// Sinon on lui affiche un message d'erreur.
else{
$error = TRUE;
$errorMSG = "Nom de compte ou mot de passe incorrect !";
}
}
}
mysql_close($BDD);
?>
<?php if(isset($_SESSION["login"]) AND isset($_SESSION["pass"])){
echo "<p style="color:green">Bienvenue <strong>".$_SESSION["login"]."</strong></p>"; }
} ?>
<?php if($error == TRUE){ echo "<p align="center" style="color:red"><strong>".$errorMSG."</strong></p>"; } ?>
<?php if($connexionOK == TRUE){ echo "<p align="center" style="color:green"><strong>".$connexionMSG."</strong></p>"; } ?>
Merci d'avance .
je suis novice en php et je suis en train de crée mon site alors voila je vous explique , j'ai fait un systeme d'inscription qui va enregistré dans ma base de donné le login et le pass , j'ai donc dans ma table "id" "login" et "pass" , mon inscription marche impecable apres avoir corigé les beug du script php , seulement voila , quand je veux me connecté ca me dirige vers la page " connexion.php" et ca m'affiche une belle page blanche , et si je fait " afficher le code source de la page" il n'y a rien dedans hors dans mon editeur j'ai bien mon script php , voici mon script php :
<?php
session_start();
$BDD = mysql_connect("IP_Serveur","LOGIN_MYSQL","PASS_MYSQL"); // Connexion à la base de données.
mysql_select_db("Site"); // Sélection de la base de données utilisée.
// On met les variables utilisés du script PHP à FALSE.
$error = FALSE;
$connexionOK = FALSE;
// On regarde si l'utilisateur a bien utilisé le module de connexion pour traiter les données.
if(isset($_POST["connexion"])){
// On regarde si tout les champs sont remplis. Sinon on lui affiche un message d'erreur.
if($_POST["login"] == NULL OR $_POST["pass"] == NULL){
$error = TRUE;
$errorMSG = "Vous devez remplir tout les champs !";
}
// Sinon si tout les champs sont remplis alors on regarde si le nom de compte rentré existe bien dans la base de données.
else{
$sql = "SELECT login FROM users WHERE login = '".$_POST["login"]."' ";
$req = mysql_query($sql);
// Si oui, on continue le script...
if($sql){
// On sélectionne toute les données de l'utilisateur dans la base de données.
$sql = "SELECT * FROM users WHERE login = '".$_POST["login"]."' ";
$req = mysql_query($sql);
// Si la requête SQL c'est bien passé...
if($sql){
// On récupère toute les données de l'utilisateur dans la base de données.
$donnees = mysql_fetch_assoc($req);
// Si le mot de passe entré à la même valeur que celui de la base de données, on l'autorise a se connecter...
if($_POST["pass"] == $donnees["pass"]){
$connexionOK = TRUE;
$connexionMSG = "Connexion au site réussie. Vous êtes désormais connecté !";
$_SESSION["login"] = $_POST["login"];
$_SESSION["pass"] = $_POST["pass"];
}
// Sinon on lui affiche un message d'erreur.
else{
$error = TRUE;
$errorMSG = "Nom de compte ou mot de passe incorrect !";
}
}
// Sinon on lui affiche un message d'erreur.
else{
$error = TRUE;
$errorMSG = "Nom de compte ou mot de passe incorrect !";
}
}
// Sinon on lui affiche un message d'erreur.
else{
$error = TRUE;
$errorMSG = "Nom de compte ou mot de passe incorrect !";
}
}
}
mysql_close($BDD);
?>
<?php if(isset($_SESSION["login"]) AND isset($_SESSION["pass"])){
echo "<p style="color:green">Bienvenue <strong>".$_SESSION["login"]."</strong></p>"; }
} ?>
<?php if($error == TRUE){ echo "<p align="center" style="color:red"><strong>".$errorMSG."</strong></p>"; } ?>
<?php if($connexionOK == TRUE){ echo "<p align="center" style="color:green"><strong>".$connexionMSG."</strong></p>"; } ?>
Merci d'avance .
A voir également:
- Page de connexion sécurisée php
- Gmail connexion - Guide
- Impossible de supprimer une page word - Guide
- Voe.sx n'autorise pas la connexion. ✓ - Forum Réseaux sociaux
- Numéro de page word - Guide
- Imprimer tableau excel sur une page - Guide
9 réponses
Salut,
Il me semble que la session ne peut être pris en compte dans une même page si celle-ci na pas été ré-actualisée. Par ailleurs, vous sélectionnez 2 fois les mêmes données et vos messages d'erreurs sont répétitifs. Pour finir, il y a des erreurs de double quotte sur les 2 dernières lignes.
A l'arrache ... :
Il me semble que la session ne peut être pris en compte dans une même page si celle-ci na pas été ré-actualisée. Par ailleurs, vous sélectionnez 2 fois les mêmes données et vos messages d'erreurs sont répétitifs. Pour finir, il y a des erreurs de double quotte sur les 2 dernières lignes.
A l'arrache ... :
<?php session_start(); mysql_connect("IP_Serveur","LOGIN_MYSQL","PASS_MYSQL"); // Connexion à la base de données. mysql_select_db("Site") or die('Impossible de sélectionner une base de données.'); // Sélection de la base de données utilisée. // On regarde si l'utilisateur a bien utilisé le module de connexion pour traiter les données. if(isset($_POST["connexion"])){ // On regarde si tout les champs sont remplis if(empty($_POST["login"]) OR empty($_POST["pass"])){ echo "Vous devez remplir tout les champs !"; } // Sinon si tout les champs sont remplis else{ //on va chercher tout ce qui correspond à l'utilisateur $utilisateur = mysql_query("SELECT login, pass FROM users WHERE login='".mysql_real_escape_string($_POST["login"])."' AND pass='".mysql_real_escape_string($_POST["pass"])."'"); $result = mysql_fetch_assoc($utilisateur); //si le résultat est égal à 0 if(mysql_num_rows($utilisateur) == 0) { echo 'Aucun utilisateur ne correspond à votre demande!'; } else{ //on extrait les données extract($result); //on libère le résultat de la mémoire mysql_free_result($utilisateur); //on créer les sessions $_SESSION["login"] = $login; $_SESSION["pass"] = $pass; //on redirige vers cette même page pour que la session soit pris en compte echo 'Connexion réussie, redirection en cours...<script type="text/javascript"> window.setTimeout("location=(\'votrepage.php\');",3000) </script>'; } } } //si les 2 sessions existent if(isset($_SESSION["login"]) && isset($_SESSION["pass"])){ echo '<p style="color:green">Bienvenue <strong>'.$_SESSION["login"].'</strong></p>'; } mysql_close(); ?>