[RESOLU] Créer une session à partir d'un INT

Eléphanteau du PHP | 45 Messages

29 avr. 2014, 22:29

Bonjour,

j'aimerai créer une session à partir d'un INT dans mysql en l’occurrence ici avec "numero_calcul".

Jusqu'a maintenant j'arrive à créer ma session grâce à "sChi1 " qui est un $_POST

comme ceci :

Ccalcul.php
 function calcul_box()
		{
		
			$sChi1 = $GLOBALS['MySQL']->escape($_POST['n1']);
            $sSi1 = $GLOBALS['MySQL']->escape($_POST['si1']);
            $sChi2 = $GLOBALS['MySQL']->escape($_POST['n2']);
            $sVotresultat_1 = $GLOBALS['MySQL']->escape($_POST['result']);
			$sVotre_temps = $GLOBALS['MySQL']->escape($_POST['chronotime']);
  
        if ($sChi1 != "" && $sSi1 != "" && $sChi2 != "" && $sVotresultat_1 != "" && $sVotre_temps != "")
      
            {
			
				
                $bRf = $GLOBALS['MySQL']->res("INSERT INTO `addition` SET 
                    `chiffre1` = '{$sChi1}',
                    `signe1` = '{$sSi1}',
                    `chiffre2` = '{$sChi2}',
                    `votresultat` = '{$sVotresultat_1}',
					`chronotime` = '{$sVotre_temps}'
					
					"
					);
					
				$GLOBALS['CLogin']->performLogin($sChi1);
				return ($bRf) ? 1 : 3;
				
				
			}
	
		}
Clogin.php
 function performLogin($sChi1) {
        $this->performLogout();

        // make variables safe
        $sChi1 = $GLOBALS['MySQL']->escape($sChi1);

        $aProfile = $GLOBALS['MySQL']->getRow("SELECT * FROM `addition` WHERE `chiffre1`='{$sChi1}'");
        // $sPassEn = $aProfile['password'];
        $iPid = $aProfile['numero_calcul'];

       

        $_SESSION['member_numero_calcul'] = $iPid;
        $_SESSION['member_chiffre1'] = $sChi1;
    }
Comme "numero_calcul" est un int et n'est pas posté comment le récupérer?

Merci de m'éclairer

Eléphanteau du PHP | 45 Messages

02 mai 2014, 21:59

j'ai trouvé! enfin je crois, j'obtiens ce que je voulais en tout cas..

J'ai remplacé
$aProfile = $GLOBALS['MySQL']->getRow("SELECT * FROM `addition` WHERE `chiffre1`='{$sChi1}'");
dans Clogin.php

par
$aProfile = $GLOBALS['MySQL']->getRow("SELECT * FROM `addition` ORDER BY numero_calcul DESC LIMIT 1");
En effet, je voulais que ma base de donné enregistre des lignes de calcul indépendantes les unes des autres. Or dans le premier "$aprofile" proposé et bien à chaque fois que le même "chiffre1" était enregistré et bien les dernières informations personnelles (nom et adresse email) remplaçaient celles qui étaient enregistrées auparavant.. la solution est donc de passer par numero_calcul car celui-ci est unique à chaque calcul enregistré.

La solution était donc de faire appel au numero_calcul correspondant au dernier calcul enregistré.

Merci