Probleme $_Session ?

Fermé
bouteille67 Messages postés 14 Date d'inscription vendredi 5 février 2010 Statut Membre Dernière intervention 12 février 2010 - 8 févr. 2010 à 11:10
Defouille Messages postés 388 Date d'inscription mercredi 13 janvier 2010 Statut Membre Dernière intervention 15 novembre 2011 - 12 févr. 2010 à 14:07
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 388 Date d'inscription mercredi 13 janvier 2010 Statut Membre Dernière intervention 15 novembre 2011 54
8 févr. 2010 à 11:43
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 Date d'inscription vendredi 5 février 2010 Statut Membre Dernière intervention 12 février 2010
8 févr. 2010 à 11:49
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 388 Date d'inscription mercredi 13 janvier 2010 Statut Membre Dernière intervention 15 novembre 2011 54
8 févr. 2010 à 11:53
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 Date d'inscription vendredi 5 février 2010 Statut Membre Dernière intervention 12 février 2010
8 févr. 2010 à 11:56
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 388 Date d'inscription mercredi 13 janvier 2010 Statut Membre Dernière intervention 15 novembre 2011 54
8 févr. 2010 à 11:59
Pas de soucis, ca arrive à tout le monde ^^
0
Likoos Messages postés 5 Date d'inscription lundi 8 février 2010 Statut Membre Dernière intervention 8 février 2010
8 févr. 2010 à 12:33
0
bouteille67 Messages postés 14 Date d'inscription vendredi 5 février 2010 Statut Membre Dernière intervention 12 février 2010
12 févr. 2010 à 10:32
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 388 Date d'inscription mercredi 13 janvier 2010 Statut Membre Dernière intervention 15 novembre 2011 54
12 févr. 2010 à 10:37
Envoi ton code jusqu'à l'erreur :)
0
bouteille67 Messages postés 14 Date d'inscription vendredi 5 février 2010 Statut Membre Dernière intervention 12 février 2010
12 févr. 2010 à 10:43
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 388 Date d'inscription mercredi 13 janvier 2010 Statut Membre Dernière intervention 15 novembre 2011 54
12 févr. 2010 à 10: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 Date d'inscription vendredi 5 février 2010 Statut Membre Dernière intervention 12 février 2010
12 févr. 2010 à 11:08
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 Date d'inscription vendredi 5 février 2010 Statut Membre Dernière intervention 12 février 2010
12 févr. 2010 à 11:59
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 388 Date d'inscription mercredi 13 janvier 2010 Statut Membre Dernière intervention 15 novembre 2011 54
12 févr. 2010 à 14:07
Et un print_r de ta variable $_SESSION après le session_start() ça donne quoi ?
0