Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: czego uzyc zamiast HEADER(skok do strony)
Forum PHP.pl > Forum > Przedszkole
Fin120
witam.
potrzebuje pomocy.
ponizej zamiszczam skrypt php umieszczony w pliku WML (WAPowski HTML).
jak widac, na poczatku jest wywolywana funkcja header do przeslania ifnormacji na temat rodzaju dokumentu WML. te pierwsze kilka linijek kodu jest niezbedne aby moc umieszczac kod php w w tego rodzaju plikach (jesli tego nie zrobie, komroka wyswietli mi komunikat ze nieprawidlowy format pliku itp).. problem polega na tym ze funkcja header jest wywolywana juz na samym poczatku, przez co pozniejesze jej wywolanie powoduje wyswietlenie komunikatu ze headers already sent ....

moje pytanie brzmi: czy mozna uzyc innej funkcji zamiast header do "skoku" do innego pliku? obecnie mam to zrobone na zwyklych odnosnikach, ale potrzebuje zrobic ten przeskok do poprzedniej strony automatycznie. bede wdzieczny za kazda informacje jak mozna by to ewentualnie zrobic.
oto skrypt:
  1. //te poczatkowe 4 linijki musza pozostac nie zmienione
  2. <?php
  3. header("Content-type: text/vnd.wap.wml");
  4. echo "<?xml version=\"1.0\"?>";
  5. echo "<!DOCTYPE wml PUBLIC \"-//WAPFORUM//DTD WML 1.1//EN\""
  6.  . \"http://www.wapforum.org/DTD/wml_1.1.xml\">"; 
  7. ?>
  8. <wml>
  9. <card id="prezent" title="Wynik">
  10. <p>
  11. <?php
  12. $teraz_czesc=$_POST["teraz_czesc"];
  13. $kategoria=$_POST["kategoria"];
  14. @mysql_connect("localhost","fin120","fin120") or die("Nie moge polaczyc sie z serwerem MySQL");
  15. @mysql_select_db("enginer") or die("Nie moge wybrac bazy danych ENGINER");
  16. $zapytanie2="SELECT opis,p_t,le_pr,info,nr_katalog,dostep FROM
  17. czesc,grupa WHERE czesc.model_idmodel=$teraz_czesc AND
  18. grupa.idgrupa=$kategoria AND
  19. grupa.idgrupa=czesc.grupa_idgrupa";
  20. $result=mysql_query($zapytanie2);
  21. if (mysql_num_rows($result) == 0):
  22. //tutaj zastapilem funkcje header zwyklymi
  23.  //odnosnikami, jednak potrzebuje sposobu na automatyczny skok
  24.  //do poprzedniej strony.
  25.  
  26. //header("location: http://localhost/search6.php");
  27.  //exit;
  28. print "Nie znaleziono zadnego produktu dla tego modelu.";
  29. print "</br><a href=\"http://localhost/mar.wml\"><b>Cofnij</b></a>";
  30. else:
  31. while (list($opis,$p_t,$le_pr,$info,$nr_katalog,$dostep)=mysql_fetch_row($result)):
  32. print "
  33. <b>Opis: </b>$opis<br/>
  34. <b>P/T: </b>$p_t<br/>
  35. <b>L/P: </b>$le_pr<br/>
  36. <b>INF: </b>$info<br/>
  37. <b>NR: </b>$nr_katalog<br/>
  38. <b>DOST: </b>$dostep<br/>
  39. <b>***</b><br/>";
  40. endwhile;
  41. print "<p align=\"center\"><a href=\"http://localhost/mar.wml\"><br/><b>Powrót</b></a></p>";
  42. endif;
  43. ?>
  44. </p>
  45. </card>
  46. </wml>


pozdrawiam!!!
nospor
headers alredy sent... bylo milion razy. poszukaj na forum.

masz tez:
http://phppl.ezpublish.no/phppl/wortal/art...ch_programistow
vtuner
jest jeszcze jeden sposob. Mzna uzyc META

  1. <META HTTP-EQUIV='Refresh' CONTENT='czas; URL=strona'>


I bedzie dzialalo. Mozesz go sobie umieszczac gdzie chcesz
dr_bonzo
Naucz sie oddzielac logike aplikacji (kod php) od prezentacji danych! (html) -- unikniesz takich sytuwacji:
1. wysylasz naglowki z typem WML - OK
2. laczysz sie z baza, pobierasz to co masz pobrac, sprawdzasz czy jakistam warunek jesst spelniony
3. jesli tak, to dajesz przekierowanie header (! zauwaz ze do tej pory NIC nie wyslales do przegladarki i header zadziala);
jesli nie to wyswietlasz dane <wml ..... za pomoca printa()/echo lub systemu szablonow.
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.