ERREUR PHP ?

Fermé
Woody69 Messages postés 125 Date d'inscription lundi 21 avril 2008 Statut Membre Dernière intervention 22 mars 2012 - 7 mars 2009 à 23:32
 Blocks - 22 oct. 2010 à 14:21
Bonjour,

ça fait presque 1 heure que nous cherchons pourquoi ce script ne fonctionne pas... Ou est l'erreur ?

Merci beaucoup

<?php
mysql_connect("localhost", "woodyarchives", "XXXXXXXX");
mysql_select_db("woodyarchives");

if (isset($_POST['nom']) AND isset($_POST['branche']) AND isset($_POST['message']))
{

if ($_POST['nom'] != NULL AND $_POST['branche'] != NULL AND $_POST['message'] != NULL)
{
$nom = mysql_real_escape_string(htmlspecialchars($_POST['nom']));
$branche = mysql_real_escape_string(htmlspecialchars($_POST['branche']));
$message = mysql_real_escape_string(htmlspecialchars($_POST['message']));

mysql_query("INSERT INTO articles(ID, nom, branche, message) VALUES('', '$nom', '$branche', '$message')");
}

}

mysql_close();
?>

<form action="123.php" method="post">
Nom: <input type="text" name="nom" value="<?php echo $nom ?>" />
<br />
Branche: <input type="text" name="branche" value="<?php echo $branche ?>" />
<br />
Article: <input type="text" name="message" />
<br />
<input type="submit" value="Valider" />
<br />
</form>

<?php
mysql_connect("localhost", "woodyarchives", "XXXXXXXX");
mysql_select_db("woodyarchives");

$reponse = mysql_query("SELECT * FROM articles ORDER BY ID DESC LIMIT 0,5");

mysql_close();
?>

Derniers articles:
<br />

<?php
while ($donnees = mysql_fetch_array($reponse))
{
?>

<br />

<center>

<table border="1" bordercolor="red" width="75%">
  <tr>
	<th align="center" width="20%"><?php echo stripslashes($donnees['nom']) ?> </th>
	<th align="center" width="20%"><?php echo stripslashes($donnees['branche']) ?> </th>
	<th align="center" width="60%"><?php echo stripslashes($donnees['message']) ?> </th>
  </tr>
</table>

</center>

<?php
}
?>

9 réponses

niahoo Messages postés 247 Date d'inscription lundi 24 décembre 2007 Statut Membre Dernière intervention 23 mai 2010 19
8 mars 2009 à 01:35
non , stripslashes est une fonction, il ne faut pas la mettre entre guillemets...

par contre là par exemple, il manque un point virgule:
<?php echo $nom ?>


essaie de faire
<?php echo $nom; ?>
et aux autres endroits, ça marchera déja mieux
4
non. On peut se permettre d'omettre les points virgule quand il n'y a qu'une fonction entre <?php et ?>.

"ça marchera déja mieux" > Ou pas.
0
Dacobah Messages postés 260 Date d'inscription samedi 26 novembre 2005 Statut Membre Dernière intervention 28 septembre 2011 74
8 mars 2009 à 00:02
D'accord.

Pour ta ligne :

<th align="center" width="20%"><?php echo stripslashes($donnees['nom']) ?></th>


il faut la transformer de cette manière :

<th align="center" width="20%"><?php echo "stripslashes($donnees['nom'])"; ?></th>
1
Dacobah Messages postés 260 Date d'inscription samedi 26 novembre 2005 Statut Membre Dernière intervention 28 septembre 2011 74
7 mars 2009 à 23:40
Quelle est l'erreur qui s'affiche sur ton écran ?

Si c'est une Parse Error c'est très certainement un point virgule qui manque ;-)
0
Woody69 Messages postés 125 Date d'inscription lundi 21 avril 2008 Statut Membre Dernière intervention 22 mars 2012 9
7 mars 2009 à 23:42
En fait, la base de données est incrémentée, mais n'est pas créditée des valeurs "nom", "branche" et "message"

Le tableau s'affiche correctement mais il n'y a rien dedans...

Merci
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Dacobah Messages postés 260 Date d'inscription samedi 26 novembre 2005 Statut Membre Dernière intervention 28 septembre 2011 74
7 mars 2009 à 23:47
Le problème vient très certainement de tes echos qui ne sont pas très réglementaires ^^

En effet sur PHP.net un echo s'écrit plutôt comme ça :

echo "foo is $foo";


Donc sans les guillemets et le point virgule ça m'étonnerais que ça marche. Essaie et dis-nous si ça marche mieux avec ça. :)
0
Rhoolalala désolé du hors sujet mais nimp.
Les echos sous cette forme sont très réglementaires :
<?php echo 'lala' ?> // pas de point virgule
echo addslashes('lalalalalalalaaaaaaaaaaa'); // la fonction n'est pas entourée de guillemets

Quand on aide, il faut connaître son sujet pour ne pas raconter n'importe quoi aux internautes qui tombent dessus par hasard.

D'ailleurs, le echo sans "" autour des fonctions et variables est plus performant, privilégiez la concaténation avec des simples quotes ' et des points .
0
Woody69 Messages postés 125 Date d'inscription lundi 21 avril 2008 Statut Membre Dernière intervention 22 mars 2012 9
7 mars 2009 à 23:55
Est-ce que tu parles d'ici :

<tr>
	<th align="center" width="20%"><?php echo stripslashes($donnees['nom']) ?> </th>
	<th align="center" width="20%"><?php echo stripslashes($donnees['branche']) ?> </th>
	<th align="center" width="60%"><?php echo stripslashes($donnees['message']) ?> </th>
  </tr>


ou bien d'ici :

<form action="123.php" method="post">
Nom: <input type="text" name="nom" value="<?php echo $nom ?>" />
<br />
Branche: <input type="text" name="branche" value="<?php echo $branche ?>" />
<br />
Article: <input type="text" name="message" />
<br />
<input type="submit" value="Valider" />
<br />
</form>


Pendant ce temps, on essaye ta méthode...
0
Dacobah Messages postés 260 Date d'inscription samedi 26 novembre 2005 Statut Membre Dernière intervention 28 septembre 2011 74
7 mars 2009 à 23:57
Ok, oui je parlais des deux endroits (à chaque fois que tu mets la fonction echo).
0
Woody69 Messages postés 125 Date d'inscription lundi 21 avril 2008 Statut Membre Dernière intervention 22 mars 2012 9
8 mars 2009 à 00:00
Je ne vois pas trop ce que tu veux dire, peux-tu me corriger une ligne pour nous montrer comment tu ferais ?
0
Woody69 Messages postés 125 Date d'inscription lundi 21 avril 2008 Statut Membre Dernière intervention 22 mars 2012 9
8 mars 2009 à 00:13
Après tes modifs, voici l'erreur :


Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in /homepages/30/d141788408/htdocs/caluire/123.php on line 60

Voici une copie des lignes 60 à 62 avec tes modifs :

<th align="center" width="20%"><?php echo "stripslashes($donnees['nom'])"; ?> </th>
	<th align="center" width="20%"><?php echo "stripslashes($donnees['branche'])"; ?> </th>
	<th align="center" width="60%"><?php echo "stripslashes($donnees['message'])"; ?> </th>
0