Problème de remplissage de la BDD

Fermé
salutcoucou Messages postés 11 Date d'inscription vendredi 11 novembre 2016 Statut Membre Dernière intervention 6 août 2017 - 7 févr. 2017 à 17:43
jordane45 Messages postés 38175 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 13 mai 2024 - 7 févr. 2017 à 19:59
Bonjour à tous, aujoud'hui je m'adresse à vous afin de vous demander de l'aide. En effet j'essai de créer un site internet pour mon association et en suis au formulaire d'inscritpion. Tout fonctionnait puis tout d'un coup ... plus rien ne fonctionne.

En effet ma base de donnée ne se remplie plus et je n'ai aucun message d'erreur ..

Voici mon code merci d'avance :

<?php
//Affichage des erreurs PHP

error_reporting(E_ALL);
ini_set('display_errors',1);


// Connexion à la bdd 
require_once "cnxBdd.php";

//xn--rcupration-b7ad "propre" des variables AVANT de les utiliser
 $civilite = isset($_POST['Civilite']) ? $_POST['Civilite'] : NULL;
 $nom = isset($_POST['nom']) ? $_POST['nom'] : NULL;
 $prenom = isset($_POST['prenom']) ? $_POST['prenom'] : NULL;
 $adresse = isset($_POST['adresse']) ? $_POST['adresse'] : NULL;
 $adressemail = isset($_POST['adressemail']) ? $_POST['adressemail'] : NULL;
 $telephone = isset($_POST['telephone']) ? $_POST['telephone'] : NULL;
 $profession = isset($_POST['profession']) ? $_POST['profession'] : NULL;
 $tarif = isset($_POST['tarif']) ? $_POST['tarif'] : NULL;


 //traitement du formulaire
if ($civilite && $nom 
   && $prenom && $adresse 
   && $adressemail && $telephone 
   && $profession && $tarif){
  //xn--prparation-c7a de la requête et des variables
  $sql = "INSERT INTO formulaire(civilite, nom, prenom, adresse, adressemail, telephone, profession, tarif) VALUES(?, ?, ?, ?, ?, ?, ?, ?)";
  $datas = array($civilite, $nom, $prenom, $adresse, $adressemail, $telephone, $profession, $tarif);
  //Execution de la requete
  try{
    $requete = $bdd->prepare($sql) ;
    $requete->execute($datas) ;
  }catch(Exception $e){
    // en cas d'erreur :
    echo " Erreur ! ".$e->getMessage();
    echo " Les datas : " ;
    print_r($datas);
  }

}

if(isset($_POST['validform'])){
  $header="MIME-Version: 1.0\r\n";
  $header='From:"Graines de seine"<jardinmademoiselle@gmail.com>'."\n";
  $header.='Content-Type:text/html; charset="uft-8"'."\n";
  $header.='Content-Transfer-Encoding: 8bit';

  $message='
  <html>
    <body>
      <div align="left">
        Un nouveau membre s\'est inscrit :
      </div>
    </body>
  </html>
  ';
  
  $message.="Civilite : ";
  $message.="$civilite";
  $message.="Nom : ";
  $message.="$nom";
  $message.="Prenom : ";
  $message.="$prenom";
  $message.="Adresse : ";
  $message.="$adresse";
  $message.="Adresse e-mail : ";
  $message.="$adressemail";
  $message.="Profession : ";
  $message.="$profession";
  $message.="Numéro de téléphone : ";
  $message.="$telephone";

  if(mail("jardinmademoiselle@gmail.com", "Nouvelle inscription à l'association !", $message, $header)){
    echo '<script type="text/javascript">
            alert ("Vos informations ont bien été envoyées, vous serez contacté par un membre de l\'association prohainement.")
           </script>';
  }
}

?>


