:: Easy-Script.com :: Index du Forum

Votre bannière ici !

 FAQFAQ   RechercherRechercher   Liste des MembresListe des Membres   Groupes d'utilisateursGroupes d'utilisateurs   S'enregistrerS'enregistrer 
 RSS : Les 20 dernières discussions des forums d'Easy-Script.nom RSS   ProfilProfil   Messages PrivésMessages Privés   ConnexionConnexion 

Poster un nouveau sujet  Répondre au sujet
Formulaire ajouter des verifications plus pointues sur email
berday1701


Inscrit le: 19 Nov 2007
Messages: 3
Localisation: montrouge
Répondre en citant
Voila un sujet qui peut paraitre recurent mais qui me semble indispensable pour progresser.

Pourriez vous m'aider a ameliorer ce formulaire afin d'ajouter de la securité sur les valeures saisies par l'internaute .

Je voudrais ajouter une fonction qui permettent de verifier que le mail est complet avec un @, plus un point, et aussi finissant par (fr ou net ou com ou org ). (avant fin 2007 svp).
Quelle serait selon vous la methode et le code a ajouter a mon formulaire que je voudrais simplifier au maximum; Toute vos competences et ressources seront les bienvenues. En vous remerciant tous d'avance.



Code:
<html>
<head>
<title>formulaire sur les quotes et back quotes pour valider email fonction de verifications </title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body bgcolor="#000000" text="#FFFFFF" >

<form action="index.php" method="post" enctype="multipart/form-data" name="formulaire">
<strong><font color="#FFFFFF" face="Arial, Helvetica, sans-serif">Nom</font></strong>
<input name="Nom" type="text" size="30" maxlength="30" >
<font color="#FFFFFF" size="3" face="Arial, Helvetica, sans-serif"><strong>Prénom</strong></font>
<input name="Prenom" type="text" size="30" maxlength="30" >
<font color="#FFFFFF" size="3" face="Arial, Helvetica, sans-serif"><strong>Email</strong></font>
 
<input name="Email" type="text" value="Forme: nom@mail" size="25" maxlength="30" ><br>
<br>
<input name="submit" type="submit" value="submit">
<input name="Recommencer" type="reset" value="Recommencer">
<font color="#FFFFFF" size="3" face="Arial, Helvetica, sans-serif"><strong>Attaché</strong></font>
<input name="Fichier" type="file" size="25">
</form>

<a href="index.php">Cliquez ici pour recommencer !</a>
</body>
</html>
                    <?php             
   

// On commence par tester si le submit a envoyé le formulaire et si les posts existent

if($_POST['submit']);

{
$connect = mysql_connect("localhost","root","");  // connexion au serveur
 mysql_select_db("mysql");    //selection de la base de données

// Si on a les infos de l'internaute donc si les post sont initialisés et qui existent on affiche les valeurs saisies

$Nom = mysql_real_escape_string(htmlspecialchars($_POST['Nom']));
$Prenom = mysql_real_escape_string(htmlspecialchars($_POST['Prenom']));
$Email = mysql_real_escape_string(htmlspecialchars($_POST['Email']));


 if(!isset($Nom))
{
// On verifie le nom
echo("Le champ Message est vide !");
exit(); // on arrete sinon sa serre a rien
}
else
{
// On verifie le prenom
if(!isset ($Prenom))
{
echo("Le champ sujet est vide !");
exit();
}
else
{
// On verifie l'email
if(!isset($Email ))
{
echo("Le champ email est vide !");
exit();
}
else
{
// fonction specifique de verif composantes de l email
//ValideEMail($EMail);

// si tout a été remplie, on envoi
$Monmail = "bertrand.day@numericable.fr" ;
mail($Email,$Nom,$Prenom,"From:".$Monmail);
echo"Votre inscription a ete prise en compte et message a bien été envoyé";
}
}
}
}
 //if(empty($Email)){ print("<center>Le '<b>Email</b>' est vide !</center>"); exit(); }
 //if(empty($Nom)){ print("<center>Le '<b>Nom</b>' est vide !</center>"); exit(); }
 //if(empty($Prenom)){ print("<center>Le '<b>Prenom</b>' est vide !</center>"); exit(); }

echo '$Nom';
print_r($Prenom);
print_r($Email);


 // on regarde si l' email existe déjà dans la base
    $sql = "SELECT id FROM tbl_formul WHERE email='$Email'";
    $req = mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());

    // on compte le nombre de résultats
    $res = mysql_num_rows($req);

    if($res!=0)  // si le mail existe déjà dans la base , on affiche un message d'erreur
        {
        echo '<font color="red">Désolé, mais ce mail existe déjà dans notre base.</font>';
        }
    else
    // L'url n'existe pas, on insère les informations du formulaire dans la table


$sql="INSERT INTO tbl_formul (`id`, `nom`, `prenom`, `email`)";
$sql.="VALUES ('','".$Nom."','".$Prenom."','".$Email."')";

$req=mysql_query($sql) or die ("erreur dans la requete SQL : ".mysql_error());

// fermeture de la connection
mysql_close();


if($req){
    echo "Vous vous etes inscrit avec Succes";
    print_r("Votre adresse IP est :".$_SERVER['REMOTE_ADDR']);
}

else{
    echo "Pas d'insertion dans la BDD";
    //execute la requete d'insertion sinon redirection pour revenir sur la bonne page
    echo '<html><head><META HTTP-EQUIV="Refresh" CONTENT="4"; URL=http://www.job-web-adds.fr"></head></html>';
    echo '<body>Merci de remplir tous les champs</body>';

}

//function ValideEMail($Email)
    {
    // SI l'E-Mail est carrément vide :
  //  if ($Email == "")
    //  return "<font color='#FF0000'>L'E-Mail ne peut pas être vide</font><BR>";
    // Si l'E-Mail contient des caractères non autorisés dans une adresse mail correcte :
    //if (strspn(strtolower($Email), "abcdefghijklmnopqrstuvwxyz0123456789-_@.") < strlen($Email))
      //return "<font color='#FF0000'>L'E-Mail que vous avez fourni contient des caractères non-autorisés</font><BR>";
    // Si on arrive ici, c'est que tout va bien : Le mail est syntaxiquement correct :
     //return "";
    //}
?>
Voir le profil de l'utilisateurEnvoyer un message privéVisiter le site web du posteur
Redox
Modérateurs
Modérateurs

Inscrit le: 07 Sep 2004
Messages: 974
Répondre en citant
Salut,

Je voudrais ajouter une fonction qui permettent de verifier que le mail est complet avec un @, plus un point, et aussi finissant par (fr ou net ou com ou org ). (avant fin 2007 svp).
Voici deux liens vers deux code sources pour vérifier syntaxiquement les adresses emails:
http://www.easy-script.com/trucs-astuces/PHP/verification-syntaxique-dune-adresse-email-117.html
http://www.easy-script.com/trucs-astuces/PHP/verifier-la-validite-dune-adresse-email-45.html

Voir le profil de l'utilisateurEnvoyer un message privé
suite formulaire
berday1701


Inscrit le: 19 Nov 2007
Messages: 3
Localisation: montrouge
Répondre en citant
J'ai avancé d'un cran mais Serait il possible de decomposer le code en le commentant moins superficiellement car pour progresser il faut s'appuyer sur de bonnes bases bien assimilées.

merci d'avance pour vos morceaux de codes additionnels, conseils et astuces pour faire un formulaire comlet et securisé avec eventuellement une zone admin. methode pédagogique et nouveaux correctifs bienvenus.
Voir le profil de l'utilisateurEnvoyer un message privéVisiter le site web du posteur
Redox
Modérateurs
Modérateurs

Inscrit le: 07 Sep 2004
Messages: 974
Répondre en citant
Dis moi ce que tu ne comprends pas dans les codes sources que je t'ai donné...
Voir le profil de l'utilisateurEnvoyer un message privé
berday1701


Inscrit le: 19 Nov 2007
Messages: 3
Localisation: montrouge
Répondre en citant
bonsoir,

je n'arrive pas a conceptualiser et visualiser le processus [1] de

$email_array[1] et aussi que fait comme instructions avec le return

si return est true .

j'ai l'impression qu'il me manque un maillon.

merci de m'aider car je n'ai pas vraiment de background sur les fonctions.


Voir le profil de l'utilisateurEnvoyer un message privéVisiter le site web du posteur
Redox
Modérateurs
Modérateurs

Inscrit le: 07 Sep 2004
Messages: 974
Répondre en citant
$email_array[1] re tourne la 2e valeur du tableau généré par la ligne de code suivante :

Code:
$email_array = explode("@", $email);

Autrement dit, il s'agit du domaine.

Pour ce qui est du return, rien de mieux que la doc officielle pour comprendre toutes les fonctions PHP !

Voir le profil de l'utilisateurEnvoyer un message privé
Annonces && Topic Scooping
Formulaire ajouter des verifications plus pointues sur email
Vous pouvez poster de nouveaux sujets dans ce forum
Vous pouvez répondre aux sujets dans ce forum
Vous ne pouvez pas éditer vos messages dans ce forum
Vous ne pouvez pas supprimer vos messages dans ce forum
Vous ne pouvez pas voter dans les sondages de ce forum
Toutes les heures sont au format GMT + 2 Heures  
Page 1 sur 1  

  
  
 Poster un nouveau sujet  Répondre au sujet  


Powered by phpBB © 2001, 2002 phpBB Group
Traduction par : phpBB-fr.com
Design by Vjacheslav Trushkin
phpBB SEO

Anti Bot Question MOD - phpBB MOD against Spam Bots
Inscriptions / messages bloqués: 2699 / 640