Probleme de recuperation de text (php)

Résolu/Fermé
Nekthai - 14 nov. 2010 à 19:57
jalalnet Messages postés 293 Date d'inscription mardi 20 octobre 2009 Statut Membre Dernière intervention 30 juillet 2023 - 15 nov. 2010 à 12:48
Bonjour,
j'ai crée mon premier formulaire en ligne et la récupération de toute mes donnée se fait correctement mais j'ai 3 problèmes:

1 - Je ne recois pas la valeur de l'element 8

2- J'aimerais recevoir le nom des éléments 9 "equipement" mais je ne reçois que les chiffres (1,2,...)

3- La partie "Demande particulière" (element_6) ne fonctionne pas, j'ai essaillé plusieurs code mais a chaque fois ca me supprime les autre donné...mon mail ne comporte que "demande particuliére: ...)

Merci d'avance pour vos réponse je suis completement bloqué...

Voici la partie du questionnaire (html):


<li id="li_1" >
<label class="description" for="element_1">Name </label>
<span>
<input id="element_1_1" name= "element_1_1" class="element text" maxlength="255" size="8" value=""/>
<label>First</label>
</span>
<span>
<input id="element_1_2" name= "element_1_2" class="element text" maxlength="255" size="14" value=""/>
<label>Last</label>
</span>
</li> <li id="li_3" >
<label class="description" for="element_3">Phone </label>
<div>
<input id="element_3" name="element_3" class="element text medium" type="text" maxlength="255" value=""/>
</div>
</li> <li id="li_2" >
<label class="description" for="element_2">Email </label>
<div>
<input id="element_2" name="element_2" class="element text medium" type="text" maxlength="255" value=""/>
</div>
</li> <li id="li_7" >
<label class="description" for="element_7">Nombre de personne </label>
<div>
<select class="element select medium" id="element_7" name="element_7">
<option value="" selected="selected"></option>
<option value="1" >1</option>
<option value="2" >2</option>
<option value="3" >3</option>
<option value="4" >4</option>
<option value="5" >5</option>
<option value="6" >6</option>
<option value="7" >7</option>
<option value="8" >8</option>
<option value="9" >9</option>
<option value="10" >10</option>
<option value="11" >11</option>
<option value="12" >12</option>
<option value="13" >13</option>
<option value="14" >14</option>
<option value="15" >15</option>
<option value="16" >16</option>
<option value="17" >17</option>
<option value="18" >18</option>
<option value="19" >19</option>
<option value="20" >20 et plus</option>

</select>
</div>
</li> <li id="li_4" >
<label class="description" for="element_4">Date d'arrivé à Phuket </label>
<span>
<input id="element_4_1" name="element_4_1" class="element text" size="2" maxlength="2" value="" type="text"> /
<label for="element_4_1">DD</label>
</span>
<span>
<input id="element_4_2" name="element_4_2" class="element text" size="2" maxlength="2" value="" type="text"> /
<label for="element_4_2">MM</label>
</span>
<span>
<input id="element_4_3" name="element_4_3" class="element text" size="4" maxlength="4" value="" type="text">
<label for="element_4_3">YYYY</label>
</span>

<span id="calendar_4">
<img id="cal_img_4" class="datepicker" src="images/calendar.gif" alt="Pick a date.">
</span>
<script type="text/javascript">
Calendar.setup({
inputField : "element_4_3",
baseField : "element_4",
displayArea : "calendar_4",
button : "cal_img_4",
ifFormat : "%B %e, %Y",
onSelect : selectEuropeDate
});
</script>

</li> <li id="li_5" >
<label class="description" for="element_5">Date de départ </label>
<span>
<input id="element_5_1" name="element_5_1" class="element text" size="2" maxlength="2" value="" type="text"> /
<label for="element_5_1">MM</label>
</span>
<span>
<input id="element_5_2" name="element_5_2" class="element text" size="2" maxlength="2" value="" type="text"> /
<label for="element_5_2">DD</label>
</span>
<span>
<input id="element_5_3" name="element_5_3" class="element text" size="4" maxlength="4" value="" type="text">
<label for="element_5_3">YYYY</label>
</span>

<span id="calendar_5">
<img id="cal_img_5" class="datepicker" src="calendar.gif" alt="Pick a date.">
</span>
<script type="text/javascript">
Calendar.setup({
inputField : "element_5_3",
baseField : "element_5",
displayArea : "calendar_5",
button : "cal_img_5",
ifFormat : "%B %e, %Y",
onSelect : selectDate
});
</script>

