Affichage web d'un programme en php

Bonjour,
J'ai ecris un programme php, mais l'exécution sur la page web il y est affiché aussi ce code:

".$prod."\n"; } echo ""; echo ""; ?>

Alors je vous transmettre tous le programme et vous allez m'aider à deceler l'erreur. Voici le programme.

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Document sans titre</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css">
<!--
body {
background-color: #CCCC99;
}
-->
</style></head>

<body>
<center>
<?

$test=$_POST['test'];
$connexion = mysql_connect("localhost","root","")
or die ("probleme de connection");
$db = mysql_select_db("chimie",$connexion)
or die ("probleme de selection de base de donnée");

if ($test=="")
{
?><h2>selestionner le type d'article </h2>
<form action="ajoutstock.php" method="POST"><select name="test">
<option value="Ré">Réactifs
<option value="Co">Consommables
<option value="Pi">Pièces détachées
</select>
<input type="submit" value="choisissez un article"></form><?
}
if ($test!="")
{
?>
<h2>selestionner le produit </h2>
<?
$rq="SELECT DISTINCT prod FROM stock WHERE temp3='$test' ";
$result=mysql_query($rq)
or die ("requete impossible");
echo "<form action='ajoutstocke.php' method='POST'><select name='prod'>\n";

while ($ligne=mysql_fetch_array($result))
{
extract($ligne);
if ($prod<>"")

echo "<option value='$prod'>$prod\n";

}
echo "</select>";
echo "<input type='submit'".
"value=\"valider\"></form>";
}
?>
</center>

</body>
</html>

S'il vous plait, testez le programme sur votre écran quand ça marche , transmettez le moi. Merci d'avance

3 réponses

  1. Bonjour

    if ($prod<>"")
    à remplacer par
    if ($prod!="")

    Je ne suis pas sûr que ça explique tout, mais il y a au moins ça
    1. Bonjour,

      Votre serveur exige d'utiliser <?php au lieu de <? et ça devrait marcher.

      Sinon, je vois dans le code:

      <center>

      Il ne faut plus utiliser CENTER. C'est un élément obsolète. Les préconisations du nouveau standard HTML5 recommandent de mettre en style tout les éléments et attributs qui gèrent la présentation à l'écran, exemple de code corect:

      <div style='text-align: center;'>...mon texte à centrer...</div>


      ou

      <p style='text-align: center;'>...mon texte à centrer...</p>


      Oualà.
      1. re-bonjour,

        Autre chose, erreur fréquente en débutant PHP, votre code:

        if ($test=="") {
        ?><h2>selestionner le type d'article </h2>
        <form action="ajoutstock.php" method="POST"><select name="test">
        <option value="Ré">Réactifs
        <option value="Co">Consommables
        <option value="Pi">Pièces détachées
        </select>
        <input type="submit" value="choisissez un article"></form><?
        } 


        Il faut éviter de passer de php -> html -> php -> html avec des imbrications qui déstructurent la présentation et la cohérence.

        J'explique.

        Soit votre page contient du HTML et fait appel à PHP, soit votre page ne contient que du php.

        Dans le premier cas, on s'attachera à utiliser php comme "moteu de template". Voici la présentation que je recommande:

        ....ici code HTML....
           <?php if ($test==""): ?>
             <h2>selestionner le type d'article </h2>
             <form action="ajoutstock.php" method="POST">
               <select name="test">
                 <option value="Ré">Réactifs</option>
                 <option value="Co">Consommables</option>
                 <option value="Pi">Pièces détachées</option>
               </select>
               <input type="submit" value="choisissez un article">
            </form>
          <?php endif; ?>
        ...suite du code HTML...


        Indentez votre code HTML proprement comme vous indentez le php. Fermez vos structures, <option>....</option> par exemple.

        A+