Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php][mysql] nie czyta zmiennej
Forum PHP.pl > Forum > PHP
jj09
Witam, mam system newsów z uploadem obrazków. Upload wychodzi bez problemu. Obrazek dostaje nazwę identyfikatora newsa $id.jpg czyli np. 2.jpg.

Struktura folderów systemu:
newsy wyświetlane są na stronie index.php poprzez include
kod źródłowy do pokazywania newsów jest w katalogu: newsy/index.php
panel admina: newsy/admin/index.php
zdjęcia: newsy/img

No i teraz problem polega na tym, że nie wyświetla zdjęć. Kod pętli do pokazywania newsów:
  1. <?php
  2. for ($i=0;$i<$wierszy;$i++) {
  3. $dane = mysql_fetch_array($wynik);
  4. $data = substr($dane["data"],0,10); 
  5. echo "<div class='news'> <b>{$dane["tytul"]}</b><br /> <i>dodano {$dane["data"]}</i><p>";
  6. if (file_exists("newsy/img/$id.gif")) 
  7. echo "<img src='newsy/img/$id.gif' alt='Copyright by JJ09' class='news_img' />";
  8. if (file_exists("newsy/img/$id.jpg")) 
  9. echo "<img src='newsy/img/$id.jpg' alt='Copyright by JJ09' class='news_img' />";
  10. echo "{$dane["tresc"]}</p></div><br />";
  11. }
  12. ?>


Próbowałem też ją uprościć...tak aby nie sprawdzał czy jest plik:
  1. <?php
  2. for ($i=0;$i<$wierszy;$i++) {
  3. $dane = mysql_fetch_array($wynik);
  4. $data = substr($dane["data"],0,10); 
  5. echo "<div class='news'> <b>{$dane["tytul"]}</b><br /> <i>dodano {$dane["data"]}</i><p>";
  6. echo "<img src='newsy/img/$id.jpg' alt='Copyright by JJ09' class='news_img' />";
  7. echo "{$dane["tresc"]}</p></div><br />";
  8. }
  9. ?>

i wtedy pokazywał się tylko tekst opisu zdjęcia, a adres zdjęcia wyglądał tak:
"newsy/img/.jpg"

czyli tak jakby przeglądarka nie widziała $id
nevt
przecież nigdzie w kodzie nie masz zmiennej $id ... czy przypadkiem zamiast $id nie powinno być $dane['id'] questionmark.gif
jj09
jak daje:
$dane['id'] zamiast &id to jest error:
Kod
Parse error: parse error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in D:\server\jj09\newsy\index.php on line 116


