Signaler

Insérer les cases "ratio" dans ma BDD

Posez votre question salutcoucou 9Messages postés vendredi 11 novembre 2016Date d'inscription 1 décembre 2016 Dernière intervention - Dernière réponse le 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 
Utile
+1
moins plus
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);

Ajouter un commentaire
Utile
+0
moins plus
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 2059Messages postés lundi 11 février 2013Date d'inscription 7 décembre 2016 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
Répondre
jordane45 15436Messages postés mercredi 22 octobre 2003Date d'inscription ModérateurStatut 8 décembre 2016 Dernière intervention - 30 nov. 2016 à 17:42
Commence par faire un print de $_POST et regarde ce qu'il contient.
print_r($_POST);
Répondre
salutcoucou 9Messages postés vendredi 11 novembre 2016Date d'inscription 1 décembre 2016 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 .....
Répondre
jordane45 15436Messages postés mercredi 22 octobre 2003Date d'inscription ModérateurStatut 8 décembre 2016 Dernière intervention - 30 nov. 2016 à 22:39
Monotre le code qui génère cette erreur
Répondre
Ajouter un commentaire
Utile
+0
moins plus
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());
}
?>
Ajouter un commentaire
Utile
+0
moins plus
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 9Messages postés vendredi 11 novembre 2016Date d'inscription 1 décembre 2016 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é ?
Répondre
jordane45 15436Messages postés mercredi 22 octobre 2003Date d'inscription ModérateurStatut 8 décembre 2016 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 ?
Répondre
salutcoucou 9Messages postés vendredi 11 novembre 2016Date d'inscription 1 décembre 2016 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 ?
Répondre
jordane45 15436Messages postés mercredi 22 octobre 2003Date d'inscription ModérateurStatut 8 décembre 2016 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
Répondre
salutcoucou- 3 déc. 2016 à 10:48
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
Répondre
Ajouter un commentaire

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes.

Le fait d'être membre vous permet d'avoir des options supplémentaires.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !