Menu

Insérer les cases "ratio" dans ma BDD [Fermé]

salutcoucou 11 Messages postés vendredi 11 novembre 2016Date d'inscription 6 août 2017 Dernière intervention - 27 nov. 2016 à 21:20 - Dernière réponse :  salutcoucou
- 3 déc. 2016 à 10:48
Bonsoir, je galère un peu en php et vous m'aviez répondu de façon très claire, rapide et compréhensible, c'est pourquoi je m'adresse à vous :) !

J'ai désormais réussi à bien lier mon formulaire à ma BDD et je souhaiterai y intégrer des cases "ratio" (pour 20euros, 10euros et gratuit). J'ai pour BDD phpmyadmin. Ma question :
Comment faire le lien entre mes cases ratio et ma bdd afin qu'elles s'affichent dans ma BGG sous "oui / non" par exemple et comment les inscrire dans la BDD. Je vous met mon code en dessous et vous remercie d'avance :)

Code HTML et PHP :

<!DOCTYPE html>
<html>
 <header>
 <title>Graines de Seine</title>
 <style type="text/css">
 </style>
 <link rel="stylesheet" type="text/css" href="styleinscriptions.css" />
 </header>
 <body>
    <div id="corp">

   <?php

//Affichage des erreurs PHP
 error_reporting(E_ALL);
ini_set('display_errors',1);

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

//récupération "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;


 //traitement du formulaire
if ($civilite && $nom && $prenom && $adresse && $adressemail && $telephone && $profession){

  //préparation de la requête et des variables
  $sql = "INSERT INTO formulaire(civilite, nom, prenom, adresse, adressemail, telephone, profession) VALUES(?, ?, ?, ?, ?, ?, ?)";
  $datas = array($civilite, $nom, $prenom, $adresse, $adressemail, $telephone, $profession);

  //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";

mail("jardinmademoiselle@gmail.com", "Nouvelle inscription à l'association !", $message, $header);


?>
<script type="text/javascript">
alert ("Vos informations ont bien été envoyée, vous serez contacté par un membre de l\'association prohainement.")
</script>

<div id="automne">
<img src="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" class="div_nom" placeholder="Nom" >
  </div>

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

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

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

  <div id="div_adresse">
    <input type="text" class="div_adresse" placeholder="Adresse">
  </div>

  <div id="div_20euros">
  <input type="ratio" class="div_20euros"><label>Famille</label></div>

  <div id="10euros">
    <input type="ratio" class="div_10euros"><label>Etudiants</label>
  </div>

  <div id="gratuit">
    <input type="ratio" 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="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>
Afficher la suite 

14 réponses

jordane45 20630 Messages postés mercredi 22 octobre 2003Date d'inscriptionModérateurStatut 26 avril 2018 Dernière intervention - 27 nov. 2016 à 22:05
+1
Utile
Bonjour,


Quelques petites corrections de langage avant d'essayer d'aller plus loin :

J'ai pour BDD phpmyadmin

phpmyadmin est un "logiciel" qui permet de manipuler une base de données...
La base de données, elle, c'est du MYSQL


je souhaiterai y intégrer des cases "ratio"

ratio ?? connait pas !
Tu veux dire raDio je suppose...

s'affichent dans ma BGG

BGG ? Bon Gros Geant ?? .... ou BDD !!



Bref :
Il faut penser à mettre un attribut NAME qui servira pour la récupération dans les variables POST ( par exemple : tarif )
et un attribut VALUE qui servira à .. ben.. à y mettre la valeur correspondante.

Ce qui donne :
<div id="div_20euros">
  <input type="radio" name="tarif" value="20" class="div_20euros"><label>Famille</label></div>

  <div id="10euros">
    <input type="radio" name="tarif" value="10" class="div_10euros"><label>Etudiants</label>
  </div>

  <div id="gratuit">
    <input type="radio" name="tarif" value="0" class="div_gratuit"><label>Centres de loisirs</label>
  </div>


et côté PHP
 $tarif= isset($_POST['tarif']) ? $_POST['tarif'] : NULL;



et bien etendu.. tu dois ajouter un champ dans ta BDD qui servira à stocker l'info. (nomme le "tarif" )
$sql = "INSERT INTO formulaire(civilite, nom, prenom, adresse, adressemail, telephone, profession,tarif) VALUES(?, ?, ?, ?, ?, ?, ?,?)";
  $datas = array($civilite, $nom, $prenom, $adresse, $adressemail, $telephone, $profession,$tarif);

Cette réponse vous a-t-elle aidé ?  
salutcoucou 11 Messages postés vendredi 11 novembre 2016Date d'inscription 6 août 2017 Dernière intervention - 28 nov. 2016 à 22:37
0
Utile
4
Merci de votre réponse et merci pour le vocabulaire je ne m'étais pas très bien relu ..
Il semblerait que j'ai encore un petit problème, rien ne se rentre dans la BDD (et pas BGG x)) .. Voyez vous mon erreur ?



<!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">

<?php

//Affichage des erreurs PHP
error_reporting(E_ALL);
ini_set('display_errors',1);

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

//récupération "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){

//préparation 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";

mail("jardinmademoiselle@gmail.com", "Nouvelle inscription à l'association !", $message, $header);


?>
<script type="text/javascript">
alert ("Vos informations ont bien été envoyée, vous serez contacté par un membre de l\'association prohainement.")
</script>

<div id="automne">
<img src="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" class="div_nom" placeholder="Nom" >
</div>

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

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

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

<div id="div_adresse">
<input type="text" 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="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>

Pitet 2378 Messages postés lundi 11 février 2013Date d'inscription 2 février 2018 Dernière intervention - 30 nov. 2016 à 14:45
Il faut penser à mettre un attribut NAME qui servira pour la récupération dans les variables POST
jordane45 20630 Messages postés mercredi 22 octobre 2003Date d'inscriptionModérateurStatut 26 avril 2018 Dernière intervention - 30 nov. 2016 à 17:42
Commence par faire un print de $_POST et regarde ce qu'il contient.
print_r($_POST);
salutcoucou 11 Messages postés vendredi 11 novembre 2016Date d'inscription 6 août 2017 Dernière intervention > jordane45 20630 Messages postés mercredi 22 octobre 2003Date d'inscriptionModérateurStatut 26 avril 2018 Dernière intervention - 30 nov. 2016 à 22:35
Bon effectivement mes "name" avaient disparus .. je les ais donc remis et ai efféctué le print que vous m'aviez demander et j'ai pour message d'erreur que visiblement la fonction "try" à la ligne 40 a une erreur de syntaxe ..

Parse error: syntax error, unexpected 'try' (T_TRY) in C:\wamp64\www\site assoc\inscriptions.php on line 40

et en plaçant ce print dans les lignes pour les messages d'erreur j'obtient :

Parse error: syntax error, unexpected '}' in C:\wamp64\www\site assoc\inscriptions.php on line 48

et ici en supprimant ce } j'obtient le meme message d'erreur pour la meme acodale juste en dessous et en supprimant encore cette acolade j'ai cette fois un probleme sur le if jsute en dessous .....
jordane45 20630 Messages postés mercredi 22 octobre 2003Date d'inscriptionModérateurStatut 26 avril 2018 Dernière intervention > salutcoucou 11 Messages postés vendredi 11 novembre 2016Date d'inscription 6 août 2017 Dernière intervention - 30 nov. 2016 à 22:39
Monotre le code qui génère cette erreur
salutcoucou 11 Messages postés vendredi 11 novembre 2016Date d'inscription 6 août 2017 Dernière intervention - 29 nov. 2016 à 21:03
0
Utile
au fait voici le code de connexion à la BDD :



<?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());
}
?>
salutcoucou 11 Messages postés vendredi 11 novembre 2016Date d'inscription 6 août 2017 Dernière intervention - Modifié par jordane45 le 1/12/2016 à 19:19
0
Utile
6
les messages d'erreurs qui apparaissent sont inscrits ci dessus et voici mon code :

<!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">

     <?php

//Affichage des erreurs PHP
 error_reporting(E_ALL);
ini_set('display_errors',1);

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

//récupération "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){

  //préparation 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";

mail("jardinmademoiselle@gmail.com", "Nouvelle inscription à l'association !", $message, $header);


?>
<script type="text/javascript">
alert ("Vos informations ont bien été envoyée, vous serez contacté par un membre de l\'association prohainement.")
</script>

<div id="automne">
<img src="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="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>


EDIT : Ajout du langage dans les balises de code

salutcoucou 11 Messages postés vendredi 11 novembre 2016Date d'inscription 6 août 2017 Dernière intervention > jordane45 20630 Messages postés mercredi 22 octobre 2003Date d'inscriptionModérateurStatut 26 avril 2018 Dernière intervention - 1 déc. 2016 à 19:51
Toujours pas ... il ne se passe rien et je n'ai aucun message d'erreur ....

puis je savoir ce que vous avez modfié ?
jordane45 20630 Messages postés mercredi 22 octobre 2003Date d'inscriptionModérateurStatut 26 avril 2018 Dernière intervention - 1 déc. 2016 à 20:07
Pas de message d'erreur ?
Donc c'est mieux qu'avant. ...

Que donne un print de $_POST ?
salutcoucou 11 Messages postés vendredi 11 novembre 2016Date d'inscription 6 août 2017 Dernière intervention - 1 déc. 2016 à 20:59
cela donne : Parse error: syntax error, unexpected '}' in C:\wamp64\www\site assoc\inscriptions.php on line 38

ce qui correspond au crochet juste en dessous des lignes pour "en cas d'erreur" donc au meme stade que avant ...

on est daccord le print de $_POST je le met bien dans "en cas d'erreur" hein ?
jordane45 20630 Messages postés mercredi 22 octobre 2003Date d'inscriptionModérateurStatut 26 avril 2018 Dernière intervention > salutcoucou 11 Messages postés vendredi 11 novembre 2016Date d'inscription 6 août 2017 Dernière intervention - 2 déc. 2016 à 00:35
Non ce n'est pas pareil... ce n'est pas le même message d'erreur.....

Et non.. le print_r($_POST); tu le place au début de ton script...

Par contre.. pourrais tu vérifier que ton fichier .php soit bien encodé en utf8 sans BOM stp.
Pour ça, tu peux utiliser notepad++
regarde ici : http://www.commentcamarche.net/faq/47069-html-php-caracteres-accentues-et-l-utf8
Je suis un peu perdu mais bon .. le fichier et bien encodé en uft8 sans bom, j'ai placé le print_r($_POST) au tout début du code (en ligne 2) et j'obtient :

Parse error: syntax error, unexpected 'error_reporting' (T_STRING) in C:\wamp64\www\site assoc\inscriptions.php on line 4