Mon $_Session me retourne S

Résolu
TandooriaChoco Messages postés 82 Date d'inscription   Statut Membre Dernière intervention   -  
TandooriaChoco Messages postés 82 Date d'inscription   Statut Membre Dernière intervention   -
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   Statut Membre Dernière intervention   206
 
Bonjour

T'a bien mis le session_start(); sur la dernière page aussi ?
0
TandooriaChoco Messages postés 82 Date d'inscription   Statut Membre Dernière intervention   3
 
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   Statut Membre Dernière intervention   3
 
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   Statut Membre Dernière intervention   3
 
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   Statut Membre Dernière intervention   206
 
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   Statut Membre Dernière intervention   3
 
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   Statut Membre Dernière intervention   206
 
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   Statut Membre Dernière intervention   3
 
Ok merci je vais essayer et je te redis.
0
TandooriaChoco Messages postés 82 Date d'inscription   Statut Membre Dernière intervention   3
 
Ca marche pas
0
x458bjn4lj99
 
Ah oui Ca c'est bizarre
0
TandooriaChoco Messages postés 82 Date d'inscription   Statut Membre Dernière intervention   3
 
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   Statut Contributeur Dernière intervention   846
 
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   Statut Membre Dernière intervention   3
 
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   Statut Contributeur Dernière intervention   846
 
Oui essaye, qu'on voit si le pépin vient du POST ou de la SESSION
0
le père
 
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   Statut Membre Dernière intervention   3
 
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
kaizoku
 
j'ai le même pb que toi mais j'arrive pas à voir ou est mon erreur -,-"
0
kaizoku
 
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
kaizoku
 
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
 
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   Statut Membre Dernière intervention   3
 
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