IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Parsing error ligne 37


Sujet :

Langage PHP

  1. #1
    Membre régulier
    Inscrit en
    Décembre 2006
    Messages
    165
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 165
    Points : 76
    Points
    76
    Par défaut Parsing error ligne 37
    Bonjour

    sur un tp je dois créer un chat virtuel en me connectant à ma base de donné coursphp puis à la table minichat le problème c'est un parsing error à la ligne 37 j'ai vérifié à plusieurs reprise mais tout me semble correcte
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    <?php
    if (isset($_POST['pseudo']) and isset($_POST['message'])) // si les variables existent
    {
    	$pseudo  = $_POST['pseudo'];
    	$message = $_POST['message'];	
    	mysql_connect("localhost", "root", "secret");
    	mysql_select_db("coursphp");
     
    	mysql_query("INSERT INTO minichat VALUES('', '$pseudo', '$message')");// insertion du message collecté
     
    	mysql_close();
    }
     
    else
    {
    	$donnees = '' ;
    	$reponse = '';
    	mysql_connect("localhost", "root", "secret");
    	mysql_select_db("coursphp");
     
    	$reponse = mysql_query("SELECT * FROM minichat"); // Requête SQL
     
    	while ( $donnees  = mysql_query(mysql_fetch_array($reponse) ) )
    	{
    	 echo '$donnees[pseudo] : $donnees[$message]' ;
    	}
    ?>
     
    <html>
    	<head><title>Minichat</title></head>
    	<body>
    	<form method="post" action="minichat.php">
    	<p><input type="text" name="pseudo" /> <input type="text" name="message" /></p>
    	<p><input type="submit" name="valider" value="ok"/></p>
    	</form>
    	</body>
    </html>
    le code html peut il se trouver après le code php ? ou bien le code php doit il impérativement se trouver à l'intérieur du code html,pouvez m'aider je suis vraiment dans l'impasse.

  2. #2
    Membre éprouvé Avatar de obito
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2008
    Messages
    773
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Janvier 2008
    Messages : 773
    Points : 948
    Points
    948
    Par défaut
    Mete ca déjà plutôt :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    while ( $donnees  = mysql_fetch_array($reponse)  )
    Puisque tu fais déjà un mysql_query avant

    Par ailleurs tu ne ferme pas ton else
    ►Ne pas oublier le

  3. #3
    Membre régulier
    Inscrit en
    Décembre 2006
    Messages
    165
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 165
    Points : 76
    Points
    76
    Par défaut
    merci c'est un bon début,à mon retour inchallah je me repenche dessus

  4. #4
    Membre régulier
    Inscrit en
    Décembre 2006
    Messages
    165
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 165
    Points : 76
    Points
    76
    Par défaut
    Bonjour
    bon maintenant dieu merci le code marche mais le problème c'est qu'il ne marche pas correctement,les message se défilent en descendant mais le problème c'est qu'on je raffraichis la page une ligne s'ajoute chose que j'aimerais éviter de plus si je saisis des phrases avec apostrophe ça ne passe pas.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    <html>
    	<head><title>Minichat</title></head>
    	<body>
    	<form method="post" action="minichat.php">
    	<p><input type="text" name="pseudo" /> <input type="text" name="message" /></p>
    	<p><input type="submit" name="valider" value="ok"/></p>
    	</form>
    	</body>
    </html>
    <?php
    if (isset($_POST['pseudo']) and isset($_POST['message'])) // si les variables existent
    {
    	//$pseudo  = mysql_real_escape_string(htmlspecialchars($_POST['pseudo']));
    	//$message = mysql_real_escape_string(htmlspecialchars($_POST['message']));
    	$pseudo  = htmlspecialchars($_POST['pseudo']);
    	$message = htmlspecialchars($_POST['message']);
    	mysql_connect("localhost", "root", "secret");
    	mysql_select_db("coursphp");
     
    	mysql_query("INSERT INTO minichat VALUES('', '$pseudo', '$message')");// insertion du message collecté
     
    	mysql_close();
    }
     
    /*else
    {
    	$reponse = '';
    	$donnees = array("pseudo" => "" , "message" => "");
    	
    		
    }*/
    	mysql_connect("localhost", "root", "secret");
    	mysql_select_db("coursphp");
     
    	$reponse = mysql_query("SELECT * FROM minichat ORDER BY ID DESC")or die(mysql_error()); // Requête SQL
     
    	//while ( $donnees  = mysql_query(mysql_fetch_array($reponse) ) )
    	while ( $donnees  = mysql_fetch_array($reponse)  )
    	{
    	 echo "".$donnees['pseudo']." : ".$donnees['message']."<br>" ;
    	}
    ?>
    de l'aide svp et merci d'avance.

  5. #5
    FoxLeRenard
    Invité(e)
    Par défaut
    Oui toujours le même probléme on inverse,
    en premier les POST et s'il sont absent on affiche la saisie !

  6. #6
    Membre régulier
    Inscrit en
    Décembre 2006
    Messages
    165
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 165
    Points : 76
    Points
    76
    Par défaut
    Bonjour

    Finalement mon code marche mais quand je rafraichis la page une ligne s'affiche alors que mon objectif et de n'afficher s'il y a une saisie
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    <html>
    	<head><title>Minichat</title></head>
    	<body>
    	<form method="post" action="minichat.php">
    	<p><input type="text" name="pseudo" /> <input type="text" name="message" /></p>
    	<p><input type="submit" name="valider" value="valider"/></p>
    	</form>
    	</body>
    </html>
    <?php
    if (isset($_POST['pseudo']) and isset($_POST['message']) and ($_POST['pseudo'] != NULL) and ($_POST['message'] != NULL))// si les variables existent
    {
    	//$pseudo  = mysql_real_escape_string(htmlspecialchars($_POST['pseudo']));
    	//$message = mysql_real_escape_string(htmlspecialchars($_POST['message']));
    	$pseudo  = htmlspecialchars($_POST['pseudo']);
    	$message = htmlspecialchars($_POST['message']);
    	mysql_connect("localhost", "root", "secret");
    	mysql_select_db("coursphp");
     
    	mysql_query("INSERT INTO minichat VALUES('', '$pseudo', '$message')");// insertion du message collecté
     
    	mysql_close();
    }
     
    /*else
    {
    	$reponse = '';
    	$donnees = array("pseudo" => "" , "message" => "");
    	
    		
    }*/
    	mysql_connect("localhost", "root", "secret");
    	mysql_select_db("coursphp");
     
    	$reponse = mysql_query("SELECT * FROM minichat ORDER BY ID DESC")or die(mysql_error()); // Requête SQL
     
    	//while ( $donnees  = mysql_query(mysql_fetch_array($reponse) ) )
    	while ( $donnees  = mysql_fetch_array($reponse)  )
    	{
    	echo "".$donnees['pseudo']." : ".$donnees['message']."<br>" ;
    	}
     
    	$_POST['pseudo'] = '' ;
    	$_POST['message'] = '' ;
    	$donnees = NULL ;
     
    	mysql_close();
     
    ?>
    pouvez vous m'aider à terminer une bonne fois pour toute cet exercice et me dire ce qui cloche dans mon code,merci d'avance (ce n'est pas tjrs facile quand on se lance en auto didacte )

  7. #7
    FoxLeRenard
    Invité(e)
    Par défaut
    Citation Envoyé par abdelilah Voir le message
    Bonjour
    ...........
    Voila !
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
     
    <?php
    $affiche=99;
    if (isset($_POST['pseudo']) and isset($_POST['message']) and ($_POST['pseudo'] != NULL) and ($_POST['message'] != NULL))// si les variables existent
    {
    	$pseudo  = htmlspecialchars($_POST['pseudo']);
    	$message = htmlspecialchars($_POST['message']);
    	mysql_connect("localhost", "root", "secret");
    	mysql_select_db("coursphp");
    	mysql_query("INSERT INTO minichat VALUES('', '$pseudo', '$message')");
    	mysql_close();
            $affiche=0;
    }
     
     
            if ($affiche==0)
    	{
             mysql_connect("localhost", "root", "secret");
             mysql_select_db("coursphp");
             $reponse = mysql_query("SELECT * FROM minichat ORDER BY ID DESC") or die(mysql_error());
             while ( $donnees  = mysql_fetch_array($reponse)  )
              {
              echo "".$donnees['pseudo']." : ".$donnees['message']."<br />" ;
              }
    	$_POST['pseudo'] = '' ;
    	$_POST['message'] = '' ;
    	$donnees = NULL ;
    	mysql_close();
    	}
    ?>
     
    <html>
    	<head><title>Minichat</title></head>
    	<body>
    	<form method="post" action="minichat.php">
    	<p><input type="text" name="pseudo" />
            <input type="text" name="message" /></p>
    	<p><input type="submit" name="valider" value="valider"/></p>
    	</form>
    	</body>
    </html>

  8. #8
    Membre régulier
    Inscrit en
    Décembre 2006
    Messages
    165
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 165
    Points : 76
    Points
    76
    Par défaut
    Vraiment merci mais ce code provoque le même problème,quand je rafraichis la page une ligne se rajoute c'est ce que je veut éviter sans utiliser else (c'est l'énoncé de l'exercice )

  9. #9
    FoxLeRenard
    Invité(e)
    Par défaut
    OK alors


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
     
    <?php
    $affiche=99;
    if (isset($_POST['flag']) $affiche=$_POST['flag'];
     
     
    if (isset($_POST['pseudo']) && isset($_POST['message']) && ($_POST['pseudo'] != NULL) && ($_POST['message'] != NULL)  && $affiche==99)
    {
    	$pseudo  = htmlspecialchars($_POST['pseudo']);
    	$message = htmlspecialchars($_POST['message']);
    	mysql_connect("localhost", "root", "secret");
    	mysql_select_db("coursphp");
    	mysql_query("INSERT INTO minichat VALUES('', '$pseudo', '$message')");
    	mysql_close();
            $affiche=0;
    }
     
     
            if ($affiche==0)
    	{
             mysql_connect("localhost", "root", "secret");
             mysql_select_db("coursphp");
             $reponse = mysql_query("SELECT * FROM minichat ORDER BY ID DESC") or die(mysql_error());
             while ( $donnees  = mysql_fetch_array($reponse)  )
              {
              echo "".$donnees['pseudo']." : ".$donnees['message']."<br />" ;
              }
    	$_POST['pseudo'] = '' ;
    	$_POST['message'] = '' ;
    	$donnees = NULL ;
    	mysql_close();
    	}
    ?>
     
    <html>
    	<head><title>Minichat</title></head>
    	<body>
    	<form method="post" action="minichat.php">
    	<p><input type="text" name="pseudo" />
    <?PHP
    echo ("<input type='hidden' name='flag' value='".$affiche."' />");
    ?>
     
            <input type="text" name="message" /></p>
    	<p><input type="submit" name="valider" value="valider"/></p>
    	</form>
    	</body>
    </html>

  10. #10
    Membre régulier
    Inscrit en
    Décembre 2006
    Messages
    165
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 165
    Points : 76
    Points
    76
    Par défaut
    Merci tout le monde pour votre aide .

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 4
    Dernier message: 18/02/2015, 20h37
  2. [TCPDF]Parse error ligne 182 du tcpdf.php
    Par Mikounours dans le forum Bibliothèques et frameworks
    Réponses: 4
    Dernier message: 11/04/2013, 12h56
  3. Script Compteur en ligne - Parse error
    Par yamatoshi dans le forum Langage
    Réponses: 3
    Dernier message: 13/11/2009, 10h02
  4. Parse error: unexpected $ sur la dernière ligne..
    Par zamoto dans le forum Langage
    Réponses: 6
    Dernier message: 01/06/2006, 12h16
  5. Parse error
    Par Sylvain James dans le forum XMLRAD
    Réponses: 2
    Dernier message: 02/02/2005, 10h55

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo