Probleme news et commentaires

Huxaziir Messages postés 7 Date d'inscription dimanche 7 décembre 2003 Statut Membre Dernière intervention 25 janvier 2006 - 25 janv. 2006 à 14:09
Huxaziir Messages postés 7 Date d'inscription dimanche 7 décembre 2003 Statut Membre Dernière intervention 25 janvier 2006 - 25 janv. 2006 à 21:11
Salut les gens !!


Bon,je me permet de poster ici car j'ai malheuresement un petit problème ...





Voici mon script de news ( l' affichage ):





Code : PHP


<?php

$requete=mysql_db_query($nom_bdd,"SELECT * FROM news ORDER BY id desc",$db_link) or die(mysql_error());

$nombre_total_de_resultat=mysql_num_rows($requete);

$source='';

$i = 0;

while ($i <= $nombre_total_de_resultat-1):

$id=mysql_result($requete,$i,"id");

$date=mysql_result($requete,$i,"date");

$auteur=mysql_result($requete,$i,"auteur");

$titre=mysql_result($requete,$i,"titre");

$contenu=mysql_result($requete,$i,"contenu");



$source = '



'.$titre.'
Par '.$auteur.'


'.$contenu.'



[commentaires.php?idnews='.$donnees['id'].'&amp;titrenews='.stripslashes($titre).' Voir les commentaires

]


';

$i++;

endwhile;

?>








Mon site fonctionne avec un systeme d'includes, et $source vaut le contenu de la page .





Mon premier probleme est que, avant que je n'éssai d'appliquer 1 tuto provenant du site du zero pour un systeme de commentaires de news (


http://www.siteduzero.com/tuto-3-1052-1-systeme-de-commentaire-de-news.html


)


Il n'y a plus que la premiere news qui s'affiche .





http://www.zelda-soul.com/?code=essai





Je parlerais du deuxieme probleme ensuite .

8 réponses

cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
25 janv. 2006 à 16:37
Salut,

<?php
mysql_connect('hote','user','passe') or die('erreur de connexion');
mysql_select_db('base'); //ici le nom de ta base
$requete=mysql_query('SELECT id,auteur,contrenu FROM news ORDER BY id desc'));
mysql_close();

$source='';

function enlever_slashes(&$var)
{
if(get_magic_quotes_runtime()===0)
{
return $var;
}
else
{
return stripslashes($var);
}
}

while ($r=mysql_fetch_row($requete)):
$source.= '


'.$titre.'
Par '.enlever_slashes($r[1])http://www.php.net/mysql_result.'

'.enlever_slashes($r[2]).'

[commentaires.php?idnews='.$r[0].' Voir les commentaires
]

';
}
?>

ça devrait fonctionner, et ne passe pas par l'url pour afficher le titre de ta news c'est le meilleur moyen d'avoir des failles de sécurité.

a +
<hr size="2" width="100%"><li>Entraide, dépannage et vulgarisation informatique : Mon site de vulgarisation informatique</li><li>Codes-php.net</li>
0
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
25 janv. 2006 à 16:38
heu remplace le while ($r=mysql_fetch_row($requete)):

par while
($r=mysql_fetch_row($requete))
{

<hr size="2" width="100%"><li>Entraide, dépannage et vulgarisation informatique : Mon site de vulgarisation informatique</li><li>Codes-php.net</li>
0
Huxaziir Messages postés 7 Date d'inscription dimanche 7 décembre 2003 Statut Membre Dernière intervention 25 janvier 2006
25 janv. 2006 à 19:59
Parse error: parse error, unexpected ')' in /var/www/home/zelda-soul/www/news.php on line 4

ligne 4 :
$requete=mysql_query('SELECT id,auteur,contenu FROM news ORDER BY id desc'));
0
Huxaziir Messages postés 7 Date d'inscription dimanche 7 décembre 2003 Statut Membre Dernière intervention 25 janvier 2006
25 janv. 2006 à 20:06
Bha oui je suis trop c**, ya juste une ) en trop ^^

