Problème de remplissage de la BDD

salutcoucou Messages postés 11 Date d'inscription   Statut Membre Dernière intervention   -  
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   -
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());
}
?>
A voir également:

1 réponse

zucrezel Messages postés 30 Date d'inscription   Statut Membre Dernière intervention   4
 
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 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
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