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);

4 - On inclut le fichier de connexion à la BDD

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>';

3 - On vérifie si le nom de la famille a au moins 2 caractères
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&eacute;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 :(

4 réponses


        while($donnees == $Rep_Cat->fetch())
        {
            $var_temp=$donnees['id'];
            ?>
            <option> <?php value == $var_temp ?> </option>
        }

Tu vois ou est le problème ?

il manque une ouverture de balise php. je te laisse chercher

varphi
Auteur

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.

super. on apprends de ces erreurs.
pe se a passer ton sujet en résolu