[Résolu] form php d'inscription renvoie rien

Fermé
Corto64 Messages postés 22 Date d'inscription dimanche 25 avril 2010 Statut Membre Dernière intervention 30 juin 2011 - Modifié par Corto64 le 15/12/2010 à 18:51
Corto64 Messages postés 22 Date d'inscription dimanche 25 avril 2010 Statut Membre Dernière intervention 30 juin 2011 - 15 déc. 2010 à 18:51
Bonjour,

J'ai un formulaire pour inscription dans une base MySQL qui me pose les problèmes suivants:
-1- ne me renvoie pas d'information(s) de défaut(s)
-2- n'inscrit rien dans la base
Mon fichier connect.inc.php est bien présent et complet dans le sous dossier cible....
Cela fait des heures que je le regarde sous toutes les coutures, je ne vois pas où est le problème.
Si vous pouviez jeter un oeil dessus pour me conseiller, ce serait sympa!
D'avance merci.
Le code ci-après (placé avant le <!DOCTYPE>:
<?php 
include ('includes/connect.inc.php'); 
include ('includes/creat_pass.php'); //Génération automatique du mot de passe qui sera crypé dans la base - md5 

?> 
<?php 

$DebugResultat = 0; // Affichage résultat : Mettre 0 quand les tests sont terminés 
$NePasVerifier = array(); // Le nom des champs à exclure du test champs vides ( Ex : $NePasVerifier = array('tel','cp'); ) 

#################### Fonctions 

function VerifForm ( $DonneesForm, $NePasVerifier ) 
{ 
 #################### Préparation 
 // Dans ce tableau on stockera les messages d'erreurs 
 $Erreurs = array(); 
 // On construit un tableau : Clé = nom du champ, valeur = valeur du champ 
 $formulaire = array(); 
 foreach( $DonneesForm as $cle => $valeur ) 
 { 
  $formulaire[$cle] = $valeur; 
 } 
 #################### Vérification du formulaire 
 // On recherche les valeurs NULL( champs vides ) 
 $NbChampsVides = 0; 
 foreach ( $formulaire as $cle => $valeur ) 
 { 
 if ( !in_array( $cle, $NePasVerifier ) ) 
  { 
   if ( $valeur == NULL ) 
   { 
    $NbChampsVides ++; 
   } 
  } 
 } 
 if ( $NbChampsVides != 0 ) 
 { 
  $Erreurs[1] = $NbChampsVides.' champ(s) obligatoire(s) non rempli(s)'; 
 } 
 // On vérifie que le code postal soit bien une chaîne numérique et qu'il comporte 5 chiffres 
 if ( ( isset( $formulaire['cp'] ) ) && ( !is_numeric( $formulaire['cp'] ) || strlen( $formulaire['cp'] ) != 5 ) ) 
 { 
  $Erreurs[2] = 'Le code postal doit être composé de 5 chiffres !'; 
 } 
 // On vérifie que le téléphone soit bien une chaîne numérique et qu'il comporte 10 chiffres 
 if ( ( isset( $formulaire['telephone'] ) ) && ( !is_numeric( $formulaire['telephone'] ) || strlen( $formulaire['telephone'] ) != 10 ) ) 
 { 
  $Erreurs[3] = 'Le numéro de téléphone doit être composé de 10 chiffres !'; 
 } 

 // On vérifie la structure de l'email 
 if ( ( isset( $formulaire['email'] ) ) && ( !ereg( '.+(@.+)(\.[[:alpha:]]{2}([[:alpha:]]?))$', $formulaire['email'] ) ) ) 
 { 
  $Erreurs[4] = 'Le format de l\'adresse email ne semble pas valide !'; 
 } 
 #################### Fin 
 // On construit la liste des erreurs s'il y en a 
 if ( $Erreurs != NULL ) 
 { 
  $ErreursForm = '<ul class="erreurs">'; 
  foreach( $Erreurs as $cle => $valeur ) 
  { 
   $ErreursForm .= '<li>'.$valeur.'</li>'; 
  } 
  $ErreursForm .= '</ul>'; 
 } 
 else { 
  $ErreursForm = NULL; 
 } 
 // On retourne le tableau $formulaire et la liste des erreurs 
 return array( $formulaire, $ErreursForm ) ; 
} 

#################### Traitement 

$ErreursForm = NULL; 
$formulaire = NULL; 
$resultat = NULL; 
if ( isset( $_POST['nom'] ) ) 
{ 
 // Appel de la fonction de vérification 
 list( $formulaire, $ErreursForm ) = VerifForm( $_POST, $NePasVerifier ); 
 // Si la fonction ne retourne pas d'erreurs, on envoi les données 
 if ( $ErreursForm == NULL ) 
 { 
  // Debugage : résultat 
  if ( $DebugResultat == 1 ) 
  { 
   $resultat = '<ul>'; 
   foreach( $formulaire as $cle => $valeur ) 
   { 
    $resultat .= '<li>'.$cle.' : '.$valeur.'</li>'; 
   } 
   $resultat .= '</ul>'; 
  } 
  //définition de variables 
  $prenom = $_POST['prenom']; 
  $nom = $_POST['nom']; 
  $adresse = $_POST['adresse']; 
  $ville = $_POST['ville']; 
  $cp= $_POST['cp']; 
  $telephone = $_POST['telephone']; 
  $pays = $_POST['pays']; 
  $email = $_POST['email']; 
  $mdp = $motdepasse; 
  $mdp_mess = $mdp; 
  $mdp = md5($_POST['mdp']); 
  $dpt = substr($cp, 0, 2); 
  if(!get_magic_quotes_gpc()) 
  { 
  $prenom = addslashes($prenom); 
  $nom = addslashes($nom); 
  $adresse= addslashes($adresse); 
  $ville = addslashes($ville); 
  } 
  //verification si le client n'est pas déjà inscrit 
 $sql = 'SELECT * FROM clients WHERE nom="'.mysql_real_escape_string($_POST['nom']).'" AND prenom="'.mysql_real_escape_string($_POST['prenom']).'" AND email = "'.mysql_escape_string($_POST['email']).'"'; 
 $req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error()); 
 $data = mysql_fetch_array($req); 
  if ($data[0] == 0) { 
    // on enregistre les données dans la bdd, dans la table 
   $sql = "INSERT INTO clients (idclient, date, nom, prenom, email, adresse, cp, ville, dpt, pays, telephone, mdp) VALUES ('', NOW(), '" .$nom. "', '" .$prenom. "', '" .$email. "', '" .$adresse. "', '" .$cp. "', '" .$ville. "', '" .$dpt. "', '" .$pays. "', '" .$telephone. "', '" .$mdp. "') "; 
//signalement si pb lors de l'insertion  
  mysql_query($sql) or die('Erreur SQL !'.$sql.'<br />'.mysql_error()); 
  //récupération de l'id client 
  $id = mysql_insert_id(); 

   include ('code_boutik/mail_inscript.php'); 
    session_start(); 
    $_SESSION['idclient'] = $id; 
    $_SESSION['nom'] = $nom; 
    $_SESSION['prenom'] = $prenom; 
    $_SESSION['email'] = $email; 
 $_SESSION['mdp'] = $mdp; 
    header('Location: cpte_client.php'); 
    exit(); 
  // Fin de l'action 
          mysql_close(); 
   } 
   
    else{ 
    $erreur = " <b>$prenom $nom</b> est déjà inscrit dans notre base. Si vous avez perdu votre mort de passe, contactez le webmaster. Merci, et à bientôt. 
 <br /> 
 <a href=\"acc_boutik.php\">Cliquez ici pour revenir à l'accueil de la boutique</a>, ou <a href=\"identif.php\">ici pour vous identifier</a>.";    } 

   

 } 
} 
?> 

