begin process at 2012 05 31 19:21:10
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Divers

 > 

Débutant(e)

 > 

Variables qui se perdent en route


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

Variables qui se perdent en route

vendredi 20 juin 2008 à 14:03:09 | Variables qui se perdent en route

kevin54000

Bonjour :)
j'ai un petit problème de variables qui se perdent durant la navigation !
En effet, j'ai une variable $client sur ma page client.php transmise a article.php de cette manière :
Code : PHP
1
echo "<ahref=\"article.php?client=$ligne[1]


Puis je la met en variable de session :
Code : PHP
1
2
$client= $_GET['client'];
$_SESSION['client'] = $client ;


Ensuite, sur la page article.php et la page article2.php, aucun problème.
De même sur la page article3.php, mais cette page qui a pour but de rediriger à nouveau vers la page article.php ne transmet plus la variable, et donc n'apparait plus sur la page article.php lors du second passage :(

Et je ne vois pas pourquoi ...
Si quelqu'un a une idée :-°
Merci !
vendredi 20 juin 2008 à 14:10:35 | Re : Variables qui se perdent en route

Bling 182

Tu as bien fait tes session_start() sur toutes tes pages ?

comment tu passes la variable entre article, article2 et article3 ?

--
Bling182 Dev : http://freelancedev.ovh.org
vendredi 20 juin 2008 à 14:17:37 | Re : Variables qui se perdent en route

kevin54000

Pour les session_start() : oui
Entre ces pages, j'ai juste remis $_SESSION['client'] = $client ; Cela fonctionne puisque mon echo $client s'affiche sauf au moment ou l'on retourne sur la page article.php

vendredi 20 juin 2008 à 15:19:06 | Re : Variables qui se perdent en route

Bling 182

Je crois voir d'ou vient le problème...

Dans article.php, tu fais $client = $_GET['client'], et quand tu reviens sur article.php depuis article3.php, ben $_GET['client'] n'a pas de valeur.

Suffit de te protéger (mettre un gros préservat _if_ )

if (isset($_GET['client'])) {
   $client = $_GET['client'];
   $_SESSION['client'] = $client;
} else {
   $client = $_SESSION['client'];
}

Désolé pour la blague foireuse...

--
Bling182 Dev : http://freelancedev.ovh.org
vendredi 20 juin 2008 à 15:33:41 | Re : Variables qui se perdent en route

kevin54000

Je dois bien mettre ca au début de ma page article.php ?
Si c'est le cas, ça ne marche toujours pas
vendredi 20 juin 2008 à 15:40:06 | Re : Variables qui se perdent en route

Bling 182

Colle le code de tes différentes pages, parce que comme ca je vois pas

--
Bling182 Dev : http://freelancedev.ovh.org
vendredi 20 juin 2008 à 15:50:34 | Re : Variables qui se perdent en route

kevin54000

client2.php :
<?php
session_start();
if(isset($_GET["session_close"])) session_destroy();

$client= $_POST['client'];
$_SESSION['client'] = $client ;

$type= $_POST['type'];
$_SESSION['type'] = $type ;
?>

<html>
<title>Verification</title>
<h1 align="center">verification du nom de client</h1>
<p align="left">&nbsp;
<p align="center">&nbsp;
<p align="center">&nbsp;
<head>
<link rel="stylesheet" media="screen" type="text/css" title="Essai" href="style.css" />
</head>
<body>


<?php
echo " Selectionnez le client souhaité : <br><br> "  ;

$fp = fopen("client.txt","r") ;
$compare=0;
   
while(!feof($fp) or ($compare==1))
{
   
    $buffer = fgets($fp);
    $ligne = explode(';',$buffer);
       
    if ($client==substr($ligne[1],0,strlen($client)))
    {
        echo "<div class=\"center_justifie\">$ligne[1]<br>";
        echo $ligne[2]."<br>";
        echo $ligne[3]."<br>";
        echo $ligne[4]."<br>";   
        echo "<a href=\"article.php?client=$ligne[1]\"><img src =\"images/valider.bmp\"> <br><br><br><br>" ;
       
    }   
}
    if ($compare==0)
    {   
        echo 'Le client n\'existe pas <br>';
        ?><a href="client.php">Retour </div><?php
    }   
?>       

</body>
</html>




article.php :
<?php
session_start();
if(isset($_GET["session_close"])) session_destroy();

$type = $_SESSION['type'] ;

$client= $_GET['client'];
$_SESSION['client'] = $client ;

if (isset($_GET['client'])) {
   $client = $_GET['client'];
   $_SESSION['client'] = $client;
} else {
   $client = $_SESSION['client'];
}
echo $client ;
?>

