Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Problem $_GET
Forum PHP.pl > Forum > Przedszkole
Outbreak
A więc mam taki problem, robiłem stronke w php i narazie do dodawania artykułów użyłem skrypt Barts.

Na localu wszystko wygląda świetnie ale gdy dałem pliki na inny server to linki w menu nie działają [po kliknięciu nie wyświetlała się zawartość echo].

Nie działają ponieważ użyłem:
  1. <?php
  2. if($op == '') { echo ('Strona główna'); }
  3. ?>


Zmieniłem to na:
  1. <?php
  2. if($_GET['$op'] == "") { echo ('Strona główna'); }
  3. ?>


I linki z menu działają guitar.gif
Ale pojawił się problem ze skryptem dodawania artykułów... pokazuje mi jakie są dodane arty ale gdy na nie klikam nic się nie dzieje [tak jak to było z linkami menu].


O to kod pliku odpowiedzialnego za wyświetla nie się artów, gdzie mam tu dodać $_GET questionmark.gifquestionmark.gif
I czy to jest wina oprogramowania servera że bez $_GET'a nie działa??

  1. <? 
  2. require_once('admin/barts/config.php');
  3. function win2iso($txt) 
  4. { 
  5. return (strtr($txt, "xA5x8Cx8FxB9x9Cx9F","xA1xA6xACxB1xB6xBC")); 
  6. }
  7. ob_start(win2iso);
  8.  
  9. $mask=umask(0);
  10. $barts_ask = $HTTP_SERVER_VARS["QUERY_STRING"];
  11.  
  12. function Szablon($nr)
  13. {
  14. global $PHP_SELF,$sticky,$kat,$barts_path,$barts_ask;
  15. include($barts_path.'barts/arts/'.$kat.'/'.$nr.'.php');
  16. include($barts_path.'barts/arts/'.$kat.'/'.$nr.'.inc');
  17. $statystyki=file($barts_path.'barts/arts/'.$kat.'/'.$nr.'.lic');
  18. $czytan=chop($statystyki[0]);
  19. if(!$czytan)$czytan='0';
  20. $ocena=chop($statystyki[1]);
  21. $ocena=explode('/',$ocena);
  22. if($ocena[0])$ocena=substr(($ocena[0]/$ocena[1]),0,3);
  23. else $ocena='brak';
  24. $skin=file($barts_path.'barts/szablon.php');
  25. $skin=join(" ",$skin);
  26. if($nr==$sticky) $skin=str_replace('{temat}','Przyklejony: '.$temat,$skin);
  27. else $skin=str_replace('{temat}',$temat,$skin);
  28. $skin=str_replace('{email}',$email,$skin);
  29. $skin=str_replace('{opis}',stripslashes($opis),$skin);
  30. $skin=str_replace('{autor}',$autor,$skin);
  31. $skin=str_replace('{ile}',"$czytan",$skin);
  32. $skin=str_replace('{ocena}',"$ocena",$skin);
  33. $skin=str_replace('{read_more}','<a href="'.$PHP_SELF.'?'.$barts_ask.'&id='.$nr.'">',$skin);
  34. echo $skin;
  35. }
  36. function SzablonFull($nr)
  37. {
  38. global $PHP_SELF,$cookie,$kat,$barts_path,$barts_ask;
  39. include($barts_path.'barts/arts/'.$kat.'/'.$nr.'.php');
  40. include($barts_path.'barts/arts/'.$kat.'/'.$nr.'.inc');
  41. $statystyki=file($barts_path.'barts/arts/'.$kat.'/'.$nr.'.lic');
  42. $imie=explode(' ',$imie);
  43. $czytan=chop($statystyki[0]);
  44. $ocena=chop($statystyki[1]);
  45. $ocena=explode('/',$ocena);
  46. $ocen=$ocena[1];
  47. if($ocena[0])$ocena=substr(($ocena[0]/$ocena[1]),0,3);
  48. else { $ocena='brak'; $ocen='0'; }
  49. $skin=file($barts_path.'barts/szablon_full.php');
  50. $skin=join(" ",$skin);
  51. $skin=str_replace('{temat}',$temat,$skin);
  52. $skin=str_replace('{email}',$email,$skin);
  53. $skin=str_replace('{tresc}',stripslashes($tresc),$skin);
  54. $skin=str_replace('{autor}',$imie[0].' "'.$autor.'" '.$imie[1],$skin);
  55. if($www) $skin=str_replace('{www}','[<a href="'.$www.'" target="_blank">WWW</a>] ',$skin);
  56. else $skin=str_replace('{www}','',$skin);
  57. $skin=str_replace('{ile}',"$czytan",$skin);
  58. $skin=str_replace('{ocena}',"$ocena",$skin);
  59. $skin=str_replace('{ocen}',"$ocen",$skin);
  60. $skin=str_replace('{id}',$nr,$skin);
  61. if($cookie[$nr]) { $skin=str_replace('{scoruj}','',$skin); }
  62. else $skin=str_replace('{scoruj}',"[ Oceń : <a href="$PHP_SELF?$barts_ask&score=1">1</a> <a href="$PHP_SELF?$barts_ask&score=2">2</a> <a href="$PHP_SELF?$barts_ask&score=3">3</a> <a href="$PHP_SELF?$barts_ask&score=4">4</a> <a href="$PHP_SELF?$barts_ask&score=5">5</a> ]",$skin);
  63. $skin=str_replace("{read_more}","<a href="$PHP_SELF?id=$nr&kat=$kat">",$skin);
  64. echo $skin;
  65. }
  66. function PokazKategorie()
  67. {
  68. echo 'Wybierz interesujacą Cię kategorię :<br><ul>';
  69. global $PHP_SELF,$barts_path,$barts_ask;
  70. $katalog=opendir($barts_path.'/barts/arts');
  71. while($element=readdir($katalog))
  72. {
  73. if(!($element=='..'||$element=='.')) 
  74. {
  75. $nazwa=file($barts_path.'barts/arts/'.$element.'/nazwa');
  76. $nazwa=chop($nazwa[0]);
  77. // no to jeszcze sprawdzmy ile jest arytykulow w danej kategorie, shall we ?
  78. $wsumie='0';
  79. $katalog2=opendir($barts_path.'barts/arts/'.$element);
  80. while($element2=readdir($katalog2))
  81. {
  82. if(strstr($element2,'.php')) $wsumie++;
  83. }
  84. echo '<b>&middot;</b> <a href="'.$PHP_SELF.'?'.$barts_ask.'&kat='.$element.'">'.$nazwa.'</a> [ '.$wsumie.' ]<br>';
  85. }
  86. }
  87. echo '</ul>';
  88. }
  89.  
  90.  
  91.  
  92. if($kat&&!$id)
  93. {
  94. global $barts_ash,$barts_path;
  95. $spis=array();
  96. $katalog=opendir($barts_path.'barts/arts/'.$kat);
  97. while($plik=readdir($katalog))
  98. {
  99. if(strstr($plik,'.php')) array_push($spis,$plik);
  100. }
  101. $ilewsumie=count($spis);
  102. if(!$showall)
  103. {
  104. // sprawdzamy stickiego
  105. $sticky=@file($barts_path.'barts/arts/'.$kat.'/sticky');
  106. $sticky=chop($sticky[0]);
  107. if($sticky) Szablon($sticky); //pokazuje stickiego
  108. $pokaz--;
  109. if(($ilewsumie-$pokaz)>=$sticky)$pokaz--; // zeby napweno pokazalo tyle ile trzeba gdy sticky nie bylby pokazany
  110. }
  111. $spis=array_reverse($spis);
  112. if($showall) $pokaz=count($spis);
  113. for ($n=0;$n<=$pokaz;$n++)
  114. {
  115. if (!$spis[$n])break;
  116. $temp=explode('.',$spis[$n]);
  117. if($temp[0]!=$sticky) Szablon($temp[0]); // zapobiega powtornemu pokazywaniu stickiego
  118. }
  119. if(!$showall&&!$id&&($ilewsumie>$pokaz)) echo "<center><a href="$PHP_SELF?showall=1&kat=$kat">Pokaż wszystkie artykuły</a></center>";
  120. }
  121. else if($id&&$kat)
  122. {
  123. // sprawdzamy czy user chce ocenic
  124. if ($score&&!$cookie[$id])
  125. {
  126. if ($score<='5') // coby nie zaduzo
  127. {
  128. $time=mktime()+3600;
  129. setcookie ("cookie[$id]", "TRUE", time()+360);
  130. $stat=file($barts_path.'barts/arts/'.$kat.'/'.$id.'.lic');
  131. $plik=fopen($barts_path.'barts/arts/'.$kat.'/'.$id.'.lic','w+');
  132. $scr=explode('/',chop($stat[1]));
  133. $scr[0]=$scr[0]+$score;
  134. $scr[1]++;
  135. $zapisz="$stat[0]"."$scr[0]/$scr[1]";
  136. fwrite($plik,$zapisz);
  137. fclose($plik);
  138. chmod($barts_path.'barts/arts/'.$kat.'/'.$id.'.lic',0777);
  139. }
  140. }
  141. $stats=file($barts_path.'barts/arts/'.$kat.'/'.$id.'.lic');
  142. $stats[0]=(chop($stats[0])+1);
  143. $stats[1]=chop($stats[1]);
  144. $zapisz="$stats[0]n$stats[1]";
  145. $plik=fopen($barts_path.'barts/arts/'.$kat.'/'.$id.'.lic','w+');
  146. fwrite($plik,$zapisz);
  147. fclose($plik);
  148. chmod($barts_path.'barts/arts/'.$kat.'/'.$id.'.lic',0777);
  149. SzablonFull($id);
  150. }
  151. else PokazKategorie();
  152. ?>
  153. <?
  154. umask($mask);
  155. ?>
UDAT
To że nie działa skrypt bez $_GET jest to zaleta serwera.

Możesz przepisać wszystko z $_GET'a na zmienne globalne(choć zamiast tego proponowałbym zmienić skrypt na bezpieczniejszy):
  1. <?php
  2. foreach ( $_GET as $var => $value ){
  3. $$var=$value;
  4. }
  5. ?>
Outbreak
Dzięki! działa biggrin.gif

Masz racje to zaleta bo zwiększ bezpieczeństwo smile.gif
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.