Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]zmiana wyglądu strony np. po wysłaniu formularza
lamcpp
post
Post #1





Grupa: Zarejestrowani
Postów: 372
Pomógł: 2
Dołączył: 10.05.2009

Ostrzeżenie: (0%)
-----


witam,
problem jest taki: mam stronę złożoną z nagłówka1, nagłówka2, lewej kolumny, prawej kolumny i stopki, czyli standardowy układ, w nagłówku1 jest wyszukiwarka, i chciałbym zeby po wpisaniu słowa i wybraniu przycisku "wyszukaj" wyniki wyszukiwania, czyli strona którą mam przygotowaną otworzyła się w tym samym oknie, ale żeby po otworzeniu się zmienił się układ mojej strony tzn. żeby zniknął całkowicie nagłówek2 i w miejscu tego nagłowka i w prawej kolumnie pojawiły się wyniki. Jak to osiągnąć?
Mówiąc prosciej chce zeby po kliknięciu "wyszukaj" strona zmieniła wygląd, żeby nagłówek nr 2 całkowicie zniknął, a to wolne miejsce po nim żeby wypełniły wyniki wyszukiwania.
Pomysł mam taki i prosiłbym o opinie czy dobry:
W polu formularza (tego za pomocą którego wyświetlam wyszukiwarke) jako action dodaje nową stronę, przykładowo nowa.php.
I w tym pliku nowa.php kopiuje treść strony głównej odpowiedzialnej za wyświetlanie wszystkiego(index.php) nanosząc odpowiednia zmiany, które mają się pojawić po wybraniu przycisku "wyszukaj" czyli np. usuwająć div z nagłówkiem nr2..i wtedy powinienem miec jakby nowy wygląd strony.
Pytanie czy to jest dobre rozwiązanie i czy takie się stosuje? ewentualnie jesli są jakies inne?
I druga sytuacja, dość analogiczna ale nie do konca...to samo chcę osiągnąć po kliknięciu na dane zdjęcie, miniaturke zeby zdjecie sie powiekszyło w tej samej stronie, i zeby równiez nagłowek dwa zniknął, jak to osiągnąć/
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
blooregard
post
Post #2


Newsman


Grupa: Moderatorzy
Postów: 2 033
Pomógł: 290
Dołączył: 21.12.2007
Skąd: Łódź




Elementy, które mają się nie wyświetlać po wybraniu jakiejś akcji dajesz w warunku, w którym sprawdzasz, czy dana akcja nie należy do zbioru oreślonych jako te, w których mają się nie pojawiać:
  1. $actions = array('pokaz_obrazek_full' , 'pokaz_wyniki_wyszkiwania');
  2. ...
  3. // oczywiscie parametr action z GET odpowiednio przefiltrowany, tu pominalem
  4. if (!in_array($actions , $_GET['action'])) {
  5. // tu kod inludujacy fragment strony, ktory ma sie wyswietlic
  6. }
  7. ...
  8.  
Go to the top of the page
+Quote Post
lamcpp
post
Post #3





Grupa: Zarejestrowani
Postów: 372
Pomógł: 2
Dołączył: 10.05.2009

Ostrzeżenie: (0%)
-----


mógłbyś jeszcze trochę bardziej szczegółowo naswietlić bo nie bardzo zrozumiałem, mają się nie wyświetlić pewne bloki (div), zamiast nich ma sie wyswietlic cos innego
Go to the top of the page
+Quote Post
blooregard
post
Post #4


Newsman


Grupa: Moderatorzy
Postów: 2 033
Pomógł: 290
Dołączył: 21.12.2007
Skąd: Łódź




Powiedzmy, że masz stronę główną (index.php) i w zależności od parametru 'action' z GET-a inkluduje do div-a 'content' odpowiednią treść:
  1. //to w div id=header
  2. include('header.php');
  3.  
  4. //to w div id=content
  5. switch($_GET['action']) {
  6.  
  7. case 'o nas': include('onas.php');
  8. case 'o was': include('owas.php');
  9. ... itd.
  10. }
  11.  
  12. //to w div id=left
  13. include('left.php');
  14.  
  15. //to w div id=footer
  16. include('footer.php');


Teraz dla akcji 'o was' nie chcesz, by wyświetlał się left.php, więc dajesz warunek:

  1. //to w div id=header
  2. include('header.php');
  3.  
  4. //to w div id=content
  5. switch($_GET['action']) {
  6.  
  7. case 'o nas': include('onas.php');
  8. case 'o was': include('owas.php');
  9. ... itd.
  10. }
  11.  
  12. // TU WARUNEK:
  13. if ($_GET['action'] != 'owas') { //jesli action z GET bedzie rowny 'owas', left.php nie zostanie zainkludowany
  14. //to w div id=left
  15. include('left.php');
  16. }
  17.  
  18. //to w div id=footer
  19. include('footer.php');


Tak jaśniej?
Go to the top of the page
+Quote Post
lamcpp
post
Post #5





Grupa: Zarejestrowani
Postów: 372
Pomógł: 2
Dołączył: 10.05.2009

Ostrzeżenie: (0%)
-----


Dużo jasniej, dzięki:)
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 11:58