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 27/01/2010, 17h54   #1
Membre à l'essai
 
pat lacaze
Inscription : décembre 2009
Messages : 105
Détails du profil
Informations personnelles :
Nom : pat lacaze

Informations forums :
Inscription : décembre 2009
Messages : 105
Points : 22
Points : 22
Par défaut difference entre session et bdd

bonjour
mon probleme est difficile , je ne sais pas si quelqu'un peut m'aider:
j'ai créé un formulaire qui comporte 3 parties, les infos sont transféré par session puis traité dans un fichier php (final.PHP).tout marche parfaitement

J'ai, maintenant enregistré les infos du formulaire dans une base de donnée, celle ci est bien remplie,mais...

lorsque je traite ces données dans mon fichier final2.PHP (transformé évidement pour qu'il fonctionne avec la bdd), certains résultats sont éronnés, les fonctions sont pourtant les mêmes et les variables bonnes!
J'y suis depuis des jours et ne trouve pas de solution,
Si quelqu'un a une idée.
merci
kogoi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/01/2010, 18h15   #2
Membre confirmé
 
Homme
Ingénieur systèmes et réseaux
Inscription : janvier 2008
Messages : 218
Détails du profil
Informations personnelles :
Sexe : Homme

Informations professionnelles :
Activité : Ingénieur systèmes et réseaux

Informations forums :
Inscription : janvier 2008
Messages : 218
Points : 228
Points : 228
Je comprends pas pourquoi tu as un fichier final.php et un final2.php. Pour moi, c'est déjà une source d'erreur... Bref, passon....

Tes variables sont bonnes ?? Tu les as testées ?? Si non, utilises var_dump. Et regarde juste avant l'insertion dans ta base de données ...


Patouche
patouche est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/01/2010, 19h04   #3
Membre à l'essai
 
pat lacaze
Inscription : décembre 2009
Messages : 105
Détails du profil
Informations personnelles :
Nom : pat lacaze

Informations forums :
Inscription : décembre 2009
Messages : 105
Points : 22
Points : 22
Par défaut difference entre session et bdd

merci pour ton aide,
l'usage des 2 fichiers été obligatoire par l'utilisation des sessions
Code :
$residuelGE1=GetResiduel($_SESSION['saisie'],$_SESSION['ctx'],$_SESSION['atd'],$_SESSION['rachcred'], $_SESSION['rachcreddate']);
et des bdd
Code :
$residuelGE1=GetResiduel($client['saisie'],$client['ctx'],$client['atd'],$client['rachcred'], $client['rachcreddate']);
il existe peut etre d'autre méthodes mais en tant que débutant, j'ai fais comme je pensais.
J'ai bien testé toutes les variables, elles sont bonnes. autant par php (echo) que par PHPMYADMIN

Peux tu m'en dire plus sur var_dump, que dois-je faire des réponses que me donnera la fonction.
a+
pat
kogoi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/01/2010, 20h16   #4
Membre confirmé
 
Homme
Ingénieur systèmes et réseaux
Inscription : janvier 2008
Messages : 218
Détails du profil
Informations personnelles :
Sexe : Homme

Informations professionnelles :
Activité : Ingénieur systèmes et réseaux

Informations forums :
Inscription : janvier 2008
Messages : 218
Points : 228
Points : 228
var_dump permet de visualiser le type et la valeur d'une variable d'un objet. En soit, c'est une fonction indispensable à connaitre.

Bien que j'ai pas trop compris l'histoire des 2 fichiers "obligatoire pour les sessions".... soit...

Qu'est ce que c'est que cette fonction GetResiduel ?? Et les paramètres de cette fonction, tu les vérifie bien et il y a bien égalité ??

Montre les bouts de code qui pose problème. (tes 2 fichiers)...


Patouche
patouche est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/01/2010, 16h19   #5
Membre à l'essai
 
pat lacaze
Inscription : décembre 2009
Messages : 105
Détails du profil
Informations personnelles :
Nom : pat lacaze

Informations forums :
Inscription : décembre 2009
Messages : 105
Points : 22
Points : 22
Par défaut difference entre session et bdd

mes fichiers final.php et final2.php font appel à un fichier "fonction.php" (via include)qui contient toute une série de fonction (getresiduel en est un exemple)

la fonction qui ne fonctionne pas calcule les revenus moyens du clients en fonction de son déclaratif (revenus, type de contrat etc) ,celle ci fonctionne parfaitement avec les session mais pas lorsque je fais appel à la bdd

la question est donc : les donnée de la bdd peuvent elles être "mal comprises" par php?

quand à la fonction var_dump, pourquoi ne pas voir directement via phpmyadmin, si la variable a le bon type? (question bête, surement)
merci
kogoi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/01/2010, 16h23   #6
Membre à l'essai
 
pat lacaze
Inscription : décembre 2009
Messages : 105
Détails du profil
Informations personnelles :
Nom : pat lacaze

Informations forums :
Inscription : décembre 2009
Messages : 105
Points : 22
Points : 22
Par défaut difference entre session et bdd

j'oubliai le bout de fonction

en session
Code :
1
2
3
$revmmeGE1=salairemme($typeGE1,$fraisdossierbqueGE1,$fraisdossierGE1,$revenuminiGE1,$ancienminisalGE1,$ancienminicomGE1,$nbmaxcredbanqueGE1,$nb_rejetmaxGE1,$nbmaxloyerbanqueGE1,$txendmaxbanqueGE1,$loyerfictifGE1,$dureemaxbanqueGE1,$residuelseulGE1,$residuel1GE1,$residuel2GE1,$residuel3GE1,$residuel4GE1,$residuel5GE1,$residuelcoupleGE1,$residuelmonoparGE1,$residuelmonopar2GE1,$mini_emprunteGE1,$maxi_emprunteGE1,$agemaxidebGE1,$agemaxifinGE1,$txintmensGE1,$bankGE1,$_SESSION['saisie'],$_SESSION['ctx'],$_SESSION['atd'],$_SESSION['rachcred'], $_SESSION['rachcreddate'], $_SESSION['SitFam'], $_SESSION['SitLog'], $_SESSION['credimmo'], $_SESSION['immoret'], $_SESSION['valbienimmo'], $_SESSION['fcc'], $_SESSION['comsur'], $_SESSION['nbcred'], $_SESSION['rejet'], $_SESSION['loyerret'], $_SESSION['loyer'], $_SESSION[' charges'], $_SESSION['pensdue'], $_SESSION['AllocFam'], $_SESSION['NbEnfant'], $_SESSION['AgeEnfant0'], $_SESSION['AgeEnfant1'], $_SESSION['AgeEnfant2'], $_SESSION['AgeEnfant3'], $_SESSION['AgeEnfant4'], $_SESSION['AgeEnfant5'], $_SESSION['PensRecue'], $_SESSION['menscons'], $_SESSION['RevFonc'], $_SESSION['AllocLog'], $_SESSION['credcons'], $_SESSION['decouv'], $_SESSION['detfam'], $_SESSION['tresorerie'], $_SESSION['Emploi'], $_SESSION['Contrat'], $_SESSION['ContratConjoint'], $_SESSION['Age'], $_SESSION['RevN3'], $_SESSION['RevN2'], $_SESSION['RevN1'], $_SESSION['Anciennete'], $_SESSION['TypeInv'], $_SESSION['RevInvalidite'], $_SESSION['EmploiConjoint'], $_SESSION['AgeConjoint'], $_SESSION['RevConjointN3'], $_SESSION['RevConjointN2'], $_SESSION['RevConjointN1'], $_SESSION['AncienneteConjoint'], $_SESSION['TypeInvConjoint'], $_SESSION['RevInvaliditeConjoint'], $_SESSION['ficpimmo'], $_SESSION['imporet'], $_SESSION['mensimmo'],$_SESSION['ficp']);
 
$revmmeGE1=floor($revmmeGE1);
en bdd
Code :
$revmmeGE1=salairemme($typeGE1,$fraisdossierbqueGE1,$fraisdossierGE1,$revenuminiGE1,$ancienminisalGE1,$ancienminicomGE1,$nbmaxcredbanqueGE1,$nb_rejetmaxGE1,$nbmaxloyerbanqueGE1,$txendmaxbanqueGE1,$loyerfictifGE1,$dureemaxbanqueGE1,$residuelseulGE1,$residuel1GE1,$residuel2GE1,$residuel3GE1,$residuel4GE1,$residuel5GE1,$residuelcoupleGE1,$residuelmonoparGE1,$residuelmonopar2GE1,$mini_emprunteGE1,$maxi_emprunteGE1,$agemaxidebGE1,$agemaxifinGE1,$txintmensGE1,$bankGE1,$client['saisie'],$client['ctx'],$client['atd'],$client['rachcred'], $client['rachcreddate'], $client['SitFam'], $client['SitLog'], $client['credimmo'], $client['immoret'], $client['valbienimmo'], $client['fcc'], $client['comsur'], $client['nbcred'], $client['rejet'], $client['loyerret'], $client['loyer'], $client[' charges'], $client['pensdue'], $client['AllocFam'], $client['NbEnfant'], $client['AgeEnfant0'], $client['AgeEnfant1'], $client['AgeEnfant2'], $client['AgeEnfant3'], $client['AgeEnfant4'], $client['AgeEnfant5'], $client['PensRecue'], $client['menscons'], $client['RevFonc'], $client['AllocLog'], $client['credcons'], $client['decouv'], $client['detfam'], $client['tresorerie'], $client['Emploi'], $client['Contrat'], $client['ContratConjoint'], $client['Age'], $client['RevN3'], $client['RevN2'], $client['RevN1'], $client['Anciennete'], $client['TypeInv'], $client['RevInvalidite'], $client['EmploiConjoint'], $client['AgeConjoint'], $client['RevConjointN3'], $client['RevConjointN2'], $client['RevConjointN1'], $client['AncienneteConjoint'], $client['TypeInvConjoint'], $client['RevInvaliditeConjoint'], $client['ficpimmo'], $client['imporet'], $client['mensimmo'],$client['ficp']);
les codes sont bien sur identiques
toutes les variables fonctionnes(autant celles de type "$bankGE1" que celles de type "$client['ficp'])"
kogoi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/01/2010, 17h40   #7
Membre confirmé
 
Homme
Ingénieur systèmes et réseaux
Inscription : janvier 2008
Messages : 218
Détails du profil
Informations personnelles :
Sexe : Homme

Informations professionnelles :
Activité : Ingénieur systèmes et réseaux

Informations forums :
Inscription : janvier 2008
Messages : 218
Points : 228
Points : 228
Citation:
Envoyé par kogoi Voir le message
mes fichiers final.php et final2.php font appel à un fichier "fonction.php" (via include)qui contient toute une série de fonction (getresiduel en est un exemple)

la fonction qui ne fonctionne pas calcule les revenus moyens du clients en fonction de son déclaratif (revenus, type de contrat etc) ,celle ci fonctionne parfaitement avec les session mais pas lorsque je fais appel à la bdd

la question est donc : les donnée de la bdd peuvent elles être "mal comprises" par php?

quand à la fonction var_dump, pourquoi ne pas voir directement via phpmyadmin, si la variable a le bon type? (question bête, surement)
merci
Alors, tes fonctions avec 15 paramètres, ça c'est une source d'erreur potentielle... Dans ces fonctions, tu n'as pas de variable globale ??

Si je te conseille la fonction var_dump, c'est pour vérifier que tu as bien les bons éléments et les bons types dans le php (que tu enregistre tes int sur dans un varchar(200) ne changera rien même s'il vaut mieux ne pas le faire...)... Pourquoi php ne comprendrai pas ta BDD ?? Et bien, tu peux par exemple appeler la mauvaise ligne, mais PHP arrive assez bien à comprendre mysql, sqlite ou pgsql...

Donc, un conseil, fais ton debug avec var_dump. Tu sauras sur de ce que tu fais.

Dans un premier temps rajoute après ton session_start var_dump($_SESSION). Ensuite pour comparer à ce que tu as dans la BDD, fais un var_dump($client).

Sinon, si tes fonctions (de fonctions.php) font dans les 100 lignes (ce que je crains).... Essaie de mieux réfléchir à ton problème afin de structurer correctement ton code.... Ca t'aidera si une jour tu veux revenir dessus.


Patouche
patouche est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/01/2010, 18h16   #8
Membre à l'essai
 
pat lacaze
Inscription : décembre 2009
Messages : 105
Détails du profil
Informations personnelles :
Nom : pat lacaze

Informations forums :
Inscription : décembre 2009
Messages : 105
Points : 22
Points : 22
Par défaut difference entre session et bdd

ok
j'essaye
je te tiens au courant
encore merci
pat
kogoi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/01/2010, 10h41   #9
Membre à l'essai
 
pat lacaze
Inscription : décembre 2009
Messages : 105
Détails du profil
Informations personnelles :
Nom : pat lacaze

Informations forums :
Inscription : décembre 2009
Messages : 105
Points : 22
Points : 22
Par défaut difference entre session et bdd

salut
j'ai tout testé et c'est toujours pas bon!
mais j'ai avancé, comme je le pensais, l'erreur vient d'une variable:
mon formulaire utilise une variable $_SESSION['Emploi'],
j'utilise un array
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
	//Menu select Emploi	
	$PrintEmploi = 
	array("
		salarié," => "salarie", "fonctionnaire" => "fonct","commercial" => "commercial" , 
		"retraité" => "retraite" ,"assistante maternelle" => "matern" ,  "ANPE dispensé de recherche d'emploi" => "anpe",
		"congé parental (avec reprise d'emploi)" => "congepar" , "profession liberale" => "proflib"  , "travailleur non salarié" => "nonsal"  ,"cheque emploi service" => "ces" ,"autre(sans emploi etc)" => "autre" );
 
	$PrintEmploiConjoint="";
 
	foreach($PrintEmploi as $cle=>$valeur){ 
		if (isset($_SESSION['Emploi']) && $_SESSION['Emploi']== $valeur && !empty($_SESSION['Emploi'])  ){
			$PrintEmploi.= "<option value=\"".$valeur."\" selected>".$cle."</option>\n";
		}else{
			$PrintEmploi.= "<option value=\"".$valeur."\">".$cle."</option>\n";
		}
 
		if (isset($_SESSION['EmploiConjoint']) && $_SESSION['EmploiConjoint']== $valeur && !empty($_SESSION['EmploiConjoint'])  ){
			$PrintEmploiConjoint.= "<option value=\"".$valeur."\" selected>".$cle."</option>\n";
		}else{
			$PrintEmploiConjoint.= "<option value=\"".$valeur."\">".$cle."</option>\n";
		}
	}
mon script final (final.php) fonctionne bien avec les sessions
à la fin du script, le client valide et les infos sont transférés dans ma bdd
la bdd est bien incrémentée
la variable Emploi est de type varchar et a une taille de 14
si je verifie via phpmyadmin ou par la fonction "echo", la bdd semble etre bien remplie
mais le script final ne prend pas en compte cette variable alors qu'elle prend bien les autres;
De plus si je modifie cette variable via mon fichier "clientmodif.php", le script marche parfaitement!!!
Il y a pourtant bien un pb, car lle fichier "clientmodif.php"
je ne comprend vraiment pas!
Ou dois-je chercher l'erreur
kogoi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/01/2010, 10h45   #10
Membre à l'essai
 
pat lacaze
Inscription : décembre 2009
Messages : 105
Détails du profil
Informations personnelles :
Nom : pat lacaze

Informations forums :
Inscription : décembre 2009
Messages : 105
Points : 22
Points : 22
Par défaut difference entre session et bdd

désolé j'ai fais une fausse manip et j'ai validé la discussion sans avoir fini mon explication,
voici la suite
Il y a pourtant bien un pb, car la variable Client n'est pas prévalidé dans le fichier "clientmodif.php"
je ne comprend vraiment pas!
voici le script de "clientmodif.php"
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
                    <td width="271" class="style11">Emploi : </td>
                    <td class="style13"><select name="Emploi" id="Emploi" onchange="ValidForm()">
										   <option value="">Selectionnez</option>
                       <option value="salarie"<?php if ($client['Emploi'] == "salarie")
					   echo "SELECTED";?>>salarie</option>
					   <option value="fonct"<?php if ($client['Emploi'] == "fonct")
					   echo "SELECTED";?>>fonctionnaire</option>
                       <option value="retraite"<?php if ($client['Emploi'] == "retraite")
					   echo "SELECTED";?>>retraite</option>
                       <option value="matern"<?php if ($client['Emploi'] == "matern")
					   echo "SELECTED";?>>assistante maternelle</option>
                       <option value="anpe"<?php if ($client['Emploi'] == "anpe")
					   echo "SELECTED";?>>ANPE dispensé de recherche d'Emploi</option>
                       <option value="congepar"<?php if ($client['Emploi'] == "congepar")
					   echo "SELECTED";?>>conge parental</option>
                       <option value="proflib"<?php if ($client['Emploi'] == "proflib")
					   echo "SELECTED";?>>prof lib</option>	
                       <option value="nonsal"<?php if ($client['Emploi'] == "nonsal")
					   echo "SELECTED";?>>non salarie</option>	
                       <option value="ces"<?php if ($client['Emploi'] == "ces")
					   echo "SELECTED";?>>cheque emploi service</option>		
                       <option value="autre"<?php if ($client['Emploi'] == "autre")
					   echo "SELECTED";?>>autre</option>	
                    </select></td>
                  </tr>
Ou dois-je chercher l'erreur
merci
kogoi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/02/2010, 11h09   #11
Membre à l'essai
 
pat lacaze
Inscription : décembre 2009
Messages : 105
Détails du profil
Informations personnelles :
Nom : pat lacaze

Informations forums :
Inscription : décembre 2009
Messages : 105
Points : 22
Points : 22
Par défaut difference entre session et bdd

bonjour
vraiment personne n'a d'idée
merci de m'aider
pat
kogoi est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +1. Il est actuellement 20h57.


 
 
 
 
Partenaires

Hébergement Web