[PHP] Problème avec une boucle

Problème avec une boucle [PHP] - PHP - Programmation

Marsh Posté le 19-01-2005 à 22:36:59    

Slt tout le monde!  
 
Bon je viens vous demander de l'aide car je suis entrin de taffé sur un site et j'ai un prob dans ma partie administration...
Je vous explique je vais essayé d'être clair.
 
J'ai une page qui m'affiche les titres et la date de mes news avec a coté un lien pour la modifier et un autre pour la supprimer... cette page marche très bien quand on l'utilise toute seul...
Par contre quand je fais un include de cette page dans ma page administration.php (ma mise en page) la boucle n'affiche plus rien
 
je vous montre le code...la page affiche le "alo?" mais n'affiche pas le "test" j'en ai donc déduit que le probleme venait de la boucle...
voici le code merci de votre aide.
 

Code :
  1. if($p = mysql_query($sql,$c)){
  2. echo "alo?";
  3. while($r = mysql_fetch_array($p)){
  4. $id = "$r[id]";
  5. $login = "$r[login]";
  6. $titre = "$r[titre]";
  7. $date = "$r[date]";
  8. $txt = "$r[txt]";
  9. $txt=nl2br($txt);
  10. echo "test";
  11. echo "<table width=\"450\" cellspacing=\"0\" cellpadding=\"0\" border=\"0\">\n";
  12. echo "<tr>\n";
  13. echo "<td>$titre</td>\n";
  14. echo "<td width=\"175\">$date</td>\n";
  15. echo "<td width=\"50\"><a href=\"administration.php?dir=news&page=modif&id=$id\">Modifier</td>\n";
  16. echo "<td width=\"50\"><a href=\"administration.php?dir=news&page=supp&id=$id&supp=1\">Supprimer</td>\n";
  17. echo "</tr>\n";
  18. echo "</table>\n";
  19. }
  20. echo "<br>";
  21. }

Reply

Marsh Posté le 19-01-2005 à 22:36:59   

Reply

Marsh Posté le 19-01-2005 à 22:39:02    

avec ca, on sait rien faire :o
 
il contient quoi le fichier administration.php ?


---------------
Nos estans firs di nosse pitite patreye...
Reply

Marsh Posté le 19-01-2005 à 22:44:59    

voila le administration.php
 

Code :
  1. <?php require_once('connexion.php'); ?>
  2. <?php
  3. session_start(); // On relaye la session
  4. if (session_is_registered("authentification" )){ // vérification sur la session authentification (la session est elle enregistrée ?)
  5. // ici les éventuelles actions en cas de réussite de la connexion
  6. }
  7. else {
  8. header("Location:index.php?erreur=intru" ); // redirection en cas d'echec
  9. }
  10. ?>
  11. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
  12. "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  13. <html xmlns="http://www.w3.org/1999/xhtml">
  14. <head>
  15. <meta http-equiv="Content-Type" content="text/HTML; charset=iso-8859-1" />
  16. <title>VW-Fans.be - ADMINISTRATION -</title>
  17. <link href="../css/style.css" rel="stylesheet" type="text/css" />
  18. </head>
  19. <body>
  20.   <div> <img src="../img/header.jpg" width="900"  height="150" alt="Header" /> </div>
  21.  
  22. <div class="menu">
  23. <div class="menuimg"></div>
  24.      <p><br />
  25.       <a href="administration.php?dir=admin&page=home"  title="Page d'accueil">+ Home</a> <br />
  26.      + News <br />
  27.   <em>
  28.   <a href="administration.php?dir=news&page=postnews"  title="news">-Poster</a><br />
  29.   <a href="administration.php?dir=news&page=newsmodif"  title="modif">-Modifier / supprimer</a> <br />
  30.   </em>
  31.      Reportage <br />
  32.      Liens <br />
  33.   </p>
  34. </div>
  35. <div class="stat">
  36. <div class="statimg"></div>
  37.    <p>
  38.    <br />
  39.    Nombre de news:<br />
  40.    Nombre de reportage:<br />
  41.    Nombre de liens:
  42.    </p>
  43. </div>
  44.  
  45.  
  46. <div class="content">
  47. <div class="contentimg"></div>
  48. <br /><br />
  49. <? echo "".$_GET['dir']."/".$_GET['page'].".php";?>
  50. <br />
  51. <?php include "../".$_GET['dir']."/".$_GET['page'].".php"; ?>
  52. </div>
  53.  
  54.  
  55. </body>
  56. </html>

