Mon $_Session me retourne S

Résolu/Fermé
TandooriaChoco Messages postés 82 Date d'inscription mardi 11 août 2009 Statut Membre Dernière intervention 24 avril 2012 - 11 févr. 2012 à 12:02
TandooriaChoco Messages postés 82 Date d'inscription mardi 11 août 2009 Statut Membre Dernière intervention 24 avril 2012 - 24 avril 2012 à 11:21
Bonjour,

Je suis en train de faire un site web pour ma soeur. Tout fonctione à peu près bien sauf ça.

L'inscription se passe bien, comme la connexion, mais dès que je veux faire des sessions ça ne marche plus.

Voici mon code :
Page de connexion :
<h2>Pour visualiser la liste, veuillez vous connecter.</h2>
			<form action="index1.php" method="post">				
			<fieldset>
            <legend>Saisir les informations de connexion :</legend>
	       <table><tr>
			<td>Identifiant :</td><td> <input type="text" name="pmid"></td></tr>
            <tr>
			<td>Mot de passe :</td><td> <input type="password" name="pmpass"></td>


Page d'après Index1.php, je fais passer les gens sur une page avant d'accéder au site à cause d'un autre soucis (mais là c'est pas le soucis) Le session_start (); est en haut :
$db = mysql_connect('localhost','root','') or die("Connexion impossible"); 
mysql_select_db('baby_list',$db);
$sql = 'SELECT * FROM utilisateurs'; 
//Vérification des variables de passages
$identif=$_POST["pmid"];
$mdp=$_POST["pmpass"];

//if(isset($identif = $sql['Id_Util']) AND ($mdp = $sql['MOT_DE_PASSE']) AND ($sql['ID_Admin']='7777'))
if ((isset($identif)) AND ($identif=$sql['Id_Util']) AND ($mdp=$sql['MOT_DE_PASSE']))
{
echo 'Vous êtes connectés à la liste de naissance.';
echo '<br> Pour continuer, <a href="index2.php">Cliquez ici</a> ';
$_SESSION["sid"]=$identif;
}
else

Et la dernière page. Là l'utilisateur est censé être connecté et pour vérifier si c'est bon, je met toujours un petit echo bonjour, mais là il me dit S:
<?php
echo 'Bonjour '.$_SESSION["sid"].'.';
?>

</div>

Image :
https://i47.servimg.com/u/f47/15/87/45/51/sans_t10.jpg

Question :
Pour quoi ça me retourne S ?
C'est censé me dire dans ma situation d'essai, Bonjour Idole (mon chien ^^)

Ca fait plusieurs jours que je planche dessus, j'ai demandé à divers dév, mais là, j'ai besoin d'aide.

13 réponses

Mimiste Messages postés 1149 Date d'inscription samedi 17 mai 2008 Statut Membre Dernière intervention 6 mars 2016 206
11 févr. 2012 à 13:30
Bonjour

T'a bien mis le session_start(); sur la dernière page aussi ?
0
TandooriaChoco Messages postés 82 Date d'inscription mardi 11 août 2009 Statut Membre Dernière intervention 24 avril 2012 3
11 févr. 2012 à 17:12
Dès que j'ai commencé à le mettre il est sur toutes les autres.

C'est vraiment trop bizarre.
0
TandooriaChoco Messages postés 82 Date d'inscription mardi 11 août 2009 Statut Membre Dernière intervention 24 avril 2012 3
Modifié par TandooriaChoco le 11/02/2012 à 17:18
J'ai procédé à quelques changements :
Page Index 1 (après la page de formulaire) Tout en haut :
<?php   
session_start();   
$_SESSION['sid']=$_POST['pmid'];   
$_SESSION['smdp']=$_POST['pmpass'];   
?>

