Affichage web d'un programme en php

Tanguy -  
mpmp93 Messages postés 2931 Date d'inscription   Statut Membre Dernière intervention   -
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. le père
     
    Bonjour

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

    Je ne suis pas sûr que ça explique tout, mais il y a au moins ça
    0
  2. mpmp93 Messages postés 2931 Date d'inscription   Statut Membre Dernière intervention   1 343
     
    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à.
    0
  3. mpmp93 Messages postés 2931 Date d'inscription   Statut Membre Dernière intervention   1 343
     
    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+
    0