Reply

Marsh Posté le 19-01-2005 à 22:45:51    

voila le newsmodif.php en entier
 

Code :
  1. <?php require_once('../admin/connexion.php'); ?>
  2. <?php
  3. session_start(); // On relaye la session
  4. if (session_is_registered("authentification" )){ // vérification sur la session authentification (la session est elle enregistrée ?)
  5. // ici les éventuelles actions en cas de réussite de la connexion
  6. }
  7. else {
  8. header("Location:../admin/index.php?erreur=intru" ); // redirection en cas d'echec
  9. }
  10. ?>
  11.  <? include ("../news/connexion.php" )?>
  12. <?
  13. $nb = 30;
  14. $c = @mysql_connect($host,$user,$pass) or die("connection impossible" );
  15. @mysql_select_db("$bdd",$c) or die("selection impossible" );
  16. if(empty($page)) $page = 1;
  17. if(empty($total)){
  18. $sql = "select count(*) as qte from news";
  19. $p = @mysql_query($sql,$c);
  20. $total = @mysql_result($p,"0","qte" );
  21. }
  22. $debut = ($page - 1) * $nb;
  23. $sql = "select * from news order by id DESC LIMIT $debut,$nb";
  24. if($p = @mysql_query($sql,$c)){
  25. echo "alo?";
  26. while($r = @mysql_fetch_array($p)){
  27. $id = "$r[id]";
  28. $login = "$r[login]";
  29. $titre = "$r[titre]";
  30. $date = "$r[date]";
  31. $txt = "$r[txt]";
  32. $txt=nl2br($txt);
  33. echo "test";
  34. echo "<table width=\"450\" cellspacing=\"0\" cellpadding=\"0\" border=\"0\">\n";
  35. echo "<tr>\n";
  36. echo "<td>$titre</td>\n";
  37. echo "<td width=\"175\">$date</td>\n";
  38. echo "<td width=\"50\"><a href=\"administration.php?dir=news&page=modif&id=$id\">Modifier</td>\n";
  39. echo "<td width=\"50\"><a href=\"administration.php?dir=news&page=supp&id=$id&supp=1\">Supprimer</td>\n";
  40. echo "</tr>\n";
  41. echo "</table>\n";
  42. }
  43. echo "<br>";
  44. }
  45. ?>
  46. <?php
  47. @mysql_close($c);
  48. ?>

Reply

Marsh Posté le 19-01-2005 à 22:47:20    

je me doute que ce n'est pas superbement bien codé mais je ne suis pas trés doué en php :s

Reply

Marsh Posté le 19-01-2005 à 22:49:04    

Code :
  1. <?php include "../".$_GET['dir']."/".$_GET['page'].".php"; ?>


 
ca c'est un beau trou de sécurité :o
 
sinon, je ne vois pas pourquoi ca marche pas :??:


---------------
Nos estans firs di nosse pitite patreye...
Reply

Marsh Posté le 19-01-2005 à 22:55:23    

:( j'ai deja demandé a plusieur persone personne ne sais pq ca ne marche pas ...
 
trou de sécurité c-a-d?

Reply

Marsh Posté le 19-01-2005 à 22:57:09    

bha si le gars modifie les parametres dans l'adresse, il peut acceder a n'importe quel fichier php :o


---------------
Nos estans firs di nosse pitite patreye...
Reply

Marsh Posté le 19-01-2005 à 23:00:47    

on peu faire quoi pour empecher ca?

Reply

Marsh Posté le 19-01-2005 à 23:06:33    

http://www.k-otik.com/news/20041226.PhpIncludeWorm.php


---------------
Nos estans firs di nosse pitite patreye...
Reply

Marsh Posté le 19-01-2005 à 23:06:33   

Reply

Marsh Posté le 19-01-2005 à 23:36:32    

commence par corriger  $id = "$r[id]";  =>  $id = $r["id"];
et les suivants

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed