Liste déroulante

Eléphant du PHP | 424 Messages

21 nov. 2006, 13:33

Bonjour,

J'ai suivi le tuto http://www.phpfrance.com/forums/voir_sujet-4562.php réalisé par Cyrano que je remercie...
je n'ai pas besoin d'afficher la ligne:

<p>Vous avez sélectionné le département <?php echo($dept_selectionne); ?> dans la région <?php echo($region_selectionnee); ?></p>

Je n'indique donc pas dans l'action de mon formulaire : "<?php echo($_SERVER['PHP_SELF']); ?>" mais plutot : ajout_departement.php

Mon probleme c'est que quand je change les régions via la liste déroulante région la page est actualisé et de ve fait envoyé. du coup je ne peux pas finir le traitement de mon formulaire...

Que dois je modifier pour ne pas avoir ce probleme ?

Merci pour votre aide
Youpi Youpi Yo !

Mammouth du PHP | 19672 Messages

21 nov. 2006, 14:29

L'affichage indiqué et le contenu de ton attribut action n'ont pas vraiment de rapport : tu peux supprimer le premier sans toucher au second. Et si tu veux pouvoir pointer vers une autre page lorsque tous tes choix sont faits (région + département), il te faut tester en début de page si ces deux données sont valides et le cas échéant rediriger vers la seconde page en envoyant en plus les paramètres de ces données, par exemple, l'identifiant de région et celui de département, ce qui donnerait comme url quelque chose du genre ajout_departement.php?idr=2&idd=24 par exemple
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphant du PHP | 424 Messages

21 nov. 2006, 17:22

Puis je avoir un exemple de vérification de données ?

Car je ne trouve pas comment faire !!!

Merci pour ton aide.... :D
Youpi Youpi Yo !

Mammouth du PHP | 19672 Messages

21 nov. 2006, 17:25

Tu as vu fonctionner le système de l'exemple : comment est-ce que je vérifie la valeur de la première liste pour afficher la seconde ?

Procède de la même manière pour vérifier la première ET la seconde valeur et construis l'url cible pour mettre un header()
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphant du PHP | 424 Messages

22 nov. 2006, 14:27

J'ai donc essayé de faire ce que tu m'a dit mais cela ne fonctionne pas.

Voici ce que j'ai fais :
<?php if(isset($_POST['ok']) && isset($_POST['departement']) && $_POST['departement'] && $_POST['cle'] != "") 
{ 
    $region_selectionnee = $_POST['region']; 
    $dept_selectionne = $_POST['departement'];
	$cle = $_POST['cle'];
header("Location:inscription.php");
	}
?>  
Merci pour ton aide
Youpi Youpi Yo !

ViPHP
ViPHP | 1961 Messages

22 nov. 2006, 14:37

Bonjour,

Je ne pense pas que tu as suivi les conseils de Cyrano