<html>
<title>Saisie Gencod</title>
<head>
<link rel="stylesheet" media="screen" type="text/css" title="Essai" href="style.css" />
<script language="JavaScript">
function setfocus()
    {
    document.form1.gencod.focus();
    }
</script>
</head>
<body onload="setfocus();">
<p align="center"><img src="images/soft2rent.gif" alt="Soft2Rent" id="LogoS2R" align="center">
<p align="center">&nbsp;</p>
<p align="center"><?php echo "Client : ".$client; ?> </p>
<div id="index">
<form name = "form1" action="article2.php" method="post" ENCTYPE="multipart/form-data>

      <table width="100%" height="60" cellpadding="0" cellspacing="0">
        <tr>
            <td>
                <p align="center">&nbsp;</p>
                <p align="center"><u>Saisir un article</u></p>
            </td>
        </tr>
        <tr>
            <td>
                <p>&nbsp;</p>
            </td> 
        </tr>
        <tr> 
            <td>
                <p align="center">GENCOD : </p>
            </td>
        </tr>
        <tr>
            <td>
                <p align="center"><input type="text" name="gencod"></p>
            </td> 
        </tr>   
        <tr>
          <td colspan="2" id="log_haut">
              <p>&nbsp;</p>
              <p>
                 <p align="center"><input type="submit" id="boutonsaisie" value="Valider"></p>
              </p>
            </td>
        </tr>
        <p align ="center"><a href="totaux.php">Vers facturation</a></p>
      </table>
</div>
<br><br>
<p align ="center"><a href="client.php"><img src="images/bouton_retour.gif"></a></p>
</form>
</body>
</html>



article2.php :
<?php
session_start();
if(isset($_GET["session_close"])) session_destroy();

$gencod= $_POST['gencod'];
$_SESSION['gencod'] = $gencod ;
$type = $_SESSION['type'] ;

$client = $_SESSION['client'] ;
echo $client ;

?>


<?php
if(!isset($_POST['gencod']) && empty($_POST['gencod']))
    { //Si les informations du formulaire sont pas postés ou vides, c'est qu'il y a une erreur
        echo "Erreur lors de la saisie du fichier. Essayer à nouveau.";
        header("Location:article.php");
    }
    else
        if (!is_numeric($_POST['gencod']))  
    {  
        echo "La donnée saisie n'est pas un chiffre";  
        header("Location:article.php") ;
    }
   
else
{
    $gencod = $_POST['gencod'] ;
    $fp = fopen("artic.txt","r") ;
   
        while(!feof($fp))
        {
        $compare=0;
        $buffer = fgets($fp);
        $ligne = explode(';',$buffer);
               
        if ($gencod==$ligne[0])
            {
                $design = $ligne[1] ;
                $prix = $ligne[2] ;
                $compare=1;
            }   
        }
        if ($compare==0)
            {   
                echo 'L\'article n\'existe pas'."<br>";
                ?><a href="article.php">Retour</a><?php
            }   
}       
?>

<html>
<title>Saisie</title>

<head>
<link rel="stylesheet" media="screen" type="text/css" title="Essai" href="style.css" />
<script language="JavaScript">
function setfocus()
    {
    document.form5.quantite.focus();
    }
</script>
</head>
<body onload="setfocus();">
<h1 align="center">Saisie d'un article</h1>
<div id="index">

<form name="form5" action="article3.php" method="post">
    <table width="100%" height="60" cellpadding="0" cellspacing="0">
        <tr>
            <td>       
                <p align="center">Designation : </p>
            </td>
        </tr>
        <tr>
              <td>
                <p align="center"><input type="text" name="design" value = <?php echo "$design"?> ></p>
            </td>
        </tr>   
        <tr>
            <td>       
                <p align="center">Quantité désirée : </p>
            </td>
        </tr>
        <tr>
              <td>
                <p align="center"><input type="text" name="quantite" value = <?php if ($type == "facture" ) { echo 1 ;} else {echo -1 ; } ; ?> ></p>
            </td>
        </tr>   
        <tr>
            <td>       
                <p align="center">Prix souhaité : </p>
            </td>
        </tr>
        <tr>
              <td>
                <p align="center"><input type="text" name="prix" value = <?php echo "$prix" ?> ></p>
            </td>
        </tr>   
        <tr>
            <td>
                <p>&nbsp;</p>
                <p align="center"><input type="submit" id="bouton5" value="Valider"></p>
            </td>
        </tr>
    </table>
</form>
</div>
</body>
</html>


article3.php :
<?php
session_start();
if(isset($_GET["session_close"])) session_destroy();
$gencod = $_SESSION['gencod'];
$type = $_SESSION['type'] ;

$client = $_SESSION['client'] ;
echo $client ;
?>

