Probleme de script e-mail + creation base de donné [Résolu]

Signaler
Messages postés
4
Date d'inscription
mardi 13 décembre 2011
Statut
Membre
Dernière intervention
25 mai 2012
-
Messages postés
4
Date d'inscription
mardi 13 décembre 2011
Statut
Membre
Dernière intervention
25 mai 2012
-
Bonjour,

Voila j ai mon script ici lorsqu'on met n'importe quoi comme adresse e-mail il l accepte mais je voudrais qu'il y est au moins un arobase et un point
dans l adresse e-mail.

si l adresse e-mail est valide la laisser dans le champ.

et pour finir le plus dur pour moi c est de tout mettre dans une base de données.

peut t on m aider?

Voila le code de ma page

ps : j ai raccourci le code des pays des jours et des années sinon sa fait trop de ligne
et merci de votre comprehension :)


<?PHP

$erreur=1;
$pseudoe="n";
$nomv=$prenomv=$passv=$pseudov=$emailv="noir";
$nom=$prenom=$pseudo=$email="";
if (isset($_POST['envoyer']))
{ $erreur=0; 
// si le nom est vide ou plus petit que 4
  if (strlen(trim($_POST['nom']))<4) { $erreur++; $nomv="rouge"; } else $nom=$_POST['nom'];

// si le prénom est vide ou plus petit que 2
  if (strlen(trim($_POST['prenom']))<2) { $erreur++; $prenomv="rouge"; } else $prenom=$_POST['prenom'];

// si pseudo vide et pas assez long
  if (strlen(trim($_POST['pseudo']))>1) 
  { // si pseudo déjà existant
/*    $sql='select pseudo from bdd where pseudo="'.$_POST['pseudo'].'"';
$result=mysql_query($sql);
if (mysql_num_rows($result)>0) {$erreur++; $pseudov="rouge"; $pseudoe="o"} else $pseudo=$_POST['pseudo']; */
  } else {$erreur++; $pseudov="rouge"; }

// si  mail vide
if (strlen(trim($_POST['email']))<5) {$erreur++; $emailv="rouge"; }

// si mail ne repecte pas la syntaxe

if(!preg_match("/^[_a-zA-Z0-9-]+(.[_a-zA-Z0-9-]+)*@([a-zA-Z0-9-]+.)+[a-zA-Z]{2,4}$/", $emailv)) {$erreur++; $email=""; }
else $email=$_POST['email'];
// si mot de passe vide
  if (strlen(trim($_POST['pass']))==0) {$erreur++; $passv="rouge"; }

// si mot de passe pas assez long
    if (strlen(trim($_POST['pass']))<6) {$erreur++; $passv="rouge"; }

// si mot de passe 1 différent de mot de passe 2
  if ($_POST['pass']!=$_POST['passv']) { $erreur++; $passv="rouge"; }
}

$titre=("Inscription");
include"header.php";

if ($erreur>0)
{
?>


       	  <form method="post" action="<?php $_SERVER['PHP_SELF']; ?>">
    	">* Nom,
" />,

----

">* Prénom,
" />,

----

">* Pseudo<?php if ($pseudoe=="o") echo " (Déjà utilisé)"; ?>,
,

----

">* Adresse e-mail,
" />,

----

">* Mot de passe (6 caractères),
,

----

">* Mot de passe (Confirmation),
,

----

* Date de naissance,
<select name="jours">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>

</select>
<select name="mois">
<option value="1">Janvier</option>
<option value="2">Février</option>
<option value="3">Mars</option>
<option value="4">Avril</option>
</select>

<select name="annee">
<option value="1994">1994</option>
<option value="1993">1993</option>
<option value="1992">1992</option>
</select>,

----

* Sexe,

Homme
Femme,

----

* Pays,
<select name="pays" >
<option value="Afghanistan">Afghanistan </option>
<option value="Zimbabwe">Zimbabwe </option>
</select>,

----

,


</form>

        * champs obligatoires
    


<?PHP
} else {
  // requête sql pour ajouter un nouveau membre
  
  
  echo "enregistrement réussi";
}
include"footer.php";
?>

2 réponses

Messages postés
1654
Date d'inscription
dimanche 7 septembre 2008
Statut
Membre
Dernière intervention
11 septembre 2013
16
bonjour

