Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [HTML][PHP]Zbyt obszerne przeładowywanie strony - include
Forum PHP.pl > Forum > Przedszkole
Krukosz
Witam,

Tworze mini skrypt. Głównie do nauczenia się czegoś. Od wczoraj dopiero piszę w PHP, więc nie wiem co może być błędem.
Otóż stworzyłem coś takiego, że w zależności od GET, zawartość strony jest inna. To działa.

Na jednej podstronie umieściłem "losowarkę" plików .jpg. Tyle, że po wysłaniu formularza, który pyta z jakiego zestawu losować, wynik pojawia się na oddzielnej stronie.

Przed wysłaniem formularza strona wygląda tak:

Obrazek 1

a po wysłaniu:

Obrazek 2

Daję kod do index2.php:

  1. <table width="25%" class="main" align="left">
  2. <?php include("menu.php"); ?>
  3. </table>
  4. <table width="75%" class="main" height="100%">
  5. <?php
  6. if($_GET['link'] == "")
  7. {
  8. include('index_text.php');
  9. }
  10. elseif($_GET['link'] == "txt")
  11. {
  12. include('txt.php');
  13. }
  14. elseif($_GET['link'] == "gfx")
  15. {
  16. include('gfx.php');
  17. }
  18. ?>
  19. </table>


plik gfx.php:

  1. <td class="menu" height="100%">
  2. <form action="gfx.php" method="POST">
  3. <select name="zestaw">
  4. <option value="">Wybierz</option>
  5. <option value="01">Zestaw 1</option>
  6. <option value="02">Zestaw 2</option>
  7. <option value="03">Zestaw 3</option>
  8. </select>
  9. <input type="hidden" name="wybierz" value="tak" />
  10. <input type="submit" name="send" />
  11. </form>
  12. <?php
  13. if($_POST['wybierz'] == 'tak')
  14. {
  15. if($_POST['zestaw'] == "")
  16. {
  17. echo("Nie wybrałaś zestawu");
  18. }
  19. else
  20. {
  21. if($_POST['zestaw'] == "01")
  22. {
  23. include('randimg01.php');
  24. }
  25. elseif($_POST['zestaw'] == "02")
  26. {
  27. include('randimg02.php');
  28. }
  29. elseif($_POST['zestaw'] == "03")
  30. {
  31. include('randimg03.php');
  32. }
  33. }
  34. }
  35. ?>
  36. </td>


O wyglądzie prosże nie mówić. To jest mój stary szkielet, mój pierwszy z .css.
wNogachSpisz
A gdzie pytanie?
toffiak
W pliku php.ini wyszukaj linię z error_reporting powinna wyglądać tak:
error_reporting = E_ALL | E_STRICT.

Strona nie ładuje się do końca ponieważ jest błąd czyżby któryś z dołączanych randimg0x.php nie istniał ?
Krukosz
Nie, nie o to chodzi.

Stworzyłem tylko randimg01.php i testuje tylko na tym pliku. Wiem jaki ew. błąd by wystąpił. Że obrazka nie widać to też moja wina, bo jeszcze ich nie wrzuciłem.

Chodzi o to, że po wysłaniu formularza strona przeładowuje się cała (tj. zamiast index2.php jest samo gfx.php).

A pytam się jak to zrobić, gdyż w pliku index.php jest zrobiony formularz "podaj swoje imie", po podaniu prawidłowego imienia wykonuje się include index2.php. Jednak w tym przypadku strona się nie przeładowuje, tylko pod formularzem wyświetla się zawartość index2.php

Refresh
Morfi777
>> Chodzi o to, że po wysłaniu formularza strona przeładowuje się cała (tj. zamiast index2.php jest samo gfx.php).

bo w action dałeś "gfx.php"
Krukosz
dałem index2.php?link=gfx i działa.

Ale ze mnie noob. Nie wierze.

Teraz mam problem w innym miejscu skryptu:

  1. <?php
  2. if($_GET['data']) == "jeden"
  3. {
  4. include('dane01.php');
  5.  
  6. foreach($img01 as $n=>$w)
  7. {
  8. echo ('<a href="img/01/'.$w.'"><img src="img/01/'.$w.'" width="150" height="75"></a><br><br>');
  9. }
  10. }
  11. elseif($_GET['data']) == "02"
  12. {
  13. include('dane02.php');
  14.  
  15. foreach($img02 as $n=>$w)
  16. {
  17. echo ('<a href="img/02/'.$w.'"><img src="img/02/'.$w.'" width="150" height="75"></a><br><br>');
  18. }
  19. }
  20. elseif($_GET['data']) == "03"
  21. {
  22. include('dane03.php');
  23.  
  24. foreach($img03 as $n=>$w)
  25. {
  26. echo ('<a href="img/03/'.$w.'"><img src="img/03/'.$w.'" width="150" height="75"></a><br><br>');
  27. }
  28. }
  29. elseif($_GET['data']) == "04"
  30. {
  31. include('dane04.php');
  32.  
  33. foreach($img04 as $n=>$w)
  34. {
  35. echo ('<a href="img/04/'.$w.'"><img src="img/04/'.$w.'" width="150" height="75"></a><br><br>');
  36. }
  37. }
  38. ?>


Mam błąd: unexpected T_IS_EQUAL

linia nr 7 to pierwsza linijka "if"
Nawiasy myślę, że są dobrze. Używam kEDa, więc mi je podświetla.
melkorm
  1. if($_GET['data']) == "jeden"


A cóż to o_O
Krukosz
Już widzę błąd.

Chyba dzisiaj nie dzień na pisanie. Robie najprostrze błędy.
gorden
  1. if($_GET['data']) == "jeden"

nie, nie są dobrze. nawet nie wiem jak to wytłumaczyć. po prostu zobacz jak wyglądają warunki equal (porównania). if
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.