(J'ai vu ça sur Site du 0)

Ma connexion sur Index 1 :
<?php       
$timestamp_today=time();   
echo date('d/m/Y G:i',$timestamp_today);   
echo '<br><br><br>';   
 //connexion base de données   
$db = mysql_connect('localhost','root','') or die("Connexion impossible");    
mysql_select_db('baby_list',$db);   
$sql = 'SELECT * FROM utilisateurs';    
//Vérification des variables de passages   


//if(isset($identif = $sql['Id_Util']) AND ($mdp = $sql['MOT_DE_PASSE']) AND ($sql['ID_Admin']='7777'))   
if ((isset($_SESSION['sid'])) AND ($sql['Id_Util']=$_SESSION['sid']) AND ($sql['MOT_DE_PASSE']=$_SESSION['smdp']))   
{   
echo 'Vous êtes connectés à la liste de naissance.';   
echo '<br> Pour continuer, <a href="index2.php">Cliquez ici</a> ';   
}   
else   
{   
 echo 'La connexion n\'a pu s\'établir. Retournez à la page d\'<a href="index.html" title="Accueil">Accueil</a>.';   
}   
// on ferme la connexion à mysql    
mysql_close();   

Page Index 2 :
<?php   
$db = mysql_connect('localhost','root','') or die("Connexion impossible");    
mysql_select_db('baby_list',$db);   
$sql = mysql_query('SELECT DISTINCT PRENOM FROM  'utilisateurs' WHERE Id_Util =\'' .$_SESSION['sid']. '\'');    

$donnees['PRENOM'] = mysql_fetch_array($sql);   


echo "Bonjour ".$donnees['PRENOM'] ;   
?> 


Mon souci maintenant, c'est qu'il me retourne Array au lieu du prénom.
En plus ma connexion fonctionne plus, alors qu'elle a fonctionné, un jour.
J'pige plus rien. SVP aidez moi
0
TandooriaChoco Messages postés 82 Date d'inscription mardi 11 août 2009 Statut Membre Dernière intervention 24 avril 2012 3
11 févr. 2012 à 17:40
Pour faire une vérifiaction supplémentaire :

J'ai fait un GET au lieu du post , mes variables sont bien passé :
URL :
php?pmid=AdminA&pmpass=admina
0
Mimiste Messages postés 1149 Date d'inscription samedi 17 mai 2008 Statut Membre Dernière intervention 6 mars 2016 206
11 févr. 2012 à 17:54
mysql_fetch_array te retourne un tableau sur 2 dimensions

$donnees[0]['PRENOM'] pour avoir le prénom
0

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

Posez votre question
TandooriaChoco Messages postés 82 Date d'inscription mardi 11 août 2009 Statut Membre Dernière intervention 24 avril 2012 3
11 févr. 2012 à 20:55
je cherche pas a mettre ca dans un tableau. ce que trouve bizarre, c'est que tous mes ajouts, suppressions et autres modifications sur mes tables fonctionnent.ca doit etre lier a l'etape de connexion. d'ou le fait que ma page de connexions
0
Mimiste Messages postés 1149 Date d'inscription samedi 17 mai 2008 Statut Membre Dernière intervention 6 mars 2016 206
11 févr. 2012 à 21:23
Dans ce cas il ne faut pas utiliser mysql_fetch_array car cette fonction retourne un tableau sur deux dimension ! Il faut utiliser mysql_fetch_assoc !
0
TandooriaChoco Messages postés 82 Date d'inscription mardi 11 août 2009 Statut Membre Dernière intervention 24 avril 2012 3
12 févr. 2012 à 17:31
Ok merci je vais essayer et je te redis.
0
TandooriaChoco Messages postés 82 Date d'inscription mardi 11 août 2009 Statut Membre Dernière intervention 24 avril 2012 3
15 févr. 2012 à 17:47
Ca marche pas
0
Ah oui Ca c'est bizarre
0
TandooriaChoco Messages postés 82 Date d'inscription mardi 11 août 2009 Statut Membre Dernière intervention 24 avril 2012 3
17 févr. 2012 à 10:31
Alors j'ai essayé pleins de choses. Un amie m'a aidé. Mes connexions entre page ne fonctionnait pas, elle a résolu cela. Tout en m'expliquant les manoeuvres à faire, ma page fonctionnait mais me retournait toujours cette valeur alors qu'on pouvait afficher toutes autres informations. Vraiment très bizarre.
Je vais vous mettre le code résolu quand même au cas où que quelqu'un a la soluce finale.
(je le mettrai ce soir)
En faite, je me contente de pas mettre son prénom, de ne pas dire Bonjour !
0
Mihawk Messages postés 4315 Date d'inscription mercredi 29 mars 2006 Statut Contributeur Dernière intervention 6 janvier 2015 846
17 févr. 2012 à 10:44
Hello,

Tu fais ça :

$_SESSION['sid']=$_POST['pmid'];  

Ma question : que se passe-t-il si tu fais un

echo $_POST['pmid'];

Juste avant ?
0
TandooriaChoco Messages postés 82 Date d'inscription mardi 11 août 2009 Statut Membre Dernière intervention 24 avril 2012 3
17 févr. 2012 à 11:56
Salut, je mettrai le code ce soir.
Quand je voulais voir le nom et mot de passe, meme mail, ça fonctionnait. C'est juste avec le prénom.
Avec une amie, elle m'a un peu aidé, je mettrai donc le code ce soir, et je ne dis plus bonjour.
0
Mihawk Messages postés 4315 Date d'inscription mercredi 29 mars 2006 Statut Contributeur Dernière intervention 6 janvier 2015 846
17 févr. 2012 à 13:42
Oui essaye, qu'on voit si le pépin vient du POST ou de la SESSION
0
Bonjour

echo 'Bonjour '.$_SESSION["sid"].'.';
Cet 'echo' ajoute un point après $_SESSION["sid"]. Or on n'en voit pas sur ton image.
Donc ce n'est pas le bon code que tu nous donnes, ou alors $_SESSION["sid"] contient un S suivi d'un < qui est pris pour une ouverture de balise et nous masque la suite.
Dans ce dernier cas, ça doit se voir en visualisant le HTMLM généré.
0
TandooriaChoco Messages postés 82 Date d'inscription mardi 11 août 2009 Statut Membre Dernière intervention 24 avril 2012 3
18 févr. 2012 à 18:25
Mon amie a résolue le soucis par :
Selon elle, c'est ma requête SQL qui n'était pas bonne.
En haut :
<?php
session_start();
$_SESSION['sid'];

?>

Dans le contenu :
<?php

$db = mysql_connect('localhost','root','') or die("Connexion impossible"); 
mysql_select_db('baby_list',$db);
$sql = mysql_query('SELECT * FROM  utilisateurs WHERE Id_Util =\'' .$_SESSION['sid']. '\''); 

$donnees['PRENOM'] = mysql_fetch_row($sql);


echo "Bonjour ";echo $_SESSION['sid'];

?>
0
j'ai le même pb que toi mais j'arrive pas à voir ou est mon erreur -,-"
0
lorsqu'un membre se connecte je voudrais que mon site affiche :

" merci de vous être connecté login etc.."

sur la page de redirection.

j'ai une page parametre.php pour se connecter à la bdd:

$server="localhost";
$bdd="projetio2";
$user="root";
$password="";
$connexion=mysql_pconnect($server, $user);

if(!$connexion){
echo "pas de connexion" ; exit;
}

if(!mysql_select_db($bdd, $connexion)){
echo "pas d'accès à la base"; exit;
}


apres avoir rempli le formulaire on test si les identifiants et mot de passes sont correctes :

if(isset($_POST["adresse"])){


$adresse=$_POST["adresse"];
$mdp=$_POST["pass"];
$login="SELECT * FROM membres WHERE mail_membre='".$adresse."' AND mdp_membre='".$mdp."'";
$log=mysql_query($login);
$row=mysql_fetch_array($log);

/*si c'est correct alors il est connecté et on les redirige vers la page d'acceuil avec un petit message avec son nom de login*/

if($row){
$_SESSION["adresse"]=$adresse;
/*je recupere le login a partir de la base de donnees avec une requete*/

$login_recup="SELECT login FROM membres WHERE mail_membre='".$adresse."'";
/*je definie une variable session pour qu'elle soit stocké tout au long de la session*/

$_SESSION["login"]=$login_recup[$adresse];
echo '<p>merci de vous être connecté
<span style="color: #CC0000">'.$_SESSION["login"].'</span>, vous allez être redirigé vers la page d\'acceuil...</p>
<p>si votre naviguateur ne vous redirige pas <a href="index.php">cliquez sur le lien</a> !</p>';
echo '<meta http-equiv="refresh" content="3; index.php">';
}

else{
die("adresse mail ou mot de passe incorrecte! Please try again!" . mysql_error());
}
}

le problème c'est qu'au lieu d'afficher le nom du login, il m'affiche S!
je ne vois pas du tout d'ou vient l'erreur !

merci d'avance !
0
bon voila mon ami a résolu mon problème , je n'avais pas exécuté ma requete lol

$login_recup_query="SELECT login FROM membres WHERE mail_membre='".$adresse."'";
$login_recup=mysql_fetch_array(mysql_query($login_recup_query));
$_SESSION["login"]=$login_recup["login"];
0
A-&gt;kaizoku
23 avril 2012 à 08:38
kaizoku, où as-tu placé la requête pour ne plus affiché ton S ?
Quel est ton code complet ?
0
TandooriaChoco Messages postés 82 Date d'inscription mardi 11 août 2009 Statut Membre Dernière intervention 24 avril 2012 3
23 avril 2012 à 14:45
Salut je n'ai pas cherché a afficher le prénom, sauf dans un tableau (c'est le seul endroit où sa fonctionne car fetch_array c'est pour un tableau .
J'avais déjà vu que tes requêtes étaient pas bonnes, désolé de pas avoir répondu. Ya plein de truc qui me pertube dans ton code, mais je ne suis pas dévellopeur.
Et je ne peux pas t'aider étant donné que mon problème est pas résolu. (mais mon site est fini, actif et ça servait à rien ça).
0