En les suivant tu devrais obtenir QQ chose du style
<?php if(isset($_POST['ok']) && isset($_POST['departement']) && (isset($_POST['cle']) && $_POST['cle'] != ""))
{ 
Deux choses sont infinies, l'Univers et la sottise humaine!!
Mais je ne suis pas sur de ce que j'affirme au sujet de l'Univers.

A. Einstein

Eléphant du PHP | 424 Messages

22 nov. 2006, 15:25

Oui mais en faisant comme ca la valeur de departement ($_POST['departement'] ) n'existe plus !!!
Youpi Youpi Yo !

ViPHP
ViPHP | 1961 Messages

22 nov. 2006, 15:29

<?php if(isset($_POST['ok']) && isset($_POST['departement']) && (isset($_POST['cle']) && $_POST['cle'] != ""))
{ 
Dans cette ligne on ne fait que tester, en aucun cas on modifie une valeur, je ne vois où on fait une action sur "$_POST['departement'] " ??? :shock:
Deux choses sont infinies, l'Univers et la sottise humaine!!
Mais je ne suis pas sur de ce que j'affirme au sujet de l'Univers.

A. Einstein

Eléphant du PHP | 424 Messages

22 nov. 2006, 15:32

Sur le code suivant....

J'indique que :
if(isset($_POST['ok']) && isset($_POST['departement']) && (isset($_POST['cle']) && $_POST['cle'] != "")) 
{
 
    $region_selectionnee = $_POST['region']; 
    $dept_selectionne = $_POST['departement'];
	
	header("Location:test.php"); 

} 
?> 
$dept_selectionne = $_POST['departement']; dans la liste déroulante departement je test si $_POST['departement'] n'est pas égal à rien et si c'est le cas j'indique la valeur de $dept_selectionne ...
Youpi Youpi Yo !

ViPHP
ViPHP | 1961 Messages

22 nov. 2006, 15:40

Sur le code suivant....

J'indique que :
if(isset($_POST['ok']) && isset($_POST['departement']) && (isset($_POST['cle']) && $_POST['cle'] != "")) 
{
 
    $region_selectionnee = $_POST['region']; 
    $dept_selectionne = $_POST['departement'];
	
	header("Location:test.php"); 

} 
?> 
$dept_selectionne = $_POST['departement']; dans la liste déroulante departement je test si $_POST['departement'] n'est pas égal à rien et si c'est le cas j'indique la valeur de $dept_selectionne ...
Dans ce code je ne vois nullepart un tel test.
Le seul test qui est fait c'est
isset($_POST['departement'])
ce qui veux dire "$_POST['departement'] existe ?" il n'y-a aucun test sur son contenu.
Deux choses sont infinies, l'Univers et la sottise humaine!!
Mais je ne suis pas sur de ce que j'affirme au sujet de l'Univers.

A. Einstein

Eléphant du PHP | 424 Messages

22 nov. 2006, 15:48

Dans le code d'origine il est écrit :
if(isset($_POST['ok']) && isset($_POST['departement']) && $_POST['departement'] != "") 
Departement est présent dans ce code ! mais dans le code que tu m'as mis il n'existe plus !!!! et cette valeur m'est utile pour le reste de mon code...

MErci pour ton aide
Youpi Youpi Yo !

ViPHP
ViPHP | 1961 Messages

22 nov. 2006, 15:50

J'ai donc essayé de faire ce que tu m'a dit mais cela ne fonctionne pas.

Voici ce que j'ai fais :
<?php if(isset($_POST['ok']) && isset($_POST['departement']) && $_POST['departement'] && $_POST['cle'] != "") 
{ 
    $region_selectionnee = $_POST['region']; 
    $dept_selectionne = $_POST['departement'];
	$cle = $_POST['cle'];
header("Location:inscription.php");
	}
?>  
Merci pour ton aide
Regarde bien le code que tu as posté et du quel je suis parti. Tu est sur qu'il-y-a le mêmes choses ???
Deux choses sont infinies, l'Univers et la sottise humaine!!
Mais je ne suis pas sur de ce que j'affirme au sujet de l'Univers.

A. Einstein

Eléphant du PHP | 424 Messages

22 nov. 2006, 15:52

Non mais ca c'est le code que moi j'ai réalisé et qui ne fonctionné pas... le code d'origine est dans le lien un peu plus haut :D

Bref je n'arrive pas à faire fonctionner ce code....
Youpi Youpi Yo !

ViPHP
ViPHP | 1961 Messages

22 nov. 2006, 15:56

Essaie ceci
if(isset($_POST['ok']) && (isset($_POST['departement']) && $_POST['departement'] != "") && (isset($_POST['cle']) && $_POST['cle'] != "")) 
{
 
    $region_selectionnee = $_POST['region']; 
    $dept_selectionne = $_POST['departement'];
    
    header("Location:test.php"); 

} 
?>
Deux choses sont infinies, l'Univers et la sottise humaine!!
Mais je ne suis pas sur de ce que j'affirme au sujet de l'Univers.

A. Einstein

Eléphant du PHP | 424 Messages

22 nov. 2006, 15:59

Non la valeur de departement n'est plus.... j'ai pourtant tourné dans tous les sens mais je ne trouve pas.
Youpi Youpi Yo !