IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

difference entre session et bdd


Sujet :

PHP & Base de données

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    105
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 105
    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

  2. #2
    Membre expérimenté
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Janvier 2008
    Messages
    227
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Janvier 2008
    Messages : 227
    Par défaut
    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

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    105
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 105
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    $residuelGE1=GetResiduel($_SESSION['saisie'],$_SESSION['ctx'],$_SESSION['atd'],$_SESSION['rachcred'], $_SESSION['rachcreddate']);
    et des bdd
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $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

  4. #4
    Membre expérimenté
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Janvier 2008
    Messages
    227
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Janvier 2008
    Messages : 227
    Par défaut
    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

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    105
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 105
    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

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    105
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 105
    Par défaut difference entre session et bdd
    j'oubliai le bout de fonction

    en session
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    $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'])"

  7. #7
    Membre expérimenté
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Janvier 2008
    Messages
    227
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Janvier 2008
    Messages : 227
    Par défaut
    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

  8. #8
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    105
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 105
    Par défaut difference entre session et bdd
    ok
    j'essaye
    je te tiens au courant
    encore merci
    pat

  9. #9
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    105
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 105
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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

  10. #10
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    105
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 105
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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

  11. #11
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    105
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 105
    Par défaut difference entre session et bdd
    bonjour
    vraiment personne n'a d'idée
    merci de m'aider
    pat

Discussions similaires

  1. difference entre session expiré et pas de session
    Par stevelaclasse dans le forum Servlets/JSP
    Réponses: 3
    Dernier message: 25/07/2013, 11h04
  2. Différences entre Delphi et Visual Basic ?
    Par Anonymous dans le forum Débats sur le développement - Le Best Of
    Réponses: 75
    Dernier message: 30/03/2009, 20h09
  3. Réponses: 5
    Dernier message: 24/11/2005, 11h32
  4. [] Difference entre MSHFlexGrid et MSFlexGrid
    Par olivierx dans le forum VB 6 et antérieur
    Réponses: 6
    Dernier message: 23/04/2003, 08h48
  5. Difference entre types d'Adresse IP
    Par freud dans le forum Développement
    Réponses: 3
    Dernier message: 02/03/2003, 02h06

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo