begin process at 2012 05 31 09:45:36
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Base de données

 > 

MySQL

 > 

Session et recupération information dans la base de donnée


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Session et recupération information dans la base de donnée

lundi 17 octobre 2011 à 16:26:53 | Session et recupération information dans la base de donnée

lorant59

BONJOUR
Jai une base donnée avec une session et j'aimerai non pas recuperer le nom mais d autres informations comme le prenom par exemple
je cherche depuis hier mais je n'arrive pas alors que je suis que c'est tout simple.
je vous donner le code
<
Code PHP :

if (isset($_POST['nom']) && isset($_POST['mdp'])){
$nom=$_POST['nom'];
$mdp=$_POST['mdp'];

$mysql = mysql_connect("localhost", "","");//local administrateur et mdp
if (!$mysql){ echo "Impossible de se connecter à la base Mysql";
exit;
}

$base=mysql_select_db(" ",$mysql);
if(!$base){echo "impossible de trouver la base authentification";
exit;
}

$requete = "SELECT COUNT(*) FROM utilisateurs WHERE nom = '".$nom."' and mdp = SHA1('".$mdp."')";

$resultat=mysql_query($requete, $mysql);
if(!$resultat){
echo "impossible d'éxécuter la requete.";
exit;
}
$resultat=mysql_query($requete, $mysql);
if(!$resultat){
echo "impossible d'éxécuter la requete.";
exit;
}
$ligne=mysql_fetch_row($resultat);
$nbre=$ligne[0];
if($nbre>0){
$_SESSION['utilisateurs']=$nom;
 }
 mysql_close($mysql);
 }

 if(isset($_SESSION['utilisateurs'])){
echo 'Bienvenue,'.$_SESSION['utilisateurs'].'<br/>';
echo '<a href="deconnection.php">Deconnexion</a><br />';
}else{
if (isset($nom)){
echo'connexion refusé.<br/>';
}
else{
echo"vous n'etes pas connect.<br/>";
}}

j'aimerai indiquer bienvenue le prenom de l'utilisateur aulieu du nom de l'utilisateur ligne 36
merci d'avance
lundi 17 octobre 2011 à 19:29:08 | Re : Session et recupération information dans la base de donnée

nemo_1

Chalute,

Alors généralement, on ne remplie pas sa session par des infos inutiles ou par flemme d'aller faire des opérations.

Déjà une question:

A quoi va te servir de passer plus d'info dans ta session?

Bon sinon, je te conseillerai de passer uniquement l'id de l'utilisateur (au moins tu es sur qu'il sera différent de jean charles et jean etienne), et après si tu veux lui dire bonjour jean etienne, tu fais une requete vers ta BDD et selectionne les éléments voulus.

Mais si tu veux vraiment passer le nom , sexe, taille (sexe? :)) tu pourras de 2 facons:

soit tu fais:

  • $_SESSION
  • ['nom'] = "";
    $_SESSION['prenom'] = "";
  • $info_user = array('nom', 'prenom', 'loool', 'taille se..',)
    $_SESSION
  • ['utilisateur'] = $info_user


Ceci étant dit, il faudra changer ta requete sql de :
$requete = "SELECT COUNT(*) FROM utilisateurs WHERE nom = '".$nom."' and mdp = SHA1('".$mdp."')";

à

$requete = "SELECT * FROM utilisateurs WHERE nom = '".$nom."' and mdp = SHA1('".$mdp."') LIMIT 1";