Merci beaucoup de ton aide Anthomicro :)

Malheuresement j'ai un deuxieme problème :s

va sur mon site et éssai d'afficher les commentaires .

You have an error in your SQL syntax. Check the manual that corresponds
to your MySQL server version for the right syntax to use near 'BY id
DESC' at line 1

voici le code de commentaires.php :

<?php
mysql_connect("*", "*", "*");
mysql_select_db("*");

$infos = mysql_query('SELECT * FROM commentaires WHERE idnews=' . $_GET['idnews'] . 'ORDER BY id DESC')or die (mysql_error()); /*Ici on liste les commentaires dans l'ordre décroissant où le champ idnews est le même que celui de la variable contenue dans l'adresse de la page*/
while ($donnees = mysql_fetch_array($infos)) /*Une boucle pour écrire les données*/
{
$pseudo = stripslashes($donnees['pseudo']);
$message = stripslashes($donnees['message']);
?>

<?php echo $pseudo; ?> :
<?php echo $message; ?>

<?php
} /*On oublie surtout pas de fermer la boucle ! */
if (isset($_POST['message']) AND isset($_POST['pseudo']))
{
if($_POST['message'] ! = '' AND $_POST['pseudo'] != '')
{
$auteur = addslashes(htmlentities($_POST['pseudo'], ENT_QUOTES));
$message = addslashes(htmlentities($_POST['message'], ENT_QUOTES));
$idcomment = $_POST['idcomment']; /* Tout ce charabia est une petite vérification : on fait attention à ce que l'auteur ait rempli tous les champs. Quels champs ? Ceux du formulaire que l'on va créer un peu plus bas :)*/

mysql_query ("INSERT INTO commentaires VALUES('', '" . $auteur . "', '" . $message . "', '" . $idcomment . "')")or die (mysql_error()); /* Là, on entre juste les données dans une nouvelle entrée de la table SQL...*/

echo "Merci d'avoir commenté !";
}
}
?>

<form method="post">

<label>Votre pseudo :
</label>
<label>Laissez votre message !

<textarea name="message" rows="5" cols="25"></textarea>
</label>

" />

</form>

<?php mysql_close(); ?>
0

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

Posez votre question
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
25 janv. 2006 à 20:16
le mysql_close à la fin de la page est inutile, il faut le mettre après le mysql_query(), sinon ton champ id existe ? il ne faut pas faire un SELECT * mais un SELECT champ1,champ2, etc... juste les champs dont tu as besoin.

<hr size="2" width="100%"><li>Entraide, dépannage et vulgarisation informatique : Mon site de vulgarisation informatique</li><li>Codes-php.net</li>
0
Huxaziir Messages postés 7 Date d'inscription dimanche 7 décembre 2003 Statut Membre Dernière intervention 25 janvier 2006
25 janv. 2006 à 20:23
Dans la table news , il y a id,date,auteur,titre,contenu
et dans commentaires il y a id , pseudo , message et idnews .

Sinon, dans news.php je en comprend pas pourquoi le titre ne s'affiche pas :s
0
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
25 janv. 2006 à 20:56
Je ne vois plus d'erreur.

<hr size="2" width="100%"><li>Entraide, dépannage et vulgarisation informatique : Mon site de vulgarisation informatique</li><li>Codes-php.net</li>
0
Huxaziir Messages postés 7 Date d'inscription dimanche 7 décembre 2003 Statut Membre Dernière intervention 25 janvier 2006
25 janv. 2006 à 21:11
Bhein c'est bizzare parce que moi j'ai toujours :

You have an error in your SQL syntax. Check the manual that corresponds
to your MySQL server version for the right syntax to use near 'BY id
DESC' at line 1

D'ou est ce que ca peut venir ??
Comment faire pour que le titre de ma news s'affiche ??

Merci pour t es précédentes réponses ;)
0
Rejoignez-nous