</li> <li id="li_8" >
<label class="description" for="element_8">Emplacement à Phuket </label>
<span>
<input id="element_8_1" name="element_8" class="element radio" type="radio" value="1" />
<label class="choice" for="element_8_1">Patong Beach</label>
<input id="element_8_2" name="element_8" class="element radio" type="radio" value="2" />
<label class="choice" for="element_8_2">Kata Beach</label>
<input id="element_8_3" name="element_8" class="element radio" type="radio" value="3" />
<label class="choice" for="element_8_3">Karon Beach</label>
<input id="element_8_4" name="element_8" class="element radio" type="radio" value="4" />
<label class="choice" for="element_8_4">Rawai</label>
<input id="element_8_5" name="element_8" class="element radio" type="radio" value="5" />
<label class="choice" for="element_8_5">Je ne sais pas</label>

</span>
</li> <li id="li_9" >
<label class="description" for="element_9">Equipement du logement </label>
<span>
<input id="element_9_1" name="element_9_1" class="element checkbox" type="checkbox" value="1" />
<label class="choice" for="element_9_1">Climatisation</label>
<input id="element_9_2" name="element_9_2" class="element checkbox" type="checkbox" value="1" />
<label class="choice" for="element_9_2">Piscine</label>
<input id="element_9_3" name="element_9_3" class="element checkbox" type="checkbox" value="1" />
<label class="choice" for="element_9_3">Jardin</label>
<input id="element_9_4" name="element_9_4" class="element checkbox" type="checkbox" value="1" />
<label class="choice" for="element_9_4">Proximitée de la plage</label>
<input id="element_9_5" name="element_9_5" class="element checkbox" type="checkbox" value="1" />
<label class="choice" for="element_9_5">Proximitée de commerce</label>

</span>
</li> <li id="li_6" >
<label class="description" for="element_6">Demandes particuliéres </label>
<div>
<textarea id="element_6" name="element_6" class="element textarea medium"></textarea>
</div>
</li>

<li class="buttons">
<input type="hidden" name="form_id" value="280997" />

<input id="saveForm" class="button_text" type="submit" name="submit" value="Submit" />


........................................................................................................................................................................................................................................................................................





Et la partie envoi.php

<?php

$msg = "Prenom:\t$element_1_1\n";
$msg .= "Nom:\t$element_1_2\n";
$msg .= "Phone:\t$element_3\n";
$msg .= "E-mail:\t$element_2\n";
$msg .= "nombrepersonne:\t$element_7\n\n";
$msg .= "Date:\t$element_4_1\t$element_4_2\t$element_4_3\n\n";
$msg .= "Date:\t$element_5_1\t$element_5_2\t$element_5_3\n\n";
$msg .= "Emplacement:\t$element_8_1\t$element_8_2\t$element_8_3\t$element_8_4\t$element_8_5\n\n";
$msg .= "Equipement:\t$element_9_1\t$element_9_2\t$element_9_3\t$element_9_4\t$element_9_5\n\n";
$msg .= "demandeparticuliere:\t$element_6\n";


$subject = "Formulaire";

$mailheaders .= "Reply-To: $CP\n\n";

mail("monmail@gmail.com", $subject, $msg, "From: $element_2");

echo "<HTML><HEAD>";
echo "<TITLE>Formulaire envoyer!</TITLE></HEAD><BODY>";
echo "<H1 align=center>Merci, $nom </H1>";
echo "<P align=center>";
echo "Votre formulaire à bien été envoyé !</P>";
echo "</BODY></HTML>";

?>


9 réponses

jalalnet Messages postés 293 Date d'inscription mardi 20 octobre 2009 Statut Membre Dernière intervention 30 juillet 2023 10
14 nov. 2010 à 20:18
dans un premier temps tu dois essayé de récupéré et affichés toutes les éléments dans un fichier php
après tu peut utilisé l'envoie
1
arthezius Messages postés 3538 Date d'inscription jeudi 15 mai 2008 Statut Membre Dernière intervention 11 septembre 2016 475
14 nov. 2010 à 20:08
Pour l'élément 8, tu les a tous nommé name="element_8".
Modifie cette valeur pour chacun d'eux.

Pour l'élément 9 c'est un peu pareil. La valeur que tu reçois et dans value="".
Dans ton code tu as value="1". Modifie cette valeur.

Pour l'élément 6 j'ai pas pris le temps de bien regardé mais le code actuelle devrait fonctionner. Je vois rien de précis.
0
jalalnet Messages postés 293 Date d'inscription mardi 20 octobre 2009 Statut Membre Dernière intervention 30 juillet 2023 10
Modifié par jalalnet le 14/11/2010 à 20:15
donc d'abord pour la première problèmes
1 - Je ne recois pas la valeur de l'element 8
c'est des zones d'options
pour les zones d'options on a le droit de sélectionné une seul zone donc tu dois
donné pour l'ensembles des zones d'options le même attribut name"" et pour ID pas grave s'ils est différents
name="element_8 
0
arthezius Messages postés 3538 Date d'inscription jeudi 15 mai 2008 Statut Membre Dernière intervention 11 septembre 2016 475
14 nov. 2010 à 20:25
Ah ouai, j'avais pas vu le type="radio".

Le problème viens donc de là:
$msg .= "Emplacement:\t$element_8_1\t$element_8_2\t$element_8_3\t$element_8_4\t$element_8_5\n\n";

$element_8 ne peux comporter qu'une seule valeur.
Dans le cas présent, modifie la value="" du html pour qu'il n'affiche pas le chiffre mais plutôt le texte.
Exemple:
<input id="element_8_1" name="element_8" class="element radio" type="radio" value="1" />
<label class="choice" for="element_8_1">Patong Beach</label>

à remplacer par:
<input id="element_8_1" name="element_8" class="element radio" type="radio" value="Patong Beach" />
<label class="choice" for="element_8_1">Patong Beach</label> 
0
Bonsoir,

Tu récupères les données par la méthode GET ou POST ?
Pour element_8, ça dépend de ta réponse à ma question ci-dessus.
Pour element_9, il faut récuperer sous forme de tableau en mettant des crochets au name que tu récupères en faisant une boucle for dans le script PHP:
<input id="element_9_1" name="element_9[]" class="element checkbox" type="checkbox" value="1" />
<label class="choice" for="element_9_2">Climatisation</label>
<input id="element_9_2" name="element_9[]" class="element checkbox" type="checkbox" value="2" />
<label class="choice" for="element_9_2">Piscine</label>
<input id="element_9_3" name="element_9[]" class="element checkbox" type="checkbox" value="3" />
<label class="choice" for="element_9_3">Jardin</label>
<input id="element_9_4" name="element_9[]" class="element checkbox" type="checkbox" value="4" />
<label class="choice" for="element_9_4">Proximitée de la plage</label>
<input id="element_9_5" name="element_9[]" class="element checkbox" type="checkbox" value="5" />
<label class="choice" for="element_9_5">Proximitée de commerce</label>

PS : en l'état actuel, ton script est parfaitement optimisable, suffit de s'en donner la peine (pour faire "pro" quoi...)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
jalalnet Messages postés 293 Date d'inscription mardi 20 octobre 2009 Statut Membre Dernière intervention 30 juillet 2023 10
14 nov. 2010 à 20:32
autre chose on récupéré les données par leur name pas ID
pour l'élément 8
Faux
$msg="Emplacement:\t$element_8_1\t$element_8_2\t$element_8_3\t$element_8_4\t$element_8_5\n\n"; 

tu procède comme çà
$msg = " Equipemet:" .$_POST['element_8']
0
Merci beaucoup pour vos réponses si détaillés!

Les problèmes 1 et 2 sont résolut parfaitement.

Cependant le problème 3 subsiste. Pour résumer :

Avec une partie Html comme ceci:


<label class="description" for="element_6">Demandes particuliéres </label>
<div>
<textarea id="element_6" name="element_6" class="element textarea medium"></textarea>

Quel code je doit utiliser sur la partie php pour récupérer les infos?
Excuser mon manque de connaissance dans ce domaines... Merci encore pour votre aide.
0
jalalnet Messages postés 293 Date d'inscription mardi 20 octobre 2009 Statut Membre Dernière intervention 30 juillet 2023 10
Modifié par jalalnet le 15/11/2010 à 12:47
$msg = "demandeparticuliere:\t" .$_POST['element_6']."\n"; 
0
Ok tout est parfait merci encore
0
jalalnet Messages postés 293 Date d'inscription mardi 20 octobre 2009 Statut Membre Dernière intervention 30 juillet 2023 10
15 nov. 2010 à 12:48
dr
0