<!DOCTYPE html>
<html>
  <header>
  <title>Graines de Seine</title>
  <style type="text/css">
  </style>
  <link rel="stylesheet" type="text/css" href="inscriptions.css" />
  </header>
  <body>
    <div id="corp">
      <div id="automne">
        <img src=""quot;images/automne.jpg">
      </div>

     <form action="" method="POST" >

      <div id="div_Civilite">
        <select class="div_Civilite" name="Civilite" id="Civilite">
          <option value="Monsieur">Monsieur</option>
          <option value="Madame">Madame</option>
        </select>
      </div>

      <div id="div_nom">
         <input type="text" name="nom" class="div_nom" placeholder="Nom" >
      </div>

      <div id="div_prenom">
        <input type="text" name="prenom" class="div_prenom" placeholder="Prenom">
      </div>

      <div id="div_adressemail">
        <input type="email" name="adressemail" class="div_adressemail" placeholder="Adresse mail">
      </div>

      <div id="div_telephone">
        <input type="tel" name="adressemail" class="div_telephone" placeholder="Téléphone"> 
      </div>
      <div id="div_profession">
        <input type="text" name="profession" class="div_profession" placeholder="Profession">
      </div>
      <div id="div_adresse">
        <input type="text" name="adresse" class="div_adresse" placeholder="Adresse">
      </div>
      <div id="div_20euros">
       <input type="radio" name="tarif" value="20" class="div_20euros"><label>Famille</label>
      </div>
      <div id="div_10euros">
        <input type="radio" name="tarif" value="10" class="div_10euros"><label>Etudiants</label>
      </div>
      <div id="div_gratuit">
        <input type="radio" name="tarif" value="0" class="div_gratuit"><label>Centres de loisirs</label>
      </div>
      <div id="div_Valider">
        <input type="submit" value="Valider" class="div_Valider">
      </div>
    </form>

    <div id="Logo"><img src=""quot;images/logo_graines_de_Seine.jpg" height="152"></div>

    <a href="index.html" rel="nofollow noopener noreferrer" target="_blank">
    <!--

      <div id="Accueil"><b><h1>Accueil</h1></b></div>
    </a>
    <a href="Informations.html" rel="nofollow noopener noreferrer" target="_blank">
      <div id="Informations"><b><h1>Informations</h1></b></div>
    </a>
    <a href="Contact.html" rel="nofollow noopener noreferrer" target="_blank">
      <div id="Contact"><b><h1>Contact</h1></b></div>
    </a>
      <div id="ligne"></div>
    <a href="inscriptions.html" rel="nofollow noopener noreferrer" target="_blank">
      <div id="Inscriptions"><b><h1>Inscriptions</h1></b></div>
    </a>
      -->
      <div>
   </body>
 </html>


et mon code de connexion à la base de donnée :


<?php
// fichier de connexion à la BDD : cnxbdd.php
try{
$bdd = new PDO('mysql:host=localhost;dbname=graines_de_seine; charset=utf8', 'root', '');
$bdd->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$bdd->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_ASSOC);
} catch(PDOException $e) {
die('Erreur : ' . $e->getMessage());
}
?>

1 réponse

zucrezel Messages postés 30 Date d'inscription mardi 7 février 2017 Statut Membre Dernière intervention 19 juillet 2017 4
7 févr. 2017 à 19:24
Bonjour,

Tu te trompes sur 2 input dans les div "div_adressemail" et "div_telephone":
<div id="div_adressemail">
<input type="text" name="email" class="div_adressemail" placeholder="Adresse mail">
</div>

<div id="div_telephone">
<input type="text" name="tel" class="div_telephone" placeholder="Téléphone">
</div>


Les lignes suivantes doivent également être changées par :
$adressemail = isset($_POST['email']) ? $_POST['email'] : NULL;
$telephone = isset($_POST['tel']) ? $_POST['tel'] : NULL;


Et pour que l'insertion puisse fonctionner, il faut rajouter n'est pas null:
if (! is_null($civilite) && ! is_null($nom) 
&& ! is_null($prenom) && ! is_null($adresse)
&& ! is_null($adressemail) && ! is_null($telephone)
&& ! is_null($profession) && ! is_null($tarif)){


Avec ces modifications l'insert en BDD fonctionne
0
jordane45 Messages postés 38175 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 13 mai 2024 4 667
7 févr. 2017 à 19:59
Bonjour,
Et pour que l'insertion puisse fonctionner, il faut rajouter n'est pas null:

Non ce n'est pas necessaire.

$nom = NULL;

if($nom){
  echo "nom n'est pas null";
}

//identique à :
if(! is_null($nom)){
   echo "nom n'est pas null";
}

0