Mon code ne fonctionne pas

Résolu
Bonjour,mon code ne fonctionne pas l'erreur qui s'affiche quand j'exécute la page test0 est("Parse error: parse error in c:\program files\easyphp1-8\www\projet 1\test0.php on line 22")
voici le code de la page du formulaire d'inscription test0(je suis débutant en php)

<html>
<head>
<title>test0</title>
<style type="text/css">
<!--
.Style2 {font-size: large}
-->
</style>
</head>
<body>

<div align="center">

<h1 class="Style2">Test PhP & MySQL</h1> <br>

<strong>Nom, Prénom et Job: </strong> <br/> <br/>

<?
php mysql_connect("localhost", "root", "");
mysql_select_db("testbase");
$inscritpion = mysql_query("INSERT INTO testtable (id, job, nom, prenom) VALUES('', '$job', '$nom', '$prenom')") or die(mysql_error());

$reponse = mysql_query("SELECT * FROM testtable") or die(mysql_error());
while ($donnees = mysql_fetch_array($reponse) )
{
?>

<li>

<?php echo $donnees['nom']; ?>
<?php echo $donnees['prenom']; ?> ,
<?php echo $donnees['job']; ?> <br/>

</li>

<?php
}
mysql_close();
?>

<a href="index.php">Précédent</a> <br/>
<a href="test1.php">Suivant</a>
</div>
</body>
</html>

merci a vous tous!!!!!
Configuration: Windows Vista
Firefox 3.0.5