Et le formulaire html :
    <p> 
<?php 
echo $resultat; 
echo $ErreursForm; 
?>    
    </p> 
    <br /><br /><br /><br /> 
    <form action="#" id="enreg" method="post"> 

     
     
 <p class="double"> 
  <label for="nom">Nom</label> 
  <input type="text" id="nom" value="<?php $formulaire['nom']; ?>" /> 
 </p> 
 <p class="double"> 
  <label for="prenom">Prénom</label> 
  <input type="text" id="prenom" value="<?php $formulaire['prenom']; ?>" /> 
 </p> 
 <p class="double"> 
  <label for="adresse">Adresse 
  <span class="info">(Numéro et rue)</span></label> 
  <input type="text" id="adresse" value="<?php $formulaire['adresse']; ?>" /> 
 </p> 
 <p class="double"> 
  <label for="cp">Code postal 
  <span class="info"></span></label> 
  <input type="text" id="cp" value="<?php $formulaire['cp']; ?>" /> 
 </p> 
 <p class="double"> 
  <label for="ville">Ville 
  <span class="info"></span></label> 
  <input type="text" id="ville" value="<?php $formulaire['ville']; ?>" /> 
 </p> 
 <p class="double"> 
  <label for="pays">Pays 
  <span class="info">(uniquement pour l'étranger)</span></label> 
  <input type="text" id="pays" value="<?php $formulaire['pays']; ?>" /> 
 </p> 
 <p class="double"> 
  <label for="telephone">Téléphone</label> 
  <input type="text" id="telephone" value="<?php $formulaire['telephone']; ?>" /> 
 </p> 
 <p class="double"> 
  <label for="email">Votre email 
  <span class="info"></span></label> 
  <input type="text" id="email" value="<?php $formulaire['email']; ?>" /> 
 </p> 
 <p class="simple"> 
  <input class="soumi" type="submit" name="enregistrement" value="Envoyer" /> 
 </p> 
</form> 
<p> 
  <?php 
  if (isset($erreur)) echo '<br />',$erreur;   
  ?> 
</p> 

Merci encore d'avance pour vos avis.
A voir également:

1 réponse

Corto64 Messages postés 22 Date d'inscription dimanche 25 avril 2010 Statut Membre Dernière intervention 30 juin 2011
15 déc. 2010 à 18:51
Oooooooooooooupssssssssss
L'erreur était dans les <input>; j'avais bien renseigné id mais pas name...donc, rien de transmis....
Résolu donc!
0