Rechercher : dans
Par :

Passage de paramètres en php entre 3 pages

Dernière réponse le 25 sep 2008 à 17:26:21 tintin, le 25 sep 2008 à 17:19:53 
 Signaler ce message aux modérateurs

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

Configuration: Windows XP
Internet Explorer 6.0

Meilleures réponses pour « Passage de paramètres en php entre 3 pages » dans :
[PHP] Les ressemblances à ne pas confondre VoirIntroduction Concaténation ou paramètres ? Guillemets/Apostrophe Structure require/include isset vs empty htmlentities ou htmlspecialchars ? Nombre de signes égal Introduction Cette astuce présente plusieurs fonction ou astuces en...
Bash - Les paramètres VoirIntroduction Les paramètres positionnels Exemple 1 Les paramètres spéciaux Exemple 2 Initialiser des paramètres - La commande "set" - Exemples - La commande "shift" - Exemple 3 Introduction Il est possible de fournir à un script,...
Introduction à PHP VoirQu'est-ce que PHP? PHP est un langage interprété (un langage de script) exécuté du côté serveur (comme les scripts CGI, ASP, ...) et non du côté client (un script écrit en Javascript ou une applet Java s'exécute sur votre ordinateur...). La...

1

feez, le 25 sep 2008 à 17:25:40

Oui,c'est possible.
il te faut utiliser les variables de session.
va voir là : http://www.phpdebutant.org/article47.php Si votre problème est résolu, faites le savoir ^^

Répondre à feez

2

 nEm3sis, le 25 sep 2008 à 17:26:21

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].'"'/>

Répondre à nEm3sis