Page 1 sur 1

Mamp et formulaire renvoyant sur la même page

Posté : 11 mai 2013, 12:08
par Myrtille
Bonjour !

Je suis une grande débutante en php - pour tout vous dire, j'en suis encore au stade où je copie/colle des procédures toutes faites trouvées sur le net que j'adapte ensuite à mes besoins...
J'ai téléchargé Mamp et je m'amuse donc à faire tourner quelques codes pour "voir si ça marche". J'ai goûté la joie de créer des formulaires... mais voilà : j'aurais besoin d'un formulaire qui renvoie le résultat sur la même page. J'ai commencé par simplement adapté mon formulaire en changeant l'adresse d'arrivée, puis, en voyant que ça ne marchait pas (après avoir rempli le formulaire, la page qui s'affiche est systématiquement la page qui s'afficherait si je n'avais pas rempli le formulaire), j'ai copié le code relatif au "choix des couleurs préférées" sur ce site : ac-creteil.fr/util/programmation/scripts/php-formulaire.php en l'adaptant un peu parce que chez moi, l'affichage des rectangles colorés faisait disparaître les cases à cocher (encore un truc bizarre 8-| )
... peine perdue, ça ne marche toujours pas quand je fais un essai sous Mamp. Est-ce que ça vient de Mamp ou bien est-ce que ça vient du code ?...

Voici ci-dessous le contenu exact et entier de ma page php :

Code : Tout sélectionner

<html> <head> <title>Choix de la couleur</title> </head> <body> <FORM action="essai2formulaire.php" method="post"> Indiquez toutes vos couleurs préférées<br /> <input type="checkbox" name="choix[]" value="rouge">Rouge <br /> <input type="checkbox" name="choix[]" value="bleu">Bleu<br /> <input type="checkbox" name="choix[]" value="vert">Vert<br /> <input type="checkbox" name="choix[]" value="noir">Noir<br /> <input type="submit" value="Valider"> </FORM> <? echo "<h4>Vos couleurs préférées sont </h4>"; for ($i=0 ; $i< sizeof($choix) ; $i++) if (isset($choix[$i]) ) echo("$choix[$i] - "); ?> </body> </html>
Je vous remercie d'avance pour vos réponses et votre indulgence !

Re: Mamp et formulaire renvoyant sur la même page

Posté : 11 mai 2013, 13:42
par ghost5922
Bonjour,

pour avoir un formulaire qui renvoi sur la même page dans action on laisse vide

puis pour savoir si le formulaire a été valide on vérifie sois que $_POST et pressent ou directement si le name du sumit et pressent
<html>
<head>
<title>Choix de la couleur</title>
</head>
<body>

<?php
if(isset($_POST['form'])){
	//traitement 
	
}
else{
?>
<FORM action="" method="post">
Indiquez toutes vos couleurs préférées

<input type="checkbox" name="choix[]" value="rouge">Rouge


<input type="checkbox" name="choix[]" value="bleu">Bleu

<input type="checkbox" name="choix[]" value="vert">Vert

<input type="checkbox" name="choix[]" value="noir">Noir

<input type="submit" name="form" value="Valider">
</FORM>
<?
echo "<h4>Vos couleurs préférées sont </h4>";
for ($i=0 ; $i< sizeof($choix) ; $i++)
   if (isset($choix[$i]) )
   echo("$choix[$i]  - ");
}
?>
</body>
</html>

Re: Mamp et formulaire renvoyant sur la même page

Posté : 11 mai 2013, 13:59
par bils
Salut,

Le code ci dessous marche bien chez moi.

Qu'est ce que tu as comme message d'erreur?
<html>
<head>
<title>Choix de la couleur</title>
</head>
<body>


<FORM action="" method="post">
Indiquez toutes vos couleurs préférées<br>
<TABLE>
	<TR>
		<TD bgcolor="red" width="50"> </TD>
		<TD>
			<input type="checkbox" name="choix[]" value="rouge">Rouge
		</TD>
	</TR>
	<TR>
		<TD bgcolor="blue" width="50"> </TD>
		<TD>
			<input type="checkbox" name="choix[]" value="bleu">Bleu
		</TD>
	</TR>
	<TR>
		<TD bgcolor="green" width="50"> 
		</TD>
		<TD>
			<input type="checkbox" name="choix[]" value="vert">Vert
		</TD>
	</TR><TR>
		<TD bgcolor="black" width="50"> </TD>
		<TD>
			<input type="checkbox" name="choix[]" value="noir">Noir
		</TD>
	</TR>
</TABLE>
	<input type="submit" value="Valider">
</FORM>
<?php

$choix=$_POST['choix'];
echo "<h4>Vos couleurs préférées sont </h4>";
for ($i=0 ; $i< sizeof($choix) ; $i++)
   if (isset($choix[$i]) )
   echo("$choix[$i]  - ");
?>
</body>
</html>

Re: Mamp et formulaire renvoyant sur la même page

Posté : 11 mai 2013, 13:59
par Myrtille
Merci beaucoup ghost5922 ! Gros progrès sur ma page, j'arrive à faire apparaître la petite phrase "Vos couleurs préférées sont". Par contre, les couleurs sélectionnées ne s'affichent pas...
Bils, je n'ai pas de message d'erreur : dans le pire des cas, une page blanche après avoir validé mon choix, sinon retour sur exactement la même page...

Re: Mamp et formulaire renvoyant sur la même page

Posté : 11 mai 2013, 14:55
par bils
Vérifies dans le php.ini de MAMP que display_errors est bien sur on.
Une fois que l'erreur s'affichera ca sera plus simple de la traiter.

Re: Mamp et formulaire renvoyant sur la même page

Posté : 11 mai 2013, 15:02
par ghost5922
Bonjour,

petit erreur javais pas vu que votre for vous servez a récupéré vos données
<html>
<head>
<title>Choix de la couleur</title>
</head>
<body>

<?php
if(isset($_POST['form'])){
	//traitement 
	echo "<h4>Vos couleurs préférées sont </h4>";
	print_r($_POST);
}
else{
?>
<FORM action="" method="post">
Indiquez toutes vos couleurs préférées

<input type="checkbox" name="choix[]" value="rouge">Rouge


<input type="checkbox" name="choix[]" value="bleu">Bleu

<input type="checkbox" name="choix[]" value="vert">Vert

<input type="checkbox" name="choix[]" value="noir">Noir

<input type="submit" name="form" value="Valider">
</FORM>
<?
}
?>
</body>
</html>