ERREUR PHP ?

Woody69 Messages postés 125 Date d'inscription   Statut Membre Dernière intervention   -  
 Blocks -
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   Statut Membre Dernière intervention   19
 
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
Blocks
 
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   Statut Membre Dernière intervention   74
 
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   Statut Membre Dernière intervention   74
 
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   Statut Membre Dernière intervention   9
 
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   Statut Membre Dernière intervention   74
 
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
Blocks
 
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   Statut Membre Dernière intervention   9
 
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   Statut Membre Dernière intervention   74
 
Ok, oui je parlais des deux endroits (à chaque fois que tu mets la fonction echo).
0
Woody69 Messages postés 125 Date d'inscription   Statut Membre Dernière intervention   9
 
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   Statut Membre Dernière intervention   9
 
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