Décrivez ici votre problème ou ce que vous cherchez à faire.
Bonjour,
J'ai ce parse error et je viens d'y passer l'après midi sans trouver d'explication. Je ne vois aucune parenthèse accolade ou autre qui manque??? J'ai fini par tester en coupant des bouts de code les uns après les autres et finalement l'erreur surveien sur cette boucle while mais je ne vois pas pourquoi:
Je précise ue les deux lignes avec balise <select> de ma liste déroulante ne sont pas en cause
<select name = "list_der" id = "list_der" onchange="submit()">
<?php
while($donnees == $Rep_Cat->fetch())
{
$var_temp=$donnees['id'];
?>
<option> <?php value == $var_temp ?> </option>
}
</select>
Merci bcp bcp bcp de me donner votre avis ;
Si besoin tout le code du fichier PHP en cause:
<?php
La page d'enregistrement d'une famille de plantes
1 - On extrait la variable super-globale $_POST
// $ajouter_famille == $_POST['ajouter_famille']
// $nom_famille == $_POST['nom_famille']
extract($_POST);
require "../include/connexion_bdd.php";
2 - On vérifie si l'utilisateur a cliqué sur le bouton "valider" ($_POST['ajouter_famille'])if (isset($ajouter_famille))
{
// echo '<script type="text/javascript">window.alert("ajout famille");</script>';
if (strlen($famille) >= 2)
{
$id_cat=2;
$requete = $connexion->prepare("INSERT INTO pl_fam SET Nom_Fam_Pl=:NFP,pl_cat_id=:PCI");
$requete->execute(array('PCI' => $id_cat, 'NFP' => $famille));
// vérifier si la requête d'insertion a réussi
if($requete)
{
$message='Données insérées';
echo '<script type="text/javascript">window.alert("'.$message.'");</script>';
}
else
{
echo "Échec de l'opération d'insertion";
alert('Échec de l opération d insertion');
}
#6 - On redirige l'utilisateur vers la page de gestion des familles
header('Location: gerer_fam_plantes.php');
}
else
{
echo "<p class='erreur' >Nom de famille trop court. Entrez au moins 2 caractères</>";
}
}
$Rep_Cat = $connexion->query( "SELECT id , nom FROM pl_cat ORDER BY id ASC");
//$Rep_Cat->closeCursor();
$inputname = "votre choix";
//$ld = "<SELECT NAME='list_cat'>";
//$ld = "<OPTION VALUE=0> Choisissez </OPTION>";
?>
<!DOCTYPE html>
<html>
<head>
<title>Ajouter une famille de plante</title>
<link rel="stylesheet" type="text/css" href="admin.css" >
</head>
<body>
<div id="contenu">
<a href="gerer_fam_plantes.php" title="Gérer toutes les familles" >Gérer les familles</a>
<h1>Ajouter une famille</h1>
<!-- Le formulaire d'enregistrement d'une famille. les valeurs des <input... /> sont transmises par la méthode POST
vers ce même fichier ajouter_famille.php == $_SERVER['PHP_SELF']
-->
<form name = "chx_cat" method="POST" action="<?php echo $_SERVER['PHP_SELF']; ?>" >
Votre choix :
<label>
<select name = "list_der" id = "list_der" onchange="submit()">
<?php
while($donnees == $Rep_Cat->fetch())
{
$var_temp=$donnees['id'];
?>
<option> <?php value == $var_temp ?> </option>
}
</select>
<?php
if(isset($_POST['list_der']))
{
if($_POST['list_der'] =="")
{
echo "Veuillez choisir une categorie dans la liste !";
}
else
{
$selection_liste=$_POST['list_der'];
echo "Valeur selectionnée: ".$selection_liste;
}
}
?>
</label><br /><br />
<input type="submit" value="valider" name= "hello" onclick="return confirm($_POST[inputname].' '.$_POST[$inputname])" >
<!--
-->
<input type="text" name="famille" placeholder="Nom de la famille. 2 caractères minimum" required > </p>
<input type="submit" value="valider" name="ajouter_famille" >
</form>
</div>
</body>
</html>
Entourez votre code en utilisant "```" pour bien le mettre en forme. (ne copiez pas trop de code)
Ce que je veux
Décrivez ce que vous cherchez à obtenir.
Ce que j'obtiens
Décrivez vos éventuelles erreurs ou ce que vous obtenez à la place de ce que vous attendez :(
while($donnees == $Rep_Cat->fetch())
{
$var_temp=$donnees['id'];
?>
<option> <?php value == $var_temp ?> </option>
}
Tu vois ou est le problème ?
Merci de vos réponses. Effectivement. Autrefois je programmais sur Delphi et le langage se suivait d'un bout à l'autre. Depuis 1 mois que j'essaye la programmation web je suis perdu avec l'intrication du passage de PHP à HTML5 et vice versa. Effectivement il faut vraimùent des balises d'entrée et sortie de PHP partout.
j'ai modifié mon code encore et encore et surtout je suis passé de l'edit sublim text 3 à VSCode avec adjonction de XDEBUG en pas à pas et cela m'a permis de trouver ce qui n'allait pas dans cette boucle while: remettre une balise d'ouverture <?php juste avant la sortie de boucle!
Merci de vos commentaires.