condition de choix

Par lecjoh, il y a 10 ans


Bonjour,

Voila je rencontre un petit problème avec mon code.

Ce que je fais

<html>
<?php

error_reporting(E_ALL);

if(isset($_POST['submit']))
{ 
$bdd = new PDO('mysql:host=localhost;dbname=phplogin;charset=utf8', 'root', '');
  try
{
    $bdd = new PDO('mysql:host=localhost;dbname=phplogin;charset=utf8', 'root', '');
    $req = "INSERT INTO inscription (nom, prenom, adresse, ville, nombre_enfant, nomenfant, pseudo, motdepasse, email)";
    $req .= " VALUES ";

    $req .= "(:nom, :prenom, :adresse, :ville, :nombreenfant, :nomenfant, :pseudo, :motdepasse, :email)";
    $stmt = $bdd->prepare($req);
    $stmt->bindValue('nom',htmlentities(trim($_POST['nom'])),PDO::PARAM_STR);
    $stmt->bindValue('prenom',htmlentities(trim($_POST['prenom'])),PDO::PARAM_STR);
    $stmt->bindValue('adresse',htmlentities(trim($_POST['adresse'])),PDO::PARAM_STR);
    $stmt->bindValue('nombre_enfant',htmlentities(trim($_POST['nombre_enfant'])),PDO::PARAM_STR);
    $stmt->bindValue('nomenfant',htmlentities(trim($_POST['nomenfant'])),PDO::PARAM_STR);
    $stmt->bindValue('pseudo',htmlentities(trim($_POST['pseudo'])),PDO::PARAM_STR);
    $stmt->bindValue('motdepasse',htmlentities(trim($_POST['motdepasse'])),PDO::PARAM_STR);
    $stmt->bindValue('email',htmlentities(trim($_POST['email'])),PDO::PARAM_STR); 

    if (!$stmt->execute()) {
        throw new PDOException('insertion impossible');
    }
}
catch (Exception $e)
{
    die('Erreur : ' . $e->getMessage());
}
}
?>

<head>
    <meta charset="utf-8" />
</head>
<body>
<form method="POST" action="traitement.php">
<p>
   <label for="nom">Nom :</label>
   <input type="text" name="nom" id="nom" />

   <br></br>

   <label for="prenom">Prenom :</label>
   <input type="text" name="prenom" id="prenom" />

   <br></br>

   <label for="adresse">Adresse :</label>
   <input type="text" name="adresse" id="adresse" />

   <br></br>

   <label for="ville">Ville :</label>
   <input type="text" name="ville" id="ville" />

   <br></br>

    <label for="Nombre d'enfant">Nombre d'enfant :</label>

<select name="nombre_enfant">
<option value=1>1</option>
<option value=2>2</option>
<option value=3>3</option>
<option value=4>4</option>
<option value=5>5</option>
</select>

<?php

$nombre_enfant = $_POST['nombre_enfant'];
while ($nombre_enfant =! 0){
echo 'nom enfant'

            $nombre_enfant = $nombre_enfant-1;

      }   

?>

   <br></br>

   <label for="nomenfant">Nom de l'enfant :</label>
   <input type="text" name="nomenfant" id="nomenfant" />

   <br></br>

   <label for="pseudo">Pseudo :</label>
   <input type="text" name="pseudo" id="pseudo" />

   <br></br>

   <label for="motdepasse">Mot de passe :</label>
   <input type="text" name="motdepasse" id="motdepasse" />

     <br></br>

    <label for="email">E-Mail :</label>
   <input type="text" name="email" id="email" /> 

   <br></br>

    <INPUT TYPE="submit" NAME="submit" VALUE=" Envoyer ">

</p>
</form>

</body>

</html>

### Ce que je veux Si l'on choisit 2 enfant, il y aura 2 lignes de nom enfant. ### Ce que j'obtiens Une erreur : Parse error: syntax error, unexpected '$nombre_enfant' (T_VARIABLE), expecting ',' or ';' in C:\Program Files\EasyPHP-DevServer-14.1VC9\data\localweb\Johann\inscription.php on line 78

15 réponses

arnich, il y a 10 ans

Il manque un ; à la ligne 77.

L'erruer est plutot claire : expecting ',' or ';' in C:\Program Files\EasyPHP-DevServer-14.1VC9\data\localweb\Johann\inscription.php on line 78

lecjoh, il y a 10 ans

Merci mais une fois que je mets le ;, ça me met ça : Undefined index: nombre_enfant in C:\Program Files\EasyPHP-DevServer-14.1VC9\data\localweb\Johann\inscription.php on line 74 et ça inscrit nomenfant * 1000

arnich, il y a 10 ans

Il ne dois pas y avoir de champs nombre_enfant dans ton formulaire.
Tu essais de trouver la solution et de comprendre le script ou tu colle le code en espérant avoir une réponse toute machée ?

shinix, il y a 10 ans

En même temps c'est le 3ème topics qu'il créé pour le même bout de code avec à chaque fois des erreurs d'inattentions...

D'ailleurs c'est quoi ça, ce code est censé donner quelque chose de logique ? :

$nombre_enfant = $_POST['nombre_enfant']; while ($nombre_enfant =! 0){ echo 'nom enfant' $nombre_enfant = $nombre_enfant-1; }

Et si tu veux (encore) de l'aide met au moins en page ton code dans le topic parce que la on comprendre rien

lecjoh, il y a 10 ans

Pour moi je pensais que si nombre_enfant =! 0 ça aurait fait une boucle. J'ai poster mon code sur ma première publication de ce post.

Gaspard, il y a 10 ans

Pourquoi tu veux boucler sur $nombre_enfant exactement ?

lecjoh, il y a 10 ans

Bonjour, bah je sais pas trop c'est parce que je voudrais que si l'on choisit 2 enfant il y a 2 ligne de nom enfant qui s'affiche pour les enregistrer dans la table.
Merci d'avance

Gold weavers, il y a 10 ans

tu vas devoir faire ça avec du js pas avec du php

Gaspard, il y a 10 ans

tu vas devoir faire ça avec du js pas avec du php

Tout dépend comment le truc est foutu, c'est tout à fait faisable de boucler sur plusieurs éléments et de faire un INSERT dans la base, en PHP.

Gold weavers, il y a 10 ans

je parler d'afficher des inputs suivant le nb d'enfants sans changer/raffraichir la page

Gaspard, il y a 10 ans

Ah autant pour moi, oui avec jQuery c'est faisable facilement ça !

lecjoh, il y a 10 ans

Okok merci les gars, je vais mater des tutos pour jQuery.

lecjoh, il y a 10 ans

Je dois utiliser le fonction Hide et Show ?
Merci d'avance

Gold weavers, il y a 10 ans

oui ou bien avec du css en plus .addClass() et .removeClass()

Gold weavers, il y a 10 ans

Merci de passer ton sujet en résolut.