Formulaire en PHP

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Formulaire en PHP

Re: Formulaire en PHP

par Ryle » 24 janv. 2011, 22:59

Modération :
Afin d'améliorer la lisibilité de vos messages,
pensez à utiliser les balises [code] ou [php] (selon le langage utilisé).

Elles sont disponibles au-dessus de la zone de saisie du message
lorsque vous postez un nouveau message.

Des indications sont disponibles sur la manière de mettre en forme vos messages dans la FAQ

Re: Formulaire en PHP

par cricen » 24 janv. 2011, 17:54

tu peux essayer quelquechose comme ça:
page de formulaire
<form action="page.php" method="post">
<SELECT name="liste" size="5">
<OPTION value="nom_1" selected>nom_1</option>
<OPTION value="nom_2\">nom_2</option>
<OPTION value="nom_3\">nom_3</option>
...
<OPTION value="nom_n-1\">nom_n-1</option>
<OPTION value="nom_n\">nom_n</option>
</SELECT>
<input type="submit" value="Valider">
</form>


page de récupération (page.php)
@$nom=$_POST['liste'];

**un bon dessin vaut mieux qu'un long discours**

Re: Formulaire en PHP

par moogli » 20 janv. 2011, 23:43

c'est la même chose, après cela dépend du code html

Il faut utiliser une balise select (en choix multiple) avec un nom type tableau et ainsi récupérer les choix saisis.


@+

Re: Formulaire en PHP

par pat' » 20 janv. 2011, 12:20

Merci Moogli, mais ce n'est pas exactement ce que je recherche. Ce qui est expliqué la indique comment récupérer des données que l'utilisateur écrit dans un champ, et non pas celle qu'il sélectionne parmis un choix multiple. :|

Re: Formulaire en PHP

par moogli » 19 janv. 2011, 16:47

Re: Formulaire en PHP

par pat' » 19 janv. 2011, 12:35

Si j'le pouvais je n'serai pas sur ce forum aujourd'hui.... :|

Re: Formulaire en PHP

par stealth35 » 19 janv. 2011, 12:32

demande à celui qui a crée le code
et utilise la balise php pour partage ton code

Formulaire en PHP

par pat' » 19 janv. 2011, 12:30

Bonjour tout le monde.
Je rencontre un souci avec un formulaire PHP. 'aimerai remplacer le champ texte "discipline" par 2 boutons d'options et le champ texte "choix de la course" par une liste déroulante proposant plusieurs choix.... Mon plus gros problème n'est pas dans l'installation proprement dite de ces éléments mais dans l'envoi... En effet, les choix vont apparaitre sur ma page internet mais lorsque je reçois les informations (par mail), les séléctions de la liste déroulante et des boutons d'options n'apparaissent pas dans le mail. Comment faire? Voici le code de mon formulaire, l'originale, sans la transformation des zones textes à modifier.
Par avance merci.

<?php

$email_dest = "xxxxx@xxxxx";

