Probleme $_Session ?

bouteille67 Messages postés 14 Statut Membre -  
Defouille Messages postés 404 Statut Membre -
Bonjour, débutant dans le php et me heurtant a moultes problèmes donc la plupart sont en fait plutôt idiots et auxquels je ne trouvent de solutions, je m'adresse içi en quête d'un peu d'aide :).

Voici mon problème j'essaie de me logguer à und bdd mysql si le login//Password correspond sa marche sans soucis mais si le login pass est erroné, le variable $_Session n'est pas réinitialisée .

Voila le code :

index.php

<?php
session_start();
?>

...

<?php
$_SESSION['erreurLog'] = 0;
?>

identification.php

<form method="post" action="verifLogin.php">
Login: <input type="text" name="login" size="12" height="30"><br>
Mot de passe : <input type="password" name="password" size="12">
<input type="submit" value="OK">
</form>
<?php
echo $_SESSION['erreurLog'];
if($_SESSION['erreurLog'] !=0){
echo 'Mauvaix Login est/ou Mot de passe!';
}
?>

verifLogin.php

<?php
// Déclaration des paramètres de connexion
$_SESSION['host'] = "localhost";
$_SESSION['user'] = $_POST['login'];
$_SESSION['pwd'] = $_POST['password'];

$link = @mysql_connect($_SESSION['host'], $_SESSION['user'],$_SESSION['pwd']);

if (!$link){
$_SESSION['erreurLog'] = 13255;
header('Location: index.php');
}else{
mysql_select_db("bddclient_v2")or die("Erreur Selection BDD");

....

}

Merci pour votre aide :>

13 réponses

Defouille Messages postés 404 Statut Membre 54
 
Bonjour,

en regardant rapidement j'ai remarqué que tu n'avais pas de "session_start(); " dans ton fichier verifLogin.php, du coup la session n'est pas initialisé et $_SESSION n'est pas le même dans tes deux pages.

Essaye en le rajoutant au début de ton fichier.

En espérant que ça t'aide :)

https://www.php.net/manual/fr/function.session-start.php
0
bouteille67 Messages postés 14 Statut Membre
 
Hélas j'ai bien démarré la sessions sur chacune de mes pages et donc ce n'est pas ça l'erreur.
Le probleme est que lorsque le mot de pass ou Login n'est pas valide, la redirection s'effectue correctement mais pas le chagement de $_SESSION['erreurLog'] c'est sa qui est curieux...
0
Defouille Messages postés 404 Statut Membre 54
 
Tu as 3 fichiers, tu fais le test sur erreurLog dans identification.php , mais tu redirect sur index.php dans verifLogin.php, et dans index.php tu remet ton erreurLog à 0, ton erreur survient dans quel fichier et sur quel test ?
0
bouteille67 Messages postés 14 Statut Membre
 
Problème résolue, encore une fois une erreur d'inadvertance, la redirection de ma page se faisant sur index.php la variable erreurlog était a nouveau réinitialiser a 0... Bien vu Defouille!
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Defouille Messages postés 404 Statut Membre 54
 
Pas de soucis, ca arrive à tout le monde ^^
0
bouteille67 Messages postés 14 Statut Membre
 
Hello C'est encore moi.
Sa y est j'ai finit le développement de mon site qui était parfaitement opérationnel en localhost.
Maintenant toute mes pages sont en lignes.
Mais les sessions php me jouent encore des tours.

En effet je me connecte sur bdd.php j'initialise $_SESSION['erreurLog']
J'arrive sur identification.php je fait un test sur $_SESSION['erreurLog']
Jusque la pas de soucis la session marche
ensuite une fois sur verifLogin.php je peu faire un echo de $_SESSION['erreurLog'] un echo de $_POST['login'];

Mais des que j'essaie de faire $_SESSION['user'] = $_POST['login']; La il se passe plus rien. je peu effectuer du code php avant l'initialisation de la session
mais une fois arrivé a cette ligne le code s'arrete il se passe plus rien et aucune erreur php ne s'affiche...

Je ne voix vraiment pas ce qu'il cloche, si quelqu'un a une idée ... je suis preneur.
0
Defouille Messages postés 404 Statut Membre 54
 
Envoi ton code jusqu'à l'erreur :)
0
bouteille67 Messages postés 14 Statut Membre
 
Bah le soucis c'est qu'il n'y a pas d'erreur .... Y'a juste rien qui se passe
<?php
session_start();
?>

...code HTML...

<?php
echo $_POST['login'] //<- sa sa marche
echo $_SESSION['erreurLog'] //<- sa aussi sa marche

// Déclaration des paramètres de connexion
$_SESSION['utilisateur'] = $_POST['login'];

echo $_SESSION['utilisateur'] // sa marche pas
$_SESSION['mdpasse'] = $_POST['password'];
$_SESSION['host'] = 'https://pma.web4all.fr';
echo $_SESSION['user'];
?>
Le truc c'est que justement php ne renvoi aucune erreur, c'est comme si il bloquait sur $_SESSION['utilisateur'] vu qu'il n'execute plus aucun code apres cela...
Vraiment aucune idée d'ou sa vien... En localhost je n'avais pas ce soucis.
0
Defouille Messages postés 404 Statut Membre 54
 
C'est normal qu'il n'y est pas de point virgule ? :p

et $_SESSION['user'] il vient d'ou ?

Tu as essayer de faire un print_r de ton $_POST ?
0
bouteille67 Messages postés 14 Statut Membre
 
oui les points de virgules qui manque c'est normal c'est moi qui les ai rajouté a l'instant pour montrer jusqu'a quel point PHP ne répond plus.

J'ai fait un echo sur $_POST['login'] aucun soucis. puis un sur $_POST['password'] mais étant de type password je pense que c'est normal que sa n'affiche rien.

Quand a $_SESSION['user'] c juste que j'avais oublié de le renomé en utilisateur. Sa ne résoud en rien mon problème :(
0
bouteille67 Messages postés 14 Statut Membre
 
identification.php :

<form method="post" action="/bdd/verifLogin.php">
Login: <input type="text" name="login" size="12" height="30"><br>
Mot de passe : <input type="password" name="password" size="12">
<input type="submit" value="OK">
</form>
<?php
if($_SESSION['erreurLog'] !=1){
echo '<font color="red">Mauvaix Login est/ou Mot de passe!</font>';
}
?>

verifLogin.php

<?php
// Déclaration des paramètres de connexion
$_SESSION['utilisateur'] = $_POST['login'];
$_SESSION['mdpasse'] = $_POST['password'];
$_SESSION['host'] = 'adressede Lhebergeur';
echo $_SESSION['utilisateur'];
?>

Naturellement les session_start(); sont présent sur chaqu'une de mes pages... J'a vraiment besoin d'aide sur ce coup la c'est pour mon projet de stage :/
0
Defouille Messages postés 404 Statut Membre 54
 
Et un print_r de ta variable $_SESSION après le session_start() ça donne quoi ?
0