Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]dlaczego nie działa www (nazwa.pl)?
Forum PHP.pl > Forum > Przedszkole
fourup
Witam wszystkich serdecznie!

Jestem tutaj zupełnie świeżutki i od razu proszę o pomoc...

Otóż jest tak - właśnie pracuję na nową wersją strony mojej firmy i wpadłem na pomysł, żeby wstawić tam przeglądarkę ofert (nazwaną górnolotnie "sklepem" winksmiley.jpg ) i siedzę, kombinuję, kombinuję i nawet zaczęło mi to chulać (testowałem na własnym kompie, odpalony krasnal, a na nim php 5.0.2)... i nawet wszystko szło ok, do czasu uploadu na serwer (nazwa.pl). Tam "sklep" odmówił posłuszeństwa (na serwerze jest php 5.2.13)... i tutaj właśnie pojawia się pytanie: a czemu to tak?

Poniżej kod:
  1. <?php
  2. /* wstawienie menu */
  3. $forind=0;
  4. include ('tab1s.inc');
  5. for (;;$forind++) {
  6. if (file_exists('shop/'.$forind.'.kat')) {
  7. if ($forind > 0) echo (' | ');
  8. echo ('<a href="shop.php?kat='.$forind.'">');
  9. include ('shop/'.$forind.'.kat');
  10. echo ('</a>');
  11. } else break;
  12. }
  13.  
  14. echo ('<BR><hr align="left" width="75%">');
  15. /* link promocji jeśli kat to nie promocje */
  16. if ($view != 1) {
  17. if (file_exists('shop/9/0/short.inc') and ($kat != 9)) {
  18. $promid=0;
  19. echo ('<FONT SIZE="+1" COLOR="#FF0000">UWAGA PROMOCJA !!!</FONT><BR><BR><BR>');
  20. while (file_exists('shop/9/'.$promid.'/short.inc')) {
  21. echo ('<div><a href="shop.php?kat=9&id='.$promid.'&view=1">');
  22. if (file_exists('shop/9/'.$promid.'/photo.jpg')) echo ('<img src="shop/9/'.$promid.'/photo.jpg" width="50" border="1" align="left" hspace="10">'); else echo ('<img src="shop/brak.gif" border="1" align="left" hspace="10">');
  23. echo ('<font color="#606060">ID: 9-'.$promid.'</font><BR>');
  24. include ('shop/9/'.$promid.'/short.inc');
  25. echo ('<BR><B>Cena brutto: ');
  26. include ('shop/9/'.$promid.'/price.inc');
  27. echo ('</B>PLN</a><BR></div><BR><BR>');
  28. $promid++;
  29. }
  30. }
  31. }
  32.  
  33. /* wstaw kótkie opisy wszystkich przedmiotów w wybranej kategorii */
  34. echo ('<hr align="left" width="75%">');
  35. if (($ikat>9) or ($ikat<0)) $kat=0;
  36. if ($kat=='') echo ('wybierz kategorię...');
  37. else {
  38. echo ('Kategoria: ');
  39. include ('shop/'.$kat.'.kat');
  40. echo (' ('.$kat.') &gt;<BR><hr align="left" width="75%">');
  41. $promid=0;
  42. if ($view != 1) {
  43. while (file_exists('shop/'.$kat.'/'.$promid.'/short.inc')) {
  44. echo ('<div><a href="shop.php?kat='.$kat.'&id='.$promid.'&view=1">');
  45. if (file_exists('shop/'.$kat.'/'.$promid.'/photo.jpg')) echo ('<img src="shop/'.$kat.'/'.$promid.'/photo.jpg" width="50" border="1" align="left" hspace="10">'); else echo ('<img src="shop/brak.gif" border="1" align="left" hspace="10">');
  46. echo ('<font color="#606060">ID: '.$kat.'-'.$promid.'</font><BR>');
  47. include ('shop/'.$kat.'/'.$promid.'/short.inc');
  48. echo ('<BR><B>Cena brutto: ');
  49. include ('shop/'.$kat.'/'.$promid.'/price.inc');
  50. echo ('</B>PLN</a><BR></div><BR><BR>');
  51. $promid++;
  52. }
  53. }
  54. }
  55. /* wstaw długi opis wybranego przedmiotu */
  56. if ($view==1) {
  57. if (file_exists('shop/'.$kat.'/'.$id.'/long.inc')) {
  58. if (file_exists('shop/'.$kat.'/'.$id.'/photo.jpg')) echo ('<img src="shop/'.$kat.'/'.$id.'/photo.jpg" width="150" border="1" align="left" hspace="10">'); else echo ('<img src="shop/brak.gif" width="150" border="1" align="left" hspace="10">');
  59. echo ('<font color="#606060">ID: '.$kat.'-'.$id.'</font><BR><BR>');
  60. if (file_exists('shop/'.$kat.'/'.$id.'/'.'long.inc')) include ('shop/'.$kat.'/'.$id.'/'.'long.inc'); else include ('shop/'.$kat.'/'.$id.'/'.'short.inc');
  61. echo ('<BR><BR><BR>');
  62. if (file_exists('shop/'.$kat.'/'.$id.'/'.'link.inc')) include ('shop/'.$kat.'/'.$id.'/'.'link.inc');
  63. echo ('<BR><BR><B>Cena brutto: ');
  64. include ('shop/'.$kat.'/'.$id.'/'.'price.inc');
  65. echo ('</B>PLN<BR><BR><BR>');
  66. }
  67. } else {
  68. if (file_exists('shop/'.$kat.'/'.$id.'/short.inc')) {
  69. if (file_exists('shop/'.$kat.'/'.$id.'/photo.jpg')) echo ('<img src="shop/'.$kat.'/'.$id.'/photo.jpg" width="50" border="1" align="left" hspace="10">'); else echo ('<img src="shop/brak.gif" border="1" align="left" hspace="10">');
  70. include ('shop/'.$kat.'/'.$id.'/'.'short.inc');
  71. echo ('<BR><B>Cena brutto: ');
  72. include ('shop/'.$kat.'/'.$id.'/'.'price.inc');
  73. echo ('</B>PLN<BR>');
  74. }
  75. }
  76. echo ('<BR><BR><BR>');
  77. echo ('kat: ('.$kat.')<BR>id: ('.$id.')<BR>view: ('.$view.')<BR>forind: ('.$forind.')<BR>promid: ('.$promid.')<BR>');
  78. include ('back.php');
  79. include ('tab3s.inc');
  80. ?>



dlaczego nie działa na serwerze, jeśli działa u mnie na krasnalu??
wiem... jestem zieloniutki, jednak według mnie powinno działać...

Kompletny kod wyrzuciłem na www.pc4u.nazwa.pl/new

W menu sklepu pod linkiem [info] jest phpinfo(); (wiem, nie powinienem tego tam dawać, jednak wrzuciłem dla ułatwienia poszukiwania błędu - będzie tam do poniedziałku, potem usunę)...

Z góry wielkie dzięki za ewentualną pomoc!
tehaha
to może być kwestia global_registers, skąd bierzesz te wszystkie zmienne?
fourup
Dzięki za szybki odzew...

Linia 8 tworzy link, w który podaje parametr $kat (kategoria);
Linia 44 (numeracja z kodu powyżej) tworzy link, i tam w parametrach jest podany $kat $id i $view.

struktura katalogów: root > ... > shop > $kat > $id
$view jest ustawiany na 1 jeśli trzeba wyświetlić pełny opis (jeśli kliknięto produkt, a nie kategorię).

$kat określa wybraną kategorię produktów i jest podawany zgodnie z linkiem stworzonym w linii 8 (wartości od 0 do 9).

$id określa produkt w danej kategorii (wybranej wcześniej) i jest podawany jeśli kliknięto przedmiot (link stworzony w linii 44)
tehaha
to może inaczej czy jak przekazujesz sobie dane między stronami to stosujesz przypisanie wartości do zmiennej z tablic $_POST, $_GET, $_SESSION?

przykładowo przekazujesz zmienną za pomocą url i robisz strona.php?zmienna=wartość
to czy robisz $zmienna = $_GET['zmienna']; czy od razu używasz $zmienna bez tego przypisania i tak wcześniej działało a teraz nie?
fourup
no... mea culpa...

po przeładowaniu nie pobieram wartości zmiennych z rewera...

przekazanie zmiennych zrobiłem w linku (np.: http://www.pc4u.nazwa.pl/new/shop.php?kat=...d=0&view=1), ale po przeładowaniu ich nie pobrałem tylko nadal na nich operowałem...

i działa mi to cały czas ale tylko na lokalnym kompie, gdzie mam odpalony wirtualny serwer (krasnal 2.7 z php 5.0.2), a ni działa mi na www...

czyli muszę po każdorazowy przeładowaniu pobrać najpiwre wartości zmiennych... Dobrze kombinuję?
tehaha
czyli jednak jest to kwestia register_globals.
jeżeli przekazujesz sobie zmienne linkiem to musisz je wyciągnąć z tablicy $_GET
czyli np. url: strona.php?zmienna1=a&zmienna2=b&zmienna3=c
to abyś mógł z nich korzystać w kodzie musisz zrobić:
  1. $zmienna1 = $_GET['zmienna1'];
  2. $zmienna2 = $_GET['zmienna2'];
  3. $zmienna3 = $_GET['zmienna3'];

jeżeli dane przesyłałeś formularzem z ustawionym method='post' to dobierasz je poprzez:
  1. $zmienna1 = $_POST['zmienna1'];
  2. $zmienna2 = $_POST['zmienna2'];
  3. $zmienna3 = $_POST['zmienna3'];

a jeżeli zapisałeś je do sesji to odbierasz je:
  1. $zmienna1 = $_SESSION['zmienna1'];
  2. $zmienna2 = $_SESSION['zmienna2'];
  3. $zmienna3 = $_SESSION['zmienna3'];


mógłbyś oczywiście też ustawić global_registers na on na serwerze i wtedy Twój skrypt by działał ale ze względów bezpieczeństwa zaleca się, żebyś tego nie robił
fourup
właśnie naniosłem poprawki... i na lokalnym przestało działać... na www też odmawia współpracy... sad.gif

teraz początek skryptu wygląda tak:

  1. <?php
  2. /* pobranie zmiennych po przeładowaniu */
  3. $kat=$_GET['$kat'];
  4. $id=$_GET['$id'];
  5. $view=$_GET['$view'];
  6.  
  7. /* wstawienie menu */
  8. $forind=0;
  9. include ('tab1s.inc');
  10. for (;;$forind++) {

reszta została bez zmian.




Ups!
już widzę plamę... momencik...


WOW!
Działa!!

Wielkie dzięki!

A mnie jednak czeka jeszcze mnóstwo nauki... A wiesz... w moim wieku już nie wchodzi do głowy tak jakbym chciał. Ale, co tam - twardym trza być... winksmiley.jpg

Jeszcze raz dzięki!

---
I to jest bardzo dobre podejście! Brawo : ) /~strife/
tehaha
jeszcze jedna uwaga:
  1. $view=$_GET['view'];

w $_GET[''] to już bez znaku $

spoko nigdy nie jest za późno, żeby się czegoś nauczyćsmile.gif
fourup
tak, zdążyłem załapać... ale już za późno i się edytowałem...

Raz jeszcze wielki dzięki!

Temat chyba można zamknąć... winksmiley.jpg
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.