que c'est brouillon
et l'indentation !

avant de faire une insertion essaie déjà de faire marcher ton formulaire

comme comme ça
<?php
/*debug*/
echo '';
print_r($_POST);
echo '

';



if(isset($_POST['envoyer'])){
$errors=array();
$erreur=null; 

          // si le nom est vide ou plus petit que 4
          if (strlen(trim($_POST['nom']))<4){
          $erreur++;
          $nomv="rouge";
          $errors[]='nom 4 cars au moins';
          }else{
          $nom=$_POST['nom'];
          }
          
          
          // si le prénom est vide ou plus petit que 2
          if (strlen(trim($_POST['prenom']))<2){
          $erreur++;
          $prenomv="rouge";
          $errors[]='prenom 2 cars au moins';
          }else{
          $prenom=$_POST['prenom'];
          }
          
          // si pseudo vide et pas assez long
          if(strlen(trim($_POST['pseudo']))>1){ 
          }else{
          $erreur++;
          $pseudov="rouge";
          $errors[]='pseudo 2 cars au moins';
          }
          
          // si  mail vide
          if(strlen(trim($_POST['email']))<5){
          $erreur++;
          $emailv="rouge";
          $errors[]='email 5 cars au moins';
          }else{
          }
          
          // si mail ne repecte pas la syntaxe
          if(!preg_match("/^[_a-zA-Z0-9-]+(.[_a-zA-Z0-9-]+)*@([a-zA-Z0-9-]+.)+[a-zA-Z]{2,4}$/", $emailv)){
          $erreur++;
          $errors[]='email format';
          }else{
          $email=$_POST['email'];
          }
          
          // si mot de passe vide
          if (strlen(trim($_POST['pass']))==0){
          $erreur++;
          $passv="rouge";
          $errors[]='pass trop court';
          }else{
          }
          
          // si mot de passe pas assez long
          if (strlen(trim($_POST['pass']))<6){
          $erreur++;
          $passv="rouge";
          $errors[]='pass trop court';
          }else{
          }
          
          // si mot de passe 1 différent de mot de passe 2
          if($_POST['pass']!=$_POST['passv']){
          $erreur++;
          $passv="rouge";
          $errors[]='pass1 different pass2';
          }else{
          }



                  if($erreur===null){
                  //insertion
                  
                  
                  //je me connecte 
                  
                  //je verifie le pseudo
                                    
                  //si existant erreurs errors[] = 'PSEUDO D2J0 UTILISE'
                  
                  //sinon j'insere
                  
                  
                  }else{
                  echo 'des erreurs !<hr>';
                  }
          
          
          foreach($errors as $k => $v){
          echo $v.'
';
          }
                    

}else{
}

$titre=("Inscription");
//include"header.php";

?>

<style>
.rouge{
background-color: #ff8800;
}
</style>
       	  
<form method="post" action="<?php $_SERVER['PHP_SELF']; ?>">    	
  ">* Nom,                     " />,

----
">* Prénom,                     " />,

----
">* Pseudo,                     "/>,

----
">* Adresse e-mail,                     " />,

----
">* Mot de passe
(6 caractères)
,                     ,

----
">* Mot de passe
(Confirmation)
,                     ,

----
* Date de naissance,                     <select name="jours">
<option value="1">1
</option>
<option value="2">2
</option>
<option value="3">3
</option>
<option value="4">4
</option>
</select>
<select name="mois">
<option value="1">Janvier
</option>
<option value="2">Février
</option>
<option value="3">Mars
</option>
<option value="4">Avril
</option>
</select>
<select name="annee">
<option value="1994">1994
</option>
<option value="1993">1993
</option>
<option value="1992">1992
</option>
</select>,

----
* Sexe,                                          Homme
Femme,

----
* Pays,                     <select name="pays" >
<option value="Afghanistan">Afghanistan
</option>
<option value="Zimbabwe">Zimbabwe
</option>
</select>,

----
,                     

</form>        * champs obligatoires     





pour les contrôles tu as des regex aussi qui sont biens

Bonne programmation !
Messages postés
4
Date d'inscription
mardi 13 décembre 2011
Statut
Membre
Dernière intervention
25 mai 2012

Merci pour ton aide.

Je vais essayer et puis voir comment tout cela fonctionne :)

Merci beaucoup de ton aide ;)