<html>
<title>Verification</title>
<body>
<h1 align="center">verification du Gencod</h1>
<p align="left">&nbsp;</p>
<p align="center">&nbsp;</p>
<p align="center">&nbsp;</p>
<head>
<link rel="stylesheet" media="screen" type="text/css" title="Essai" href="style.css" />
</head>

<?php

$quantite = $_POST['quantite'] ;
$prix = $_POST['prix'] ;
$total = $prix * $quantite ;

$fp = fopen("param.txt","r");
$param = fgets($fp,255);

if ($type == "facture" )
{
    $text = ($param.";".$client.";"."F".";".$gencod.";".$_POST['design'].";".$_POST['quantite'].";".$_POST['prix'].";".$total.";"."\r\n") ;
}
else
{
    $text = ($param.";".$client.";"."A".";".$gencod.";".$_POST['design'].";".$_POST['quantite'].";".$_POST['prix'].";".$total.";"."\r\n") ;
}

$fp = fopen("commande.txt","a");
fputs($fp,$text);      
fclose($fp);     

echo "<META HTTP-EQUIV=\"Refresh\" CONTENT=0.5;URL=\"article.php\"> " ;
?>
</body>
</html>


J'ai pas trouvé le moyen de "colorer" le code, désolé si c'est pas lisible :/
 
vendredi 20 juin 2008 à 16:07:42 | Re : Variables qui se perdent en route

Bling 182

Réponse acceptée !
article.php :
<?php
session_start();
if(isset($_GET["session_close"])) session_destroy();

$type = $_SESSION['type'] ;

---> $client= $_GET['client'];
---> $_SESSION['client'] = $client ;

if (isset($_GET['client'])) {
   $client = $_GET['client'];
   $_SESSION['client'] = $client;
} else {
   $client = $_SESSION['client'];
}
echo $client ;
?>


il y a :
$client= $_GET['client'];
$_SESSION['client'] = $client ;


en trop

--
Bling182 Dev : http://freelancedev.ovh.org
vendredi 20 juin 2008 à 16:16:51 | Re : Variables qui se perdent en route

kevin54000

Ah oui, ça marche !
Merci de m'avoir aidé , t'a résolu 3 de mes problèmes depuis hier :D
vendredi 20 juin 2008 à 16:19:00 | Re : Variables qui se perdent en route

Bling 182

De rien, le site est la pour ca ;)

--
Bling182 Dev : http://freelancedev.ovh.org


Cette discussion est classée dans : page, variables, php, client, article


Répondre à ce message

Sujets en rapport avec ce message

passage de variables via un lien classique [ par ChocoBiscuit ] Bonjour tout le monde....Est il possible d'ouvrir un lien dans la même fenêtre, et de lui passer des variables utilisables en PHP?exemple concret...on Suivi de variables de session à partir d'1 popup [ par beios ] Bonjour,L'apprentissage de PHP et JavaScript est laborieux.Je vous expose mon problème.Cette page se situe dans un popup.Lorsque je clique sur le bout php session : variables perdues ... [ par Mo11 ] Salut tout le monde, Je me permet de poster ce message puisque je suis a court de nouvels idée pour résoudre mon problèm. En bref, j'ai une page qui o Problème de formulaire et récupération de variables [ par shukudai ] Bonjour, j'écris ce sujet pour chercher de l'aide au secours SOS!!!!!!! En fait voila, j’ai un problème au niveau de la base de données. En fait, j’a Version PHP et variables session [ par cfoufa ] Bonjour! J'ai fais un portage de mes page de Windows a Linux (mandrake 8.1). Comme c'est une veille version de php que fais tourner mon Mandrake, j'ai plusieurs variables ? [ par fedebul ] bonjour voila  j'ai une galere sur une page php , j'ai fait une e-card en flash avec trois champs de texte avec chacune une variable mais sur ma page Variables de session perdues [ par Benz ] Bonjour,Une question relative à l'utilisation des variables de session.Dans une page a.php, j'ai le code suivant en haut de page, avant tout code HTML garder des variables en mémoire [ par rasengan7 ] Bonjour,j'aimerai savori comment on fais pour garder des variable en mémoire.j'ai une page identification ki met en mémoire le login et pass du client Plusieurs boutons de type "submit" dans la même page [ par faty86 ] Salut !!J'ai une page consulterClient.php dans laquelle j'insère la reference d'un client.En cliquant sur un bouton submit une autre page consutercl2. Passer des variables dans un lien [ par kevin54000 ] Bonjour à tous.J'explique mon problème : sur une page j'ai plusieurs noms de client qui sont cherché dans un fichier .txt et affichés à l'écran.En des


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

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 : 1,139 sec (3)

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