biloutte33
Messages postés140Date d'inscriptionsamedi 9 juillet 2005StatutMembreDernière intervention18 décembre 2010
-
15 sept. 2006 à 15:15
jediNoobiewan
Messages postés67Date d'inscriptionmardi 25 janvier 2005StatutMembreDernière intervention20 octobre 2010
-
19 sept. 2006 à 17:46
bonjour,
j'ai un soucis avec mon espace membre : des qu'un membre s'enregistre, il a pour id de session le numéro 0 hors quand je vais dans ma base de données, le membre à un nombre généré en auto-incrément (0,1,2,3 etc...)
hors, lors de la connection, ça envoi toujours sur l'id numéro 0
comment faire pour récupéré avec la session le numéro d'id?
<?php
// On démarre la session
session_start();
mysql_connect("sql.free.fr","login","pass");
mysql_select_db("base");
if(!mysql_connect) {echo "Connexion impossible à la base de données $sql_bdd sur le serveur $sql.free.fr Vérifiez les paramètres";
exit;}
$requete =mysql_query("select pseudo,password from membres where pseudo="$pseudo" and password="$password"") or die(mysql_error());
// SI AUCUN ENREGISTREMENT NE CORRESPOND
if(mysql_num_rows($requete)==0)
{
// REDIRECTION VERS LA PAGE ERREUR
header("Location:index.php");
}
// SI LE LOGIN ET MOT DE PASSE SONT EXACTES
else
{
$_SESSION['pseudo'] = $data['pseudo'];
$_SESSION['age'] = $data['email'];
$_SESSION['ville'] = $data['ville'];
// CREATION D'UN IDENTIFIANT ALEATOIRE
$id = mysql_insert_id() ;
// MISE A JOUR DE L'IDENTIFIANT DANS LA TABLE
$requete=mysql_db_query($informaticman,"update membres set id="$id" where pseudo="$pseudo" and password="$password"") or die(mysql_error());
// REDIRECTION VERS UNE PAGE PROTEGEE AVEC L'IDENTIFIANT SERVANT DE CLE
header("Location:fiche.php?id=$id");
}
voilà les 3pages (sans oublier que chacune possede la fonction <?php
// On démarre la session
session_start();
?> en haut de chaque page (sauf envoi.php)
comment faire pour l'id de session? car mes variables de session ont l'air correct car j'ai demandé l'écho du pseudo en session sur la page fiche.php et il me le donne (sauf pour un 2ème membre qui s'inscrit, il ne récupere rien)
malalam
Messages postés10839Date d'inscriptionlundi 24 février 2003StatutMembreDernière intervention 2 mars 201025 15 sept. 2006 à 22:38
Hello,
mysql_insert_id() s'utilise après une requête INSERT. Cette fonction renvoie le dernier ID inséré en base. Or, dans ton code, je ne vois pas de requête insérant un utilisateur, en tous cas, pas là où tu le fais en le récupérant ensuite en session.
jediNoobiewan
Messages postés67Date d'inscriptionmardi 25 janvier 2005StatutMembreDernière intervention20 octobre 2010 19 sept. 2006 à 17:46
J'ai pas tout à fait compris ton prob mais si tu veux récupérer un
identifiant de SESSION php c'est session_id().... elle te renvoie l'id
de la session....et si tu lui donne un paramètre elle en fait le nouvel
id de la session.