Validation d'un formulaire
Bonjour.
Alors je souhaiterais que PHP vérifie si des champs sont bien remplis. J'ai trouvé les formules pour cela mais mon soucis est en fait le placement de ces formules. Voilà mon code :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92
| <?php
if($_POST['action'] == 'submitted')
{
$adress = "web@xxxx.fr";
$sujet = "$_POST[sujet]";
$from = "From: ".$_POST[email]."\n";
$from .= "MIME-version: 1.0\n";
$from .= "Content-type: text/html; charset= iso-8859-1\n";
$message='
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td>Nom</td>
<td>'.$_POST[nom].'</td>
</tr>
<tr>
<td>Prénom</td>
<td>'.$_POST[prenom].'</td>
</tr>
<tr>
<td> </td>
<td>'.$_POST[societe].'</td>
</tr>
<tr>
<td>E-mail</td>
<td>'.$_POST[email].'</td>
</tr>
<tr>
<td>Sujet</td>
<td>'.$_POST[sujet].'</td>
</tr>
<tr>
<td>Message</td>
<td>'.$_POST[mess].'</td>
</tr>
</table>';
mail($adress, $sujet, $message, $from);
//page de sortie
$insertGoTo = "http://www.strix.fr/messok.php?lang=$lang";
// if (isset($HTTP_SERVER_VARS['QUERY_STRING'])) {
// $insertGoTo .= (strpos($insertGoTo, '?')) ? "&" : "?";
// $insertGoTo .= $HTTP_SERVER_VARS['QUERY_STRING'];
// }
header(sprintf("Location: %s", $insertGoTo));
}
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
...
<body>
<div id="info"><span class="Categorie"><?php echo comgen; ?></span><br>
<form name="forml" method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td>Nom</td>
<td><input name="nom" type="text" id="nom"></td>
</tr>
<tr>
<td>Prénom</td>
<td><input name="prenom" type="text" id="prenom"></td>
</tr>
<tr>
<td>Société</td>
<td><input name="societe" type="text" id="societe"></td>
</tr>
<tr>
<td>E-mail</td>
<td><input name="email" type="text" id="email"></td>
</tr>
<tr>
<td>Sujet</td>
<td><input name="sujet" type="text" id="sujet"></td>
</tr>
<tr>
<td>Message</td>
<td><textarea name="mess" cols="68" rows="10" id="mess"></textarea></td>
</tr>
</table>
<table cellpadding="2" cellspacing="0">
<tr>
<td class="centre" colspan="3"><input name="Annuler" type="reset" id="Annuler2" value="<?php echo annule; ?>">
<input type="hidden" name="action" value="submitted">
<input name="Envoyer" type="submit" id="Envoyer2" value="<?php echo envoie; ?>">
</td>
</tr>
</table>
</form>
</div>
...
</html> |
ensuite je sais qu'on utilise des formules du type :
Code:
1 2 3 4
| if (empty($nom))
{
echo "Vous n'avez pas saisi votre nom";
} |
ou pour une adresse mail
Code:
1 2 3 4
| if (!eregi("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*$",$email))
{
echo "l'adresse mail est invalide";
} |
Et où apparaissent les messages d'erreurs ?
Et autant poser la question tout de suite :
Si jamais il y a une erreur par exemple avec le mail, quand l'utilisateur a de nouveau le formulaire, devra-til à nouveau les champs valides ? Y a-t-il une formule spéciale pour cela ?
Merci d'avance