Mammouth du PHP |
843 Messages
25 févr. 2006, 19:12
ok mais sa risque d'etre un peu lourd
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<html>
<head>
<title>:: Formulaire d'inscription ::</title>
<script language="javascript" type="text/javascript" src="date_valid.js"></script>
<link href="css/formulaire.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="page">
<?php
/**
* On commence par vérifier si le bouton soumettant le formulaire a été
* cliqué, "envoi" étant l'attribut "name" du bouton "submit"
* Sinon, on saute à la ligne 220 de ce code.
*/
if(isset($_POST['envoi']))
{
/* Récupération des données du formulaire */
$pseudo = isset($_POST['pseudo']) ? trim($_POST['pseudo']) : "";
$pass = isset($_POST['pass']) ? trim($_POST['pass']) : "";
$passverif = isset($_POST['passverif']) ? trim($_POST['passverif']) : "";
$prenom = isset($_POST['prenom']) ? trim($_POST['prenom']) : "";
$nom = isset($_POST['nom']) ? trim($_POST['nom']) : "";
$phone = isset($_POST['phone']) ? trim($_POST['phone']) : "";
$email = isset($_POST['email']) ? trim($_POST['email']) : "";
$postal = isset($_POST['postal']) ? trim($_POST['postal']) : "";
$ville = isset($_POST['ville']) ? trim($_POST['ville']) : "";
$datenaiss = isset($_POST['datenaiss']) ? trim($_POST['datenaiss']) : "";
/**
* Définition des variables servant au traitement de l'adresse électronique et du numéro de
* téléphone: on utilise ici des expressions régulières.
*/
$valid_mail = "#^[^-_\.][a-z0-9-_\.]+[^-_\.]@[^-_\.][a-z0-9-_\.]+[^-_\.]\.[a-z]{2,4}$#";
$valid_phone = "#^\d{10}$#";
$valid_postal = "#^\d{5}$#";
$valid_datenaiss = "#(\d{2})/(\d{2})/(\d{4})#";
/**
* Traitement de vérification des champs vides ou invalides (téléphone et/ou email)
* Conditions de mauvaises réponses (champ vide par exemple)
*/
if ($pseudo == '' || $pass == '' || $passverif == '' || $prenom == '' || $nom == '' || $email == '' || $phone == '' || $postal == '' || $ville == '' || $datenaiss == '' || !(preg_match($valid_phone,$phone)) || $email == '' || !(preg_match($valid_mail, $email)) || !(preg_match($valid_postal, $postal)) || !(preg_match($valid_datenaiss,$datenaiss)))
{
/* Action à adopter */
?>
<h3>Informations incomplètes</h3>
<p>Un (ou plusieurs) champ(s) obligatoire(s) n'a(ont) pas été correctement rempli(s).</p>
<?php
if ($pseudo == '')
{
/* Si le champ pseudo est vide, */
print "<p>Vous n'avez pas précisé votre pseudo</p>\n";
}
if ($pass == '')
{
/* Si le champ pass est vide, */
print "<p>Vous n'avez pas précisé votre mot de pass</p>\n";
}
if ($passverif == '')
{
/* Si le champ pass est vide, */
print "<p>Vous n'avez pas reprécisé votre mot de pass</p>\n";
}
if ($passverif != $pass)
{
/* Si le champ pass et passverif sont different */
print "<p>Veuillez repréciser votre mot de pass !</p>\n";
}
if ($prenom == '')
{
/* Si le champ prenom est vide, */
print "<p>Vous n'avez pas précisé votre prénom</p>\n";
}
if ($nom == '')
{
/* Si le champ nom est vide, */
print "<p>Vous n'avez pas précisé votre nom</p>\n";
}
if ($phone == '')
{
/* Si le champ phone est vide, */
print "<p>Vous n'avez pas précisé votre numéro de téléphone</p>\n";
}
if (($phone) && !(preg_match($valid_phone,$phone)))
{
print "<p>Le numéro de téléphone doit comporter seulement des chiffres, de 6 à 10 chiffres sans espaces ni tirets !</p>\n";
}
if(!$email)
{
/* Si le champ email est vide, */
print "<p>Vous avez omis de mentionner une adresse électronique</p>\n";
}
if(($email) && !(preg_match($valid_mail, $email))) /* Si il y a une adresse inscrite mais invalide */
{
/* On vérifie LES DEUX conditions réunies (avec le sugne "&&"): si on ne vérifie que la validité, en ne
mettant pas d'adresse dans le formulaire, on obtient l'affichage des deux messages, or l'adresse à
ce moment là n'est pas invalide, elle est absente: le message d'invalidité ne s'applique donc pas. */
print "<p>L'adresse électronique saisie est invalide !</p>\n";
}
if(!$postal)
{
/* Si le champ email est vide, */
print "<p>Vous avez omis de mentionner votre code postal</p>\n";
}
if(($postal) && !(preg_match($valid_postal, $postal)))
{
/* Si il y a un code postal inscrit mais invalide */
print "<p>Le code postal saisie est invalide !</p>\n";
}
if ($ville == '')
{
/* Si le champ ville est vide, */
print "<p>Vous n'avez pas précisé votre ville</p>\n";
}
if(!$datenaiss)
{
/* Si le champ datenaiss est vide, */
print "<p>Vous avez omis de mentionner votre date de naissance</p>\n";
}
/**
* Si les vérifications ont généré des erreurs, affichage du formulaire
* contenant les données déjà saisies.
*/
?>
<form action="<?php echo($_SERVER['PHP_SELF']); ?>" method="post" onSubmit="return valideDate(champ);">
<fieldset><legend><b>:: Données de connexion ::</b></legend>
<label><span class="legende_elmt">Votre pseudo : </span><span class="c2">*</span> <input type="text" name="pseudo" maxlength="20" class="cases" value="<?php echo $pseudo ?>" /></label><br />
<label><span class="legende_elmt">Votre mot de pass : </span><span class="c2">*</span> <input type="password" name="pass" maxlength="20" class="cases" value="" /></label><br />
<label><span class="legende_elmt">Confirmation mot de pass : </span><span class="c2">*</span> <input type="password" name="passverif" maxlength="20" class="cases" value="" /></label><br />
</fieldset>
<fieldset><legend><b>:: Données personnelles ::</b></legend>
<label><span class="legende_elmt">Votre prénom : </span><span class="c2">*</span> <input type="text" name="prenom" maxlength="40" class="cases" value="<?php echo $prenom ?>" /></label><br />
<label><span class="legende_elmt">Votre Nom de famille : </span><span class="c2">*</span> <input type="text" name="nom" maxlength="40" class="cases" value="<?php echo $nom ?>" /></label><br />
<label><span class="legende_elmt">Votre numéro de téléphone : </span><span class="c2">*</span> <input type="text" name="phone" maxlength="10" class="cases" value="<?php echo $phone ?>" /></label><br />
<label><span class="legende_elmt">Votre adresse électronique : </span><span class="c2">*</span> <input type="text" name="email" maxlength="40" class="cases" value="<?php echo $email ?>" /></label><br />
<label><span class="legende_elmt">Votre code postal : </span><input type="text" name="postal" maxlength="5" class="cases" value="<?php echo $postal ?>" /></label><br />
<label><span class="legende_elmt">Votre ville : </span><input type="text" name="ville" maxlength="40" class="cases" value="<?php echo $ville ?>" /></label><br />
<label><span class="legende_elmt">Votre date de naissance : </span><input type="text" name="datenaiss" maxlength="10" class="cases" value="<?php echo $datenaiss ?>" /></label><br />
<div class="c3">
<input type="submit" class="verif" name="envoi" value="Envoyer" /> <input type="reset" class="verif" value="Recommencer" />
</div>
</fieldset>
</form>
<?php
}
else
{
/**
* Si aucun des champs obligatoire n'est vide et les données sont valides:
* Traitement des données
*/
$href_email = str_replace("@", "%40", $email);
// Affichage du message final des informations reçues
print "<h3>Merci ! Voici les informations que vous avez fournies</h3>\n";
print "<p>Informations sur le contact:</p>\n";
print "<p>". $prenom ." ". $nom ."<br />\n";
print "On peut vous joindre au ".$phone."<br />\n";
if($ville != "")
{
print "Vous résidez à ".$ville."<br />\n";
}
print "On peut vous envoyer un courrier électronique à: <a href=\"mailto:". $prenom ."%20". $nom ."%20%3c". $href_email ."%3e\">".$email."</a><br />\n";
print("<p>Retour vers le formulaire de base, cliquez <a href=\"". $_SERVER['PHP_SELF'] ."\" title=\"Retour vers le formulaire\">ICI</a></p>");
}
}
/**
* Si cette page s'ouvre pour la première fois sans que le bouton soumettant le formulaire n'ait
* été cliqué, alors on affiche le formulaire normalement
*/
else
{
?>
<h3>Complétez les informations pour ajouter votre nom à la liste des membres</h3>
<p>Notez que les champs précédés d'une <span class="c1">*</span> doivent obligatoirement être remplis.</p>
<form action="<?php echo($_SERVER['PHP_SELF']); ?>" method="post" onSubmit="return valideDate(champ);">
<fieldset><legend><b>:: Données de connexion ::</b></legend>
<label><span class="legende_elmt">Votre pseudo : </span><span class="c2">*</span> <input type="text" name="pseudo" maxlength="20" class="cases" value="" /></label><br />
<label><span class="legende_elmt">Votre mot de pass : </span><span class="c2">*</span> <input type="password" name="pass" maxlength="20" class="cases" value="" /></label><br />
<label><span class="legende_elmt">Confirmation mot de pass : </span><span class="c2">*</span> <input type="password" name="passverif" maxlength="20" class="cases" value="" /></label><br />
</fieldset>
<fieldset><legend><b>:: Données personnelles ::</b></legend>
<label><span class="legende_elmt">Votre prénom : </span><span class="c2">*</span> <input type="text" name="prenom" maxlength="40" class="cases" value="" /></label><br />
<label><span class="legende_elmt">Votre Nom de famille : </span><span class="c2">*</span> <input type="text" name="nom" maxlength="40" class="cases" value="" /></label><br />
<label><span class="legende_elmt">Votre numéro de téléphone : </span><span class="c2">*</span> <input type="text" name="phone" maxlength="10" class="cases" value="" /></label><br />
<label><span class="legende_elmt">Votre adresse électronique : </span><span class="c2">*</span> <input type="text" name="email" maxlength="40" class="cases" value="" /></label><br />
<label><span class="legende_elmt">Votre code postal : </span><input type="text" name="postal" maxlength="5" class="cases" value="" /></label><br />
<label><span class="legende_elmt">Votre ville : </span><input type="text" name="ville" maxlength="40" class="cases" value="" /></label><br />
<label><span class="legende_elmt">Votre date de naissance : </span><input type="text" name="datenaiss" maxlength="10" class="cases" value="" /></label><br />
<div class="c3">
<input type="submit" class="verif" name="envoi" value="Envoyer" /> <input type="reset" class="verif" value="Recommencer" />
</div>
</fieldset>
</form>
<?php
}
?>
</div>
</body>
</html>
le js est le même que celui que tu m'a donné et il est dans le même dossier que ce fichier php, le nom semble correct

:: contactez moi par MP ::
NON au language SMS sur les forums 