15 réponses

  • Votes
  • Date
  • Date décroissante
  1. Coucou
    A la place de
    <?
    php mysql_connect("localhost", "root", "");

    essayes ça

    <?php
    mysql_connect("localhost", "root", "");

    Je pense que ça ira mieux :)
    1. Contributeur
      Bonsoir,
      Essaie avec ça :

      ...
      $inscritpion = mysql_query("INSERT INTO testtable (id, job, nom, prenom) VALUES('', '" . $job . "', '" . $nom ."', '". $prenom ."')") or die(mysql_error());
      ...


      Cordialement,
      1. Contributeur
        Et ta ligne 22, c'est laquelle ?
        C'est bien celle là ?

        Cordialement,
        1. vraiment je ne sais pas je vais te donner le code de la page test qui est
          <html>
          <head>
          <title>test</title>
          <style type="text/css">
          <!--
          .Style2 {font-size: large}
          -->
          </style>
          <?php
          mysql_connect("localhost", "root", "");
          mysql_select_db("testbase");
          ?>

          </head>
          <body>
          <div align="center">
          <h1 class="Style2">Test PhP & MySQL</h1> <br/>

          <?php

          if (isset($_POST['job']) AND isset($_POST['nom']) AND isset($_POST['prenom']))
          {
          $job = htmlentities($_POST['job']);
          $nom = htmlentities($_POST['nom']);
          $prenom = htmlentities($_POST['prenom']);
          //On enregistre les données

          }
          //on quite mysql
          mysql_close();
          ?>

          <form name ="testinscription" action="test0.php" method="post">
          Job : <input name="job" type="text" /><br />
          Nom : <input name="nom" type="text" ><br />
          Prenom : <input name="prenom" type="text"/><br />
          <input type="submit" name="envoyer" value="Envoyer">
          </form>

          </div>
          </body>
          </html>
          et ensuite le code de la page test0 qui est

          <html>
          <head>
          <title>test0</title>
          <style type="text/css">
          <!--
          .Style2 {font-size: large}
          -->
          </style>
          </head>
          <body>

          <div align="center">

          <h1 class="Style2">Test PhP & MySQL</h1> <br>

          <strong>Nom, Prénom et Job: </strong> <br/> <br/>

          <?
          php mysql_connect("localhost", "root", "");
          mysql_select_db("testbase");
          $inscritpion = mysql_query("INSERT INTO testtable (id, job, nom, prenom) VALUES('', '$job', '$nom', '$prenom')") or die(mysql_error());

          $reponse = mysql_query("SELECT * FROM testtable") or die(mysql_error());
          while ($donnees = mysql_fetch_array($reponse) )
          {
          ?>

          <li>

          <?php echo $donnees['nom']; ?>
          <?php echo $donnees['prenom']; ?> ,
          <?php echo $donnees['job']; ?> <br/>

          </li>

          <?php
          }
          mysql_close();
          ?>

          <a href="index.php">Précédent</a> <br/>
          <a href="test1.php">Suivant</a>
          </div>
          </body>
          </html>

          en faite j'ai apporté lce ligne $inscritpion = mysql_query("INSERT INTO testtable (id, job, nom, prenom) VALUES('', '$job', '$nom', '$prenom')") or die(mysql_error()); de la page test apres (on enregistre les données)
          a la page test0
          1. coucou, ce message est affiché
            (Test PhP & MySQL

            Nom, Prénom et Job:

            Notice: Undefined variable: job in c:\program files\easyphp1-8\www\projet 1\test0.php on line 24

            Notice: Undefined variable: nom in c:\program files\easyphp1-8\www\projet 1\test0.php on line 24

            Notice: Undefined variable: prenom in c:\program files\easyphp1-8\www\projet 1\test0.php on line 24
            La table 'testbase.testtable' n'existe pas)
            1. Ta table est-elle crée dans mysql ?
              1. je te remercie beaucoup mikebzh!!!!
            2. en faite j'ai créer une base qui s'appelle testbase avec une table qui s'appelle test qui comporte 3 champs( job. nom, prénom) mais ce message est affiché
              Test PhP & MySQL

              Nom, Prénom et Job:

              Notice: Undefined variable: job in c:\program files\easyphp1-8\www\projet 1\test0.php on line 24

              Notice: Undefined variable: nom in c:\program files\easyphp1-8\www\projet 1\test0.php on line 24

              Notice: Undefined variable: prenom in c:\program files\easyphp1-8\www\projet 1\test0.php on line 24
              La table 'testbase.testtable' n'existe pas
              1. Contributeur
                $inscritpion = mysql_query("INSERT INTO testtable (id, job, nom, prenom) VALUES('', '$job', '$nom', '$prenom')") or die(mysql_error());

                Faut remplacer testtable par test si ta table s'appelle test...

                Edit :
                De plus, ce code là :
                if (isset($_POST['job']) AND isset($_POST['nom']) AND isset($_POST['prenom']))
                {
                $job = htmlentities($_POST['job']);
                $nom = htmlentities($_POST['nom']);
                $prenom = htmlentities($_POST['prenom']);
                }

                il doit se trouver tout au début de test0.php, pas dans ton formulaire.

                Cordialement,
            3. ou exactement dans test0 désolé pour le dérangement!
              merciiii
              1. Contributeur
                
                <html>
                <head>
                <title>test0</title>
                <style type="text/css">
                <!--
                .Style2 {font-size: large}
                -->
                </style>
                </head>
                <body>
                
                <div align="center">
                
                <h1 class="Style2">Test PhP & MySQL</h1> <br>
                
                <strong>Nom, Prénom et Job: </strong> <br/> <br/>
                <?php 
                //connexion à la BD
                 mysql_connect("localhost", "root", "");
                 mysql_select_db("testbase");
                 
                if (isset($_POST['job']) AND isset($_POST['nom']) AND isset($_POST['prenom']))
                {
                 //l'insertion n'est faite que si le formulaire a bien été rempli
                 $job = htmlentities($_POST['job']);
                 $nom = htmlentities($_POST['nom']);
                 $prenom = htmlentities($_POST['prenom']);
                
                 $inscritpion = mysql_query("INSERT INTO test (id, job, nom, prenom) VALUES('', '$job', '$nom', '$prenom')") or die(mysql_error());
                
                }
                
                //ensuite on affiche tout ce que contient la table test (et pas testtable)
                $reponse = mysql_query("SELECT * FROM test") or die(mysql_error());
                while ($donnees = mysql_fetch_array($reponse) )
                {
                ?>
                
                
                <li>
                
                
                <?php echo $donnees['nom']; ?>
                <?php echo $donnees['prenom']; ?> ,
                <?php echo $donnees['job']; ?> <br/>
                
                
                </li>
                
                
                
                
                <?php
                }
                mysql_close();
                ?>
                
                <a href="index.php">Précédent</a> <br/>
                <a href="test1.php">Suivant</a>
                </div>
                </body>
                </html> 


                Cordialement,
            4. maintenant ce message est affiché
              Test PhP & MySQL

              Nom, Prénom et Job:

              Notice: Undefined variable: job in c:\program files\easyphp1-8\www\projet 1\test0.php on line 24

              Notice: Undefined variable: nom in c:\program files\easyphp1-8\www\projet 1\test0.php on line 24

              Notice: Undefined variable: prenom in c:\program files\easyphp1-8\www\projet 1\test0.php on line 24
              Duplicata du champ '' pour la clef 1
              1. Contributeur
                Alors deux choses.
                La première, c'est de tester la valeur de test champs après le htmlentities afin de vérifier qu'ils ne valent pas une chaîne vide.
                La seconde, c'est que tu ne dois pas spécifier l'identifiant quand tu fais un insert, c'est à ton sgbd de t'en générer un automatiquement (et ici tu le mets à '' apparemment).

                Cordialement,
            5. est ce que ce message doit être affiché après l'exécution
              Test PhP & MySQL

              Nom, Prénom et Job:

              ,
              Précédent
              Suivant
              1. Contributeur
                Oui (sauf la virgule), si ta table test est vide.

                Cordialement,
            6. vraiment je te remercie infiniment Marco et si tu veux donne moi ton msn ou ton email pour que je puisse te contacter dans une nouvelle fois facilement parceque je vais essayer de créer un site(bureau d'emploi en ligne)
              que dieu sois avec toi!!!!
              1. Contributeur
                Et bien, si tu as besoin d'aide, tu peux poster sur ce site. Pour me contacter personnellement utilise les MP.
                Le problème est résolu alors ?

                Cordialement,
            7. oui merci tu es trés fort!!!
              1. Contributeur
                :)
                Merci, mais non, je ne suis pas "très fort", j'ai juste un tout petit peu d'expérience en php.

                Et surtout n'oublie pas mikebzh qui a trouvé d'où venait le parse error (en ce qui me concerne je ne le voyais pas, donc on n'aurait pas été très loin sans lui).

                Cordialement,
            8. bonjour a tous et a toutes je veux créer un site similaire a www.anpe.fr et je suis débutant en php est ce qu'il a quelqu'un qui peut m'aider?
              1. Contributeur
                Bonjour,
                Crée un nouveau topic car celui-ci est résolu, et le titre ne correspond plus à ce que tu recherches désormais.

                Cordialement,