Comme cela quand tu fetch cette query, tu veras si tu as un retour (if(mysql_num_rows() == 1) et en meme temps, tu auras les infos du client.

Mais je doit t'alerter sur un point essentiel.

Si je met comme nom: bonjou'r, ton code bugeuras car tu ne saintetize pas les insertions sql et tu t'expose à une injection sql donc ALERTE!!!

Bon courage
lundi 17 octobre 2011 à 20:33:15 | Re : Session et recupération information dans la base de donnée

lorant59

j ai modifier le code mais la plus rie ne s'affiche
Code PHP :
if (isset($_POST['nom']) && isset($_POST['mdp'])){
$nom=$_POST['nom'];
$mdp=$_POST['mdp'];

$mysql = mysql_connect("localhost", "","");//local administrateur et mdp
if (!$mysql){ echo "Impossible de se connecter à la base Mysql";
exit;
}

$base=mysql_select_db("",$mysql);
if(!$base){echo "impossible de trouver la base authentification";
exit;
}

$requete = "SELECT COUNT(*) FROM utilisateurs WHERE nom = '".$nom."' and mdp = SHA1('".$mdp."')";

$resultat=mysql_query($requete, $mysql);
if(!$resultat){
echo "impossible d'éxécuter la requete.";
exit;
}
$resultat=mysql_query($requete, $mysql);
if(!$resultat){
echo "impossible d'éxécuter la requete.";
exit;
}
$ligne=mysql_fetch_row($resultat);
$nbre=$ligne[0];
if($nbre>0){
$_SESSION['utilisateurs']=$nom;
 }
 mysql_close($mysql);
 }

 if(isset($_SESSION['utilisateurs'])){
 $mysql = mysql_connect("localhost", "","");//local administrateur et mdp
if (!$mysql){ echo "Impossible de se connecter à la base Mysql";
exit;
}
mysql_select_db("",$mysql);
 $requete =mysql_query( 'SELECT * FROM utilisateurs  WHERE prenom=".mysql_real_escape_string($prenom)."');

if(mysql_num_rows($requete)){
$donnee_user=mysql_fetch_assoc($requete);
$_SESSION['prenom'] = $donnee_user['prenom'];
echo 'Bienvenue '.$_SESSION['prenom'];

 echo 'Bienvenue,'.$_SESSION['utilisateurs'].'<br/>';
echo '<a href="deconnection.php">Deconnexion</a><br />';
}
}else{
if (isset($nom)){
echo'connexion refusé.<br/>';


lundi 17 octobre 2011 à 21:06:40 | Re : Session et recupération information dans la base de donnée

lorant59

j ai trouver
sur la commande select * from ... il ne faut pas mettre $prenom mais $nom. par contre je ne comprend pas pourquoi cela ne fonctionne pas avec prenom .. si quelqu'un peut m'expliquer , j'en serais reconnaissance
merci d'avance
laurent


Cette discussion est classée dans : base, donnée, utilisateurs, session, echo


Répondre à ce message

Sujets en rapport avec ce message

formulaire base de donnée mysql [ par lyes_hh ] bonjour, j'ai créé une base de donnée... j'ai un formulaire qui permet de rentrer un nouvel enregistrement et jouhaite pouvoir modifier ces enregistre base de donnée introuvable?? [ par Joleroy ] Voici le code de mon fichier Load.inc: $user="root"; $password="xxxxxx"; $host="localhost"; $database="oinet";?>Et le code de ma page Index.ph pblème php base de donnée [ par troupe_a_jule ] julesalut à tous je suis en stage dans un lycée et je doit crée une interface (avec formulaire) ou l'utilisateur siaie des informations qui sont soit Variable de Session, Acces base de donnée [ par TuxOnline ] Bonjour à tous. Voila j'ai un petit souci pour ouvrir une connexion avec ma base de donnée.J'utilise donc une page d'authentification et je déclare en images et base de donnée [ par laperche ] Bonjour, Je ne comprends comment relier des images qui sont stockées dans un dossier, avec leurs noms qui est stockés dans une base de donnée MYSQL.Vo Fin de session [ par Thanos_the_yopper ] Bonjour,voilà, je voudrais faire comme certains forum (notamment les PhpBB) et indiquer la liste des gens qui parcoure actuellement le site.Donc je me Récupérer l'id de session dans la base de donnée [ par tidus2901 ] Bonjour, pour les navigateurs n'acceptant pas les cookies, je voudrais mettre en cache via l'ip dans la base de donnée l'id de session du visiteur. prob conection base de donnée [ par eruisie ] bonjour, j'arrive pas a enregistrer dans ma base de donnée en faite j'ai crée une base de donnée de gestion de client basique et au moment ou je clic Problème d'insertion dans une base mysql 5.1.45 [ par patingfree ] Bonjour à tous, pour l'apprentissage de php j'avais installé easyphp 5.3.2i pour interfaçer une base de données mysql(base)renseignée à l'aide d'un fo XML et base de donnée Postgresql [ par massbbc ] J'ai fait une application en php avec une base de donnée Postgresql qui permet d'Importer/Exporter des fichiers dans cette base de donnée. Cependant j


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,686 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales