Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Pytanie o poprawnośc zastosowania funkcji PHP
Forum PHP.pl > Forum > Przedszkole
lolko7
Witam
Pytanie z pogranicza żłobka i przedszkola. Dopiero uczę się PHP. Ale do rzeczy.
Zrobiłem prostą stronę XHTML + CSS. Jedna z podstron to pytania i odpowiedzi. Chciałem aby na tej konkretnie podstronie ładowały się najpierw pytania z oddzielnego pliku a potem dochodziłoby do podmiany na odpowiedzi również z oddzielnego pliku. Myślę że zaprzęganie do tego MySQL to trochę przerost formy nad treścią ale do rzeczy
Zrobiłem to tak.
W treści strony strona.php umieściłem między div-ami
  1. <?php include('pyt.php'); ?>

następnie w pliku pyt.php znowu między div-ami przy konkretnych pytaniach dałem odnośnik
  1. <a href="odp.php?id=1">Odpowiedź</a>

odnośnik odwołuje się do pliku odp.php (na marginesie jest to ten sam plik co strona.php tylko ma zmienioną nazwą) w którym to znajduje się
  1. <?php include('tresc_odp.php'); ?>


sam plik tresc_odp.php są to odpowiedzi gdzie 1 odpowiedź zaczyna się
  1. <?
  2. if ($_GET['id'] == "1"):
  3. ?>


a następne
  1. <?
  2. elseif ($_GET['id'] == "2"):
  3. ?>


itd

W miarę działa ale na localhost (zainstalowany LAMP) wyświetla całą długą stronę ( wszystkie odpowiedzi ) a nie tą konkretną przypisaną do nr pytania (nr id). Na serverze gdzie mam domenę jest w porządku.
Pytanie nr 1
Co mam zmienić u siebie(loclahost) w ustawieniach servera PHP bo pewnie tam coś trzeba, żeby było w porządku
Pytanie nr 2
Czy to co "wykombinowałem" można skrócić/poprawić/ulepszyć i... w jaki sposób

Czytając to forum zauważyłem że ludzie zalecają zamiast include stosować switch czy to u mnie zda egzamin ?
Jestem po lekturze kilkunastu stron od strony 1 i kilkunastu od ostatniej czyli 1280 i mam mały rozgardiasz w notatkach

Tak jak na wstępie wspomniałem dopiero zacząłem przygodę z PHP więc proszę o wyrozumiałość i ewentualne konkretne naprowadzenie na temat bo manual PHP jest całkiem spory winksmiley.jpg

Pozdrawiam i dziękuję z góry za odpowiedź

P.S. Tak korzystam z google oraz odnośników do kursów
piotrooo89
kurcze nie bardzo rozumiem jak w końcu chcesz aby Ci się to ładnie wyświetlało. bo nie wiemy nawet jaką masz strukturę w bazie. podaj takie info:

struktury tabel
jak ma wyglądać całość.
grzegosh
Kolega napisał, że nie chce zaprzęgać bazy danych.
Tak ogolnie, to robisz z tego masło maślane smile.gif
Podlinkowujesz plik, który ma w sobie include innego pliku... po co tak?
Napisz troche jaśniej o co chodzi, jak to ma wyglądać, bo albo zmęczony jestem, albo lekko zamotałeś.
Chcesz wyświetlić pytania, a po kliknięciu w link np "zobacz odpowiedzi" odpaliła sie strona z odpowiedziami tak?
No jeśli tak, to w ogole nie potrzebne do tego jest php...
Jeśli chcesz zrobić to w taki sposób, że ktoś wpisuje odpowiedzi, a po kliknięciu na "sprawdź" skrypt sprawdza odpowiedzi, to musisz zrobić formularz, dane przekazywać przez POST i w skrypcie sprawdzać poszczególne dane.
Najlepiej jak napiszesz jaśniej o co Ci chodzi.
Jeśli źle coś zrozumiałem, wybacz... Ciężki dzień.
lolko7
Chciałem aby na stronie na której są tylko pytania z odnośnikami do odpowiedzi, po naciśnięciu na słowo/button "odpowiedź" (wcześniej mam przygotowany plik z odpowiedziami) ładowała mi tylko ta jedna konkretna odpowiedź na tę stronę. Coś na wzór FAQ tylko nie chciałem aby pytania i odpowiedzi były razem i przez całą stronę.

Na pewno nie chcę tego smile.gif :
Cytat
Jeśli chcesz zrobić to w taki sposób, że ktoś wpisuje odpowiedzi, a po kliknięciu na "sprawdź" skrypt sprawdza odpowiedzi, to musisz zrobić formularz, dane przekazywać przez POST i w skrypcie sprawdzać poszczególne dane.

Pozdrawiam
piotrooo89
to jest proste, przesyłasz numer pytania np przez $_GET, odbierasz go na innej stronie sprawdzasz jaka jest odp na to pytanie i ja wyświetlasz.

ps. najlepiej mieć odp w bazie danych.
blooregard
Plik z odpowiedziami:
  1. <?php
  2. $odp = (integer)$_GET['id_odpowiedzi'];
  3.  
  4. switch ($odp) {
  5.  
  6. case 1: {
  7. echo 'odpowiedz do pytania 1';
  8. }; break;
  9.  
  10. case 2: {
  11. echo 'odpowiedz do pytania 2';
  12. }; break;
  13.  
  14. ....
  15.  
  16. case n: {
  17. echo 'odpowiedz do pytania n';
  18. }; break;
  19.  
  20. default: {
  21. echo 'nie ma odpwoedzi do pytania '.$odp;
  22. }; break;
  23.  
  24. }// koniec switch'a
  25. ?>


O to Ci chodziło?
grzegosh
Oczywiscie, każde pytanie powinno mieć link "Odpowiedź" a w adresie przekazana zmienna "id_odpowiedzi" jeśli brałbyś przykład wyżej umieszczony. np index.php?id_odpowiedzi=4
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.