Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD > PHP & MySQL
PHP & MySQL Forum d'entraide sur les fonctions MySQL avec PHP. Avant de poster -> FAQ MySQL, Cours MySQL et Sources MySQL. Pour les questions concernant le moteur MySQL plutôt que les fonctions PHP, merci d'utiliser le forum MySQL.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 14/04/2011, 16h03   #1
Candidat au titre de Membre du Club
 
Thibaud Chave
Inscription : septembre 2010
Messages : 39
Détails du profil
Informations personnelles :
Nom : Thibaud Chave

Informations forums :
Inscription : septembre 2010
Messages : 39
Points : 12
Points : 12
Par défaut Récupération d'un paramètre de Session

Il s'agit pour mon problème de récupérer un paramètre de session (en l’occurrence le login) et de s'en servir pour recherche dans un SGDB.

index.php:
Code :
$_SESSION['ldap']=$_POST['login'];
form.php : page du formulaire
Code :
<form name="formulaire" method="GET" action="php/file_prerecord.php" onSubmit="return check();">
file_prerecord.php
Code :
register_modif_dossier($_SESSION['ldap'],2,$idDossier);

fonction register_modif_dossier
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
 
function register_modif_dossier($log,$statut,$dossier)
{
	$DateHeure= date("Y-m-d H:i:s");
	$connexion = mysql_connect("*****","******","******");
     					mysql_select_db("*******",$connexion) or die("Erreur de connexion");	
 
$query2 = "SELECT `utilisateur`.`idUser_Appli` 
     	        FROM `utilisateur` 
                WHERE `uid_eldap` = '$log'";	
     					$uid=mysql_query($query2);
     					$res=mysql_fetch_row($uid);
     					$query1 = 
"INSERT INTO `dev_doctorant`.`evolue`(`id_dossier`,`idStatut`,`idUser_Appli`,
     								`date_execution`)
     								VALUES('$dossier','$statut','$res[0]','$DateHeure')";
     					mysql_query($query1);
     					mysql_close();
}
?>
Avec ce code le problème c'est qu' il m'insère un idUser_Appli toujours égal à 0. Alors que j'utilise le même procédé pour enregistrer qui se connecte et je l'insère correctement.
Iceman Y15 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/04/2011, 21h40   #2
Modérateur
 
Avatar de sabotage
 
Homme Vincent
Inscription : juillet 2005
Messages : 14 929
Détails du profil
Informations personnelles :
Nom : Homme Vincent

Informations forums :
Inscription : juillet 2005
Messages : 14 929
Points : 16 381
Points : 16 381
Commence par debuguer ta $query2.
sabotage est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/04/2011, 23h41   #3
Membre actif
 
christian
Développeur indépendant
Inscription : août 2004
Messages : 251
Détails du profil
Informations personnelles :
Nom : christian
Âge : 43
Localisation : France

Informations professionnelles :
Activité : Développeur indépendant
Secteur : Transports

Informations forums :
Inscription : août 2004
Messages : 251
Points : 184
Points : 184
Par défaut echo et securite

mets des echo pour verifier:
1: les requetes reelles que tu as avant de les executer
2: les resultats reels que tu obtiens apres chaque requete.

dans ton cas, la requete SELECT `utilisateur`.`idUser_Appli`
FROM `utilisateur`
WHERE `uid_eldap` = '$log'
donnera forcement 0, puisque tu ne dois pas avoir d'enregistrement qui contient '$log'
essaye plutot
Code :
1
2
3
$query2 = "SELECT `utilisateur`.`idUser_Appli` 
     	        FROM `utilisateur` 
                WHERE `uid_eldap` = '".$log."'";
la t'es sur que ta variable sera interpretée..
maintenant parlons securite.
ton password est un ENORME trou de securite..
mets plutot, pour parer à l'injection sql..
Code :
1
2
3
$query2 = "SELECT `utilisateur`.`idUser_Appli` 
     	        FROM `utilisateur` 
                WHERE `uid_eldap` = '".addcslashes(mysql_real_escape_string($log),'%_')."'";
ensuite, petit point.
ne JAMAIS croire que sa requete aboutira à tous les coups.
il y aura forcement un ou plusieurs cas ou ca n'aboutira pas.
IL FAUT traiter ces cas d'erreur par defaut et considerer la reussite comme le cas d'exception..
hors, ton code considere que tout va toujours bien se passer, ideal pour tout planter.
eomer212 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 01h13.


 
 
 
 
Partenaires

Hébergement Web