if ($_POST['envoi']) {

$message_remerciement = "Votre inscription a bien été enregistrée";

// E-mail headers:
$headers ="MIME-Version: 1.0 \n";
$headers .="From: xxxxx@xxxx \n";
$headers .="Content-Type: text/html; charset=iso-8859-1 \n";

$subject = "Inscription à une course";

$partie_entete = "<html><head>
<meta http-equiv=Content-Type content=text/html; charset=iso-8859-1>
</head>
<body bgcolor=#FFFFFF>";

for ($a=1; $a<= $_POST['nbre_champs_texte']; $a++) {
$partie_champs_texte .= "<font face='Verdana' size='2' color='#003366'>" . $_POST['titre_champ'.$a] . " = " . $_POST['champ'.$a] . "</font><br>";
}

if ($_POST['nbre_zone_email'] != 0) {
$partie_zone_email = "<font face='Verdana' size='2' color='#003366'>" . $_POST['titre_email'] . " = " . $_POST['zone_email'] . "</font><br>";
}

if ($_POST['nbre_zones_texte'] != 0) {
$partie_zone_texte = "<font face='Verdana' size='2' color='#003366'>" . $_POST['titre_zone'] . " = " . $_POST['zone_texte'] . "</font><br>";
$partie_zone_texte = stripslashes($partie_zone_texte);
}

$fin = "</body></html>";

$sortie = $partie_entete . $partie_champs_texte . $partie_zone_email . $partie_zone_texte . $fin;

// Send the e-mail
if (@!mail($email_dest,$subject,$sortie,$headers)) {
echo("Envoi du formulaire impossible");
} // Closing if !mail...

} // Closing if edit
?><html>
<head>
<title>Assistant d'envoi de formulaires</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<script language="JavaScript"><!-- Hide script from older browsers
function verifSelection() {if (mail_form.champ1.value == "") {
alert("Nom non rempli")
return false
} if (mail_form.champ2.value == "") {
alert("Prénom non rempli")
return false
} if (mail_form.champ3.value == "") {
alert("Discipline non rempli")
return false
} if (mail_form.champ4.value == "") {
alert("Choix de la course non rempli")
return false
} if (mail_form.zone_email.value == "") {
alert("Adresse mail non rempli")
return false
}

invalidChars = " /:,;'"

for (i=0; i<invalidChars.length; i++) { // does it contain any invalid characters?
badChar = invalidChars.charAt(i)

if (mail_form.zone_email.value.indexOf(badChar,0) > -1) {
alert("Votre adresse e-mail contient des caractères invalides. Veuillez vérifier.")
mail_form.zone_email.focus()
return false
}
}

atPos = mail_form.zone_email.value.indexOf("@",1) // there must be one "@" symbol
if (atPos == -1) {
alert('Votre adresse e-mail ne contient pas le signe "@". Veuillez vérifier.')
mail_form.zone_email.focus()
return false
}

if (mail_form.zone_email.value.indexOf("@",atPos+1) != -1) { // and only one "@" symbol
alert('Il ne doit y avoir qu\'un signe "@". Veuillez vérifier.')
mail_form.zone_email.focus()
return false
}

periodPos = mail_form.zone_email.value.indexOf(".",atPos)

if (periodPos == -1) { // and at least one "." after the "@"
alert('Vous avez oublié le point "." après le signe "@". Veuillez vérifier.')
mail_form.zone_email.focus()
return false
}

if (periodPos+3 > mail_form.zone_email.value.length) { // must be at least 2 characters after the
alert('Il doit y avoir au moins deux caractères après le signe ".". Veuillez vérifier.')
mail_form.zone_email.focus()
return false
}} // Fin de la fonction

</script>
</head>

<body>
<form name="mail_form" method="post" action="<?=$PHP_SELF?>" onSubmit="return verifSelection()">
<div align="center"></div>
<p align="center">
<?php
if ($message_remerciement) {
echo("<font face=Verdana size=2>");
echo(stripslashes($message_remerciement));
echo("</p></body></html>");
exit();
}
?>
<table width="566" border="0" align="center">
<p align="center">
</p><tr>
<td><font face="Verdana" size="2">Nom</font></td>
<td><input name="champ1" type="text"></td>
</tr><tr>
<td><font face="Verdana" size="2">Prénom</font></td>
<td><input name="champ2" type="text"></td>
</tr><tr>
<td><font face="Verdana" size="2">Discipline</font></td>
<td><input name="champ3" type="text"></td>
</tr><tr>
<td><font face="Verdana" size="2">Choix de la course</font></td>
<td><input name="champ4" type="text"></td>
</tr><tr>
<td width><font face="Verdana" size="2">Adresse mail</font></td>
<td width><input name="zone_email" type="text"></td>
</tr><tr>
<td valign="top"><input name="nbre_champs_texte" type="hidden" id="nbre_champs_texte" value="4">
<input name="nbre_zones_texte" type="hidden" value="0">
<input name="nbre_zone_email" type="hidden" value="1">
<input name="titre_champ1" type="hidden" value="Nom"><input name="titre_champ2" type="hidden" value="Prénom"><input name="titre_champ3" type="hidden" value="Discipline"><input name="titre_champ4" type="hidden" value="Choix de la course"><input name="titre_email" type="hidden" value="Adresse mail"></td>
<td><div align="center">
<input type="reset" name="Reset" value="Effacer">
<input type="submit" name="envoi" value="Envoyer">
</div></td>
</tr>
</table>
<div align="center"></div>
</form>
</body>
</html>
<body>
<form name="mail_form" method="post" action="<?=$PHP_SELF?>" onSubmit="return verifSelection()">
<div align="center"></div>
<p align="center">
<?php
if ($message_remerciement) {
echo("<font face=Verdana size=2>");
echo(stripslashes($message_remerciement));
echo("</p></body></html>");
exit();
}
?>