kilkikou Posté(e) le 31 mai 2006 Partager Posté(e) le 31 mai 2006 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 ) 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 More sharing options...
Sentinel Posté(e) le 31 mai 2006 Partager Posté(e) le 31 mai 2006 Dans ta balise <a>, rajoute l'attribut target="_blank", comme ça : <a href="..." target="_blank">...</a> Lien vers le commentaire Partager sur d’autres sites More sharing options...
FiP_ Posté(e) le 1 juin 2006 Partager Posté(e) le 1 juin 2006 Aussi, pour info, autant metre les chaines de caractéres entre ' ' que entre " ", quand on a pas de variables ($toto) ou de caracteres speciaux (\n) à l'interieur.... voir http://pbnaigeon.developpez.com/tutoriel/P...ophe-guillemet/ Lien vers le commentaire Partager sur d’autres sites More sharing options...
theocrite Posté(e) le 1 juin 2006 Partager Posté(e) le 1 juin 2006 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 More sharing options...
FiP_ Posté(e) le 1 juin 2006 Partager Posté(e) le 1 juin 2006 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 Lien vers le commentaire Partager sur d’autres sites More sharing options...
kilkikou Posté(e) le 2 juin 2006 Auteur Partager Posté(e) le 2 juin 2006 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 More sharing options...
FiP_ Posté(e) le 6 juin 2006 Partager Posté(e) le 6 juin 2006 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 More sharing options...
wicked Posté(e) le 6 juin 2006 Partager Posté(e) le 6 juin 2006 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 More sharing options...
kilkikou Posté(e) le 7 juin 2006 Auteur Partager Posté(e) le 7 juin 2006 Hello vous tous, J'ai réussi à résoudre mon soucis, merci pour vos réponses. Lien vers le commentaire Partager sur d’autres sites More sharing options...
theocrite Posté(e) le 7 juin 2006 Partager Posté(e) le 7 juin 2006 Lien vers le commentaire Partager sur d’autres sites More sharing options...
FiP_ Posté(e) le 9 juin 2006 Partager Posté(e) le 9 juin 2006 et sinon, tu pourais expliquer ce que tu as fait pour résoudre? voire même ce que tu essayais de faire.. exactement -_-' Lien vers le commentaire Partager sur d’autres sites More sharing options...
kilkikou Posté(e) le 9 juin 2006 Auteur Partager Posté(e) le 9 juin 2006 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 More sharing options...
FiP_ Posté(e) le 12 juin 2006 Partager Posté(e) le 12 juin 2006 Aaah okay!! Dans une autre page! c'est bon j'ai compris :) Ouais c'est facile en fait Lien vers le commentaire Partager sur d’autres sites More sharing options...
wicked Posté(e) le 12 juin 2006 Partager Posté(e) le 12 juin 2006 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 Lien vers le commentaire Partager sur d’autres sites More sharing options...
FiP_ Posté(e) le 13 juin 2006 Partager Posté(e) le 13 juin 2006 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 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 Lien vers le commentaire Partager sur d’autres sites More sharing options...
Messages recommandés
Archivé
Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.