&id jest zdefiniowane...oto cały kod:
  1. <? 
  2. $sql_host = "localhost";
  3. $sql_user = "root";
  4. $sql_password = "krasnal";
  5. $sql_baza = "dsj_newsy";
  6. $sql_tabela = "news";
  7.  
  8. $a = htmlspecialchars(stripslashes(trim($_GET["a"])), ENT_QUOTES);
  9. $sz = htmlspecialchars(stripslashes(trim($_GET["sz"])), ENT_QUOTES);
  10. $id = htmlspecialchars(stripslashes(trim($_GET["id"])), ENT_QUOTES);
  11.  
  12. $l_odp_nastronie=10;
  13. $l_odp_napasku=5;
  14. $start=$a*$l_odp_nastronie;
  15. $skrypt="{$_SERVER["PHP_SELF"]}?sz=$sz&amp;";
  16.  
  17. function pasek($l_odp,$l_odp_nastronie,$l_odp_napasku,$skrypt,$a) {
  18. $l_odp_podz = intval($l_odp / $l_odp_nastronie);
  19. $l_odp_podz_mod = $l_odp % $l_odp_nastronie;
  20. if ($l_odp_podz_mod>0) $l_odp_podz++;
  21. if ($a<0) $a=0; 
  22. if ($a>=$l_odp_podz) $a=$l_odp_podz-1;
  23. $start = $a-1;
  24. if ($a>0) {$pop="<a href=\"".$skrypt."a=$start\">&lt;&lt;&lt;
  25. poprzednia</a> - &nbsp;";}
  26. else {$pop = "<span style='color: grey'>&lt;&lt;&lt; poprzednia </span> - &nbsp;";}
  27. if ($a<$l_odp_napasku) {$koniec = $l_odp_napasku*2+1;}
  28. else {$koniec = $a+$l_odp_napasku+1;}
  29. if ($a<=$koniec-$l_odp_napasku) {$star=$a-$l_odp_napasku;}
  30. if ($a>=$l_odp_podz-$l_odp_napasku) {$star=$l_odp_podz-$l_odp_napasku*2-1;}
  31. if ($koniec>$l_odp_podz) $koniec = $l_odp_podz;
  32. if ($star<0) $star=0;
  33. for ($i=$star; $i<$koniec; $i++) {
  34. if ($i <> $a) { $pasek .= "<a href=\"".$skrypt."a=$i\">";}
  35. else { $pasek .= "<span style='color: red'><b>"; }
  36. if ($l_odp_podz<>1) {$pomocniczy = $i+1;}
  37. if ($i<>$a) { $pasek .= "$pomocniczy</a> &nbsp;"; }
  38. else {$pasek .= "$pomocniczy</b></span> &nbsp;";}
  39. }
  40. $dalej = $a+1;
  41. if ($a<$l_odp_podz-1) 
  42.  {$nas="- <a href=\"".$skrypt."a=$dalej\">następna &gt;&gt;&gt; </a>";}
  43. else { $nas = "- <span style='color: grey'>następna &gt;&gt;&gt; </span>";}
  44. if ($pomocniczy>0) {$br= "<br /> $pop $pasek $nas"; }
  45. echo "<div>znalezionych: <b>$l_odp</b> na <b>$l_odp_podz</b> 
  46. stronach $br</div>";
  47. }
  48.  
  49. if ($id<>"") {
  50. $baza = mysql_connect($sql_host, $sql_user, $sql_password);
  51. if ($baza) {
  52. $wynik = mysql_select_db($sql_baza);
  53. if ($wynik) {
  54. $wynik = mysql_query("
  55. SELECT * FROM $sql_tabela WHERE id=$id and data<=NOW();
  56. ");
  57. }
  58. mysql_close($baza);
  59. }
  60. if (mysql_num_rows($wynik)==1) {
  61. $dane = mysql_fetch_array($wynik);
  62. echo "<div class='news'>&nbsp;<b>{$dane["tytul"]}</b><br />&nbsp;<i>dodano {$dane["data"]}</i><p>";
  63. if (file_exists("newsy/img/$id.gif")) 
  64. echo "<img src='newsy/img/$id.gif' alt='Copyright by JJ09' class='news_img' />";
  65. if (file_exists("newsy/img/$id.jpg")) 
  66. echo "<img src='newsy/img/$id.jpg' alt='Copyright by JJ09' class='news_img' />";
  67. echo "{$dane["tresc"]}</p></div><br />";
  68. } else echo "<p align=\"center\">Brak informacji spełniających 
  69.  kryteria wyszukiwania.</p>";
  70.  
  71. } else {
  72.  
  73. echo '
  74. <div><form action="index.php" method="get" style="margin:0px;">
  75. <p><input name="sz" type="text" />
  76. <input type="submit" value=" szukaj " /></p>
  77. </form></div>
  78. ';
  79.  
  80. $baza = mysql_connect($sql_host, $sql_user, $sql_password);
  81. if ($baza) {
  82. $wynik = mysql_select_db($sql_baza);
  83. if ($wynik) {
  84. if ($sz<>"") {
  85. SELECT COUNT(*) FROM $sql_tabela
  86. WHERE (tresc LIKE '%$sz%' or tytul LIKE '%$sz%') 
  87.  and data<=NOW() "));
  88. $l_odp = $odp[0];
  89. $wynik = mysql_query("
  90. SELECT * FROM $sql_tabela
  91. WHERE (tresc LIKE '%$sz%' or tytul LIKE '%$sz%') and data<=NOW() 
  92. ORDER BY data DESC LIMIT $start,$l_odp_nastronie
  93. ");
  94. } else {
  95. SELECT COUNT(*) FROM $sql_tabela WHERE data<=NOW()
  96. "));
  97. $l_odp = $odp[0];
  98. $wynik = mysql_query("
  99. SELECT * FROM $sql_tabela WHERE data<=NOW() 
  100. ORDER BY data DESC LIMIT $start,$l_odp_nastronie
  101. ");
  102. }
  103. }
  104. mysql_close($baza);
  105. }
  106.  
  107. $wierszy = mysql_num_rows($wynik);
  108.  
  109.  
  110. for ($i=0;$i<$wierszy;$i++) {
  111. $dane = mysql_fetch_array($wynik);
  112. $data = substr($dane["data"],0,10); 
  113. echo "<div class='news'>&nbsp;<b>{$dane["tytul"]}</b><br />&nbsp;<i>dodano {$dane["data"]}</i><p>";
  114. if (file_exists("newsy/img/$id.gif")) 
  115. echo "<img src='newsy/img/$id.gif' alt='Copyright by JJ09' class='news_img' />";
  116. if (file_exists("newsy/img/$id.jpg")) 
  117. echo "<img src='newsy/img/$id.jpg' alt='Copyright by JJ09' class='news_img' />";
  118. echo "{$dane["tresc"]}</p></div><br />";
  119. }
  120.  
  121. if ($l_odp>$l_odp_nastronie) {
  122. pasek($l_odp,$l_odp_nastronie,$l_odp_napasku,$skrypt,$a,"&sz=$sz");
  123. }
  124.  
  125. if ($l_odp<1) echo "<div><br />Brak informacji spełniających 
  126.  kryteria wyszukiwania.</div>";
  127. }
  128.  
  129. ?>
nevt
oj kolego - widzę, że chyba cudzy skrypt przerabiasz bo nic nie kojarzysz ...
  1. <?php
  2. //po tej linijce
  3. $data = substr($dane["data"],0,10); 
  4. //dodaj linijke
  5. $id = $data['id'];
  6. ?>

i bedzie działać ...
jj09
raczej:
  1. <?php
  2. $id = $dane['id'];
  3. ?>


dzięki za pomoc;)
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.