Page 1 sur 1

Recuperer une variable

Posté : 31 janv. 2014, 19:57
par dany31000
Bonsoir,

Depuis index.php je renvois le nom via un formulaire sur la page liste.php "
Donc sur la page liste.php j'ai bien " Bonjour dany " et la liste des chaffeur qui s'affiche depuis ma base de donnée limit 5 par pages.

Mais des que je fais page suivant la variable est perdu "j'ai une erreur " Notice: Undefined variable: nom in C:\wamp\www\liste.php "

que dois je faire une idée ?
<?php
$nom= $_POST['nom'];
echo  $nom;

//connexion au serveur puis choix de la base  
$db = mysql_connect('localhost', 'root', ''); 
mysql_select_db('log');


//la requête que j'ai choisi va sélectionner tout le contenue de la base 
//j'exécute ici la requête sans LIMIT pour extraire le nombre total d'enregistrement 

$sql1="select * from contact";
$req1=mysql_query($sql1);
$nbtotal=mysql_num_rows($req1);
//$limite est le nb d'enregistrement par page , 
$limite=1;
$page=$_GET['page']; //$_get['page'] est une variable qui passera dans le lien , elle commence à 1 donc pour accéder par exemple à la page liste.php il faut ajouter au lien ?page=1
$debut=($page-1)*$limite; // $debut à partir de quel enregistrement commence la selection dans notre cas si $page=1 $debut=0 / si $page=2 $debut=(2-1)*3 = 3
$sql="select * from contact LIMIT $debut,$limite"; //requête pour sélectionner les enregistrements par lot on commençant par début 
$req=mysql_query($sql); // exécution de la requête

while($data=mysql_fetch_array($req)) // parcourir le résultat de la requête
{
echo $data['nom']." ".$data['prenom']." ".$data['adresse']." ".$data['phone']." ".$data['email']."</br></br>"; //affichage des enregistrements

}



$nbpage=$nbtotal/$limite; //calcule de nombre de page 

if (($page==1) && ($nbpage > 1)) // si on est à la première page et que le nb de pages pour afficher les enregistrement est supérieure à 1 on affiche seulement le lien "suivant >>" qui peut être un bouton
{
$next=$page+1;
echo "<a href='liste.php?page=$next'>SUIVANT >></a>";
$_SESSION['pageencour']=2;
}
else 
{
  if ($page < $nbpage ) // si $page est inférieur au nb totale des page donc on affiche suivant>> et <<precédent
  {
  $prev=$page-1;
  $next=$page+1;
  echo "<a href='liste.php?page=$prev'><< précédent</a>  ";
  echo " <a href='liste.php?page=$next'>SUIVANT >></a>";
  }
  else
  {
   if (($page >= $nbpage) && ($nbpage > 1))// si on n'est à la dernière page et que le nb totale de page est sup à  on affiche seulement <<précédent 
   {
   $prev=$page-1;
  echo "<a href='liste.php?page=$prev'><< precedent </a>";
   }
  }
}
?>




Re: Recuperer une variable

Posté : 31 janv. 2014, 21:03
par xTG
Les variables en provenance d'un formulaire sont transmises dans la requête HTTP.
Or si tu cliques sur un lien tu génères une nouvelle requête HTTP (qui elle ne contient pas le contenu de la précédente).
Donc tu perds ta variable $_POST['nom'].

Le plus simple pour garder ta variable si ce n'est pas une information sensible est de transformer ton formulaire avec la method GET.
Ainsi la variable transite via l'url : $_GET['nom'].
Ensuite dans ton lien suivant il te suffit de rajouter la valeur reçue pour la transmettre de nouveau :
echo "<a href='liste.php?page=$next&nom=$nom'>SUIVANT >></a>";

Re: Recuperer une variable

Posté : 31 janv. 2014, 21:30
par dany31000
Merci pour ton aide, je fais exactement ce que vous m'avez dit mais j'ai ca

la premiers page ok http://www.xxxxx.com/liste.php?page=1&nom=$dany
la deuxieme page http://www.xxxxx.com/liste.php?page=2&nom=$nom

il arrive pas a trouvez la variable

pourquoi ?

Re: Recuperer une variable

Posté : 01 févr. 2014, 00:07
par xTG
Pourquoi te retrouves-tu avec $dany sur la première ?

Re: Recuperer une variable

Posté : 05 févr. 2014, 09:11
par dany31000
Non c est rien je me suis trompé .

c'est bon j'ai trouvé il faut mettre &nom='. $ nom.'