Passage de paramètres en php entre 3 pages

Fermé
tintin - 25 sept. 2008 à 17:19
nEm3sis Messages postés 710 Date d'inscription lundi 20 août 2007 Statut Membre Dernière intervention 9 avril 2012 - 25 sept. 2008 à 17:26
Bonjour,

Utilisant 3 pages adet1.php, adet2.php et adet3.php liées à la table Mysql intitulée 'plant', je souhaite passer le paramètre ChoixFamille de adet1.php vers adet2.php puis le paramètre Choixgenre de adet2.php vers adet3.php et c'est dans cette dernière page que doit se faire l'affichage des 2 paramètres.
Le second paramètre s'affiche correctement mais ce n'est pas le cas du premier.

-----------------------adet1.php (extrait) -----------------
<?php

// Affichage des enregistrements

echo ("<form action='adet2.php' method='post'>");
echo ("<select name = 'ChoixFamille'>");
$SQL = "SELECT DISTINCT family FROM plant ORDER by family ASC";
$res = mysql_query($SQL);
while($val=mysql_fetch_array($res))
{
echo "<option value=\"".$val["family"]."\">".$val["family"]."</option>\n";
// dans une liste déroulante il faut toujours une value dans <option sinon sur certains navigateurs ça ne marche pas
}

echo ("</select>");
echo "<input type = 'submit' value = 'Envoyer'>";
echo ("</form>");
mysql_close();
?>
------------------ Fin de adet1.php ---------------------------

-----------------------adet2.php (extrait) -----------------
<?php
// Affichage des plantes de la famille sélectionnée

if (isset($_POST['ChoixFamille'])) {
// on affiche nos résultats
echo 'Famille ----> '.$_POST['ChoixFamille'];
echo '<p> </p>';
echo '<h2>Sélection du genre</h2>';
echo '<p> </p>';
}

else
{echo 'Aucune famille sélectionnée';
}

// Affichage des enregistrements
echo ("<form action='adet3.php' method='post'>");
echo ("<select name = 'ChoixGenre'>");
$SQL = "SELECT DISTINCT genre FROM plant WHERE family='".$_POST['ChoixFamille']."' ORDER by genre ASC";
$res = mysql_query($SQL);
while($val=mysql_fetch_array($res))
{
echo "<option value=\"".$val["genre"]."\">".$val["genre"]."</option>\n";
}

echo ("</select>");
echo "<input type = 'submit' value = 'Envoyer'>";
echo ("</form>");

mysql_close();
?>------------------ Fin de adet2.php ---------------------------

-----------------------adet3.php (extrait) -----------------
<?php
if (isset($_POST['ChoixGenre'])) {
// on affiche nos résultats
echo 'Famille ----> '.$_POST['ChoixFamille'];
echo 'Genre ----> '.$_POST['ChoixGenre'];

echo '<p> </p>';
echo '<h2>Sélection de la plante</h2>';
echo '<p> </p>';
}

else
{echo 'Aucun genre sélectionné';
}

// Affichage des enregistrements
$select = "SELECT * FROM plant WHERE genre='".$_POST['ChoixGenre']."'";

$result =mysql_query($select,$link) or die ('Erreur :'.mysql_errno().mysql_error());
$rows = mysql_num_rows($result);

if ($rows > 0)
{
echo '<table>'."\n";
echo '<tr>';
echo '<td><p align="center">Nom commun : </td>';
echo '<td><p align="center">Nom latin : </td>';
echo '<td><p align="center">Genre : </td>';
echo '</tr>'."\n";

// Résultats
while ($rows=mysql_fetch_array($result)) {
echo '<tr>';
echo '<td><p align="center">'.$rows['french'].'</td>';
echo '<td><p align="center">'.$rows['latin'].'</td>';
echo '<td><p align="center">'.$rows['genre'].'</td>';
echo '</tr>'."\n";
}
echo '</table>'."\n";
}

mysql_close();
?>------------------ Fin de adet3.php ---------------------------


Je me demande donc bien si ce passage est possible et si oui comment faire.
Un grand merci aux courageux décidés à se pencher sur ce problème.
tintin
A voir également:

2 réponses

Utilisateur anonyme
25 sept. 2008 à 17:25
oui,c'est possible.
il te faut utiliser les variables de session.
va voir là : http://www.phpdebutant.org/article47.php
-1
nEm3sis Messages postés 710 Date d'inscription lundi 20 août 2007 Statut Membre Dernière intervention 9 avril 2012 113
25 sept. 2008 à 17:26
j'ai pas lu en détail mais dans la page 2 tu pourrais rajouter a l'intérieur du formulaire un input caché qui contien la valeur a transmettre de la page 1 a la 3
->
echo '<input type="hidden" value="'.$_POST[la variable].'"'/>
-1