Aller au contenu

[résolu]Petit soucis en PHP


Messages recommandés

Bonsoir à tous,

Je suis entrai de développer un site web en php et j'ai un petit soucis pour un scripts de news, le script en lui même ne me pose pas de soucis et il est quasiment terminée. Le soucis que j'ai en fait c'est que je veux faire un listing de news ( un peu comme sur pc inpact :zarb: ) et que lorsque l'on clique sur le lien, la news s'affiche dans une nouvelle page. Or lorsque je clique sur le lien toutes les news s'affiche sur la page.

Voila la syntaxe que j'ai utilisé pour faire le lien :


<?
	echo "<a href='index.php?id=" . $donnees['id'] . "'>" . $donnees['titre'] . "</a>";

?>

Merci pour votre aide.

Lien vers le commentaire
Partager sur d’autres sites

Bah moi je préfères les doubles quotes en php ou perl justement parce que ça permet de ne pas faire de concaténation de string en cas de variable ou de caractère d'échappement.

"Bienvenue sur notre site $pseudo ! \n"

ou

'Bienvenue sur notre site' . $pseudo . ' !' . "\n"

Lien vers le commentaire
Partager sur d’autres sites

Bah moi je préfères les doubles quotes en php ou perl justement parce que ça permet de ne pas faire de concaténation de string en cas de variable ou de caractère d'échappement.

Oui bien sur, c'est interessant si tu n'as pas besoin de variables ou de caracteres speciaux :francais:

Lien vers le commentaire
Partager sur d’autres sites

Merci pour l'information, mais je crois que je me suis mal exprimé...

le target="_blank" permet d'ouvrir la page dans une nouvelle fenêtre non ??

En fait ce que je voudrais c'est que lorsque je clique sur le lien, le contenu de la news s'affiche dans la même fenêtre du navigateur, mais dans une autre page de mon site web...

J'espère que j'arrive à me faire comprendre.

Merci pour votre aide.

Lien vers le commentaire
Partager sur d’autres sites

En fait ce que je voudrais c'est que lorsque je clique sur le lien, le contenu de la news s'affiche dans la même fenêtre du navigateur, mais dans une autre page de mon site web...

Pas compris.. :(

dans une autre frame? div? tabulation?

Lien vers le commentaire
Partager sur d’autres sites

Sur la page qui affiche le texte de la news, si une seule news doit être affichée alors t'as requete sql ne doit pas contenir de boucle (while ($result=mysql_fetch_assoc(...)) par exemple et tu dois clairement indiquer dans ta requete quelle actu doit être affichée..

Ex :

$IDnews = $_GET["id"];
if (is_numeric($IDnews))
{
 $requete = "Select titre_news, date_news, texte_news FROM news WHERE IDnews = '$IDnews' LIMIT 1";
 $query	= mysql_query($requete) or die(mysql_error());
 $result	= mysql_fetch_assoc($query);

 // affichage de la news...
}

Lien vers le commentaire
Partager sur d’autres sites

en fait ce que je cherchais à faire c'était d'afficher sur ma page index.php une liste des 10 dernières news avec un lien sur chaque news qui renvoyait vers une autre page ou était affiché le contenu de la news...

donc sur la page index.php


<?

include "config.php";  // On récupère les infos de connexions à la bdd

// On récupère les 10 dernières news
$retour = mysql_query('SELECT * FROM news ORDER BY id DESC LIMIT 0, 10');
while ($donnees = mysql_fetch_array($retour))

{


/// On créé le lien qui renverra vers la news correspondante à son id
echo "<a href =news.php?id=" . $donnees['id'] . " class=\"aLienTexteMenu\">" . $donnees['titre'] . "</a>";


	/// On affiche l'auteur de la news et la date où la news a été posté
echo $donnees['auteur'] . " le " . date('d/m/Y à H\hi', $donnees['timestamp']);

}

mysql_close(); 
?>	

et sur la page news.php donc on met ca :


<?

include "config.php";

$id=$_GET['id'];	

// On récupère la news avec l'id correspondant
$retour=mysql_query("SELECT * FROM news WHERE id=$id LIMIT 1");
while ($donnees = mysql_fetch_array($retour))
{

echo $donnees['titre'];

echo $donnees['auteur'] . " le " . date('d/m/Y à H\hi', $donnees['timestamp']);

// On enlève les éventuels antislash PUIS on affiche le contenu de la news
$contenu = nl2br(stripslashes($donnees['contenu']));
echo $contenu;

} // Fin de la boucle des news

mysql_close(); 
?>	

voili voila pour ceux que ca intérsse.

ca fonctionne très bien chez moi, il suffit juste de rajouter du html pour la mise en forme du texte.

Lien vers le commentaire
Partager sur d’autres sites

en fait ce que je cherchais à faire c'était d'afficher sur ma page index.php une liste des 10 dernières news avec un lien sur chaque news qui renvoyait vers une autre page ou était affiché le contenu de la news...

donc sur la page index.php

[...]

voili voila pour ceux que ca intérsse.

ca fonctionne très bien chez moi, il suffit juste de rajouter du html pour la mise en forme du texte.

Oui sauf que contrairement au script d'exemple que je t'ai donné tu ne vérifies pas que l'ID entré est numérique, tu ne mets pas non plus l'id entre guillemets dans la requete... bref tu cherches les ennuies :ouioui:

Lien vers le commentaire
Partager sur d’autres sites

Oui sauf que contrairement au script d'exemple que je t'ai donné tu ne vérifies pas que l'ID entré est numérique, tu ne mets pas non plus l'id entre guillemets dans la requete... bref tu cherches les ennuis 8)

Mais LOL! j'avais même pas lu le code :)

En effet, si $id = "0; DROP TABLE news --"

alors:

   
// On récupère la news avec l'id correspondant
$retour=mysql_query("SELECT * FROM news WHERE id=$id LIMIT 1");

//deviens:
$retour=mysql_query("SELECT * FROM news WHERE id=0; DROP TABLE news -- LIMIT 1");

et tu es mal :byebye:

Lien vers le commentaire
Partager sur d’autres sites

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.

×
×
  • Créer...