Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [HTML][MySQL][PHP]Problem z przesyłaniem danych, GET
lukaszk
post
Post #1





Grupa: Zarejestrowani
Postów: 159
Pomógł: 0
Dołączył: 21.12.2010

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


Witam, w moim PA podstrony są otwierane w jednym miejscu za pomocą
  1. <?php
  2.  
  3. switch ($_GET['parent']) {
  4. case "mod_mass_upload":
  5. include "page/mod_mass_upload.php";
  6. break;
  7. case "mod_rotator_zdjec":
  8. include "page/mod_rotator_zdjec.php";
  9. break;
  10.  
  11. case "toplista":
  12. include "page/mod_toplista.php";
  13. break;
  14. case "pozycjonowanie":
  15. include "page/mod_pozycjonowanie.php";
  16. break;
  17. case "mod_profile":
  18. include "page/mod_profile.php";
  19. break;
  20. default;
  21. include "page/glowna.php";
  22. }
  23.  
  24.  
  25. ?>


Problem jest tego tylu że jeśli chcę przesłać jakieś dane metodą GET to link wygląda tak
  1. [url=]"http://127.0.0.1/Admin/admin/index.php?page=2"[/url]

Czyli nie przenosi na stronę 2 pagera ale odpala się do domyślna strona glowna.php

Kiedyś założyłem podobny temat ale ktoś kazał dopisać do linków &g=1 a następnie przed switch-em dodać sprawdzanie warunku które nic nie daje.

Chcę wprowadzić paginację i tu mam problem bo po kliknięciu np 2 aby pokazał rekordy na 2 stronie przenosi mnie do głównej nie wiem już jak mam to zrobić.
Proszę o wskazówki gdzie jest błąd

Ten post edytował lukaszk 5.06.2011, 21:47:27
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 1)
singollo
post
Post #2





Grupa: Zarejestrowani
Postów: 47
Pomógł: 1
Dołączył: 25.11.2003

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


Jeżeli $_GET['parent'] jest puste, to skąd ten skrypt ma wiedzieć, która strona była ostatnia? Teoretycznie można to rozwiązać tak:
  1. if (!count($_GET)) {
  2. // adres typu /index.php - żadnych danych przekazanych przez GET
  3. include 'page/glowna.php';
  4. // czyszcze ustawienia strony bieżącej (stroną bieżącą jest strona główna)
  5. unset($_SESSION['parent']);
  6. } else {
  7. if (isset($_GET['parent'])) {
  8. // parent przekazany bezpośrednio w GET
  9. $parent = $_GET['parent'];
  10. $_SESSION['parent'] = $parent; // zapisuje to ustawienie w sesji jako stronę bieżącą
  11. } elseif (isset($_SESSION['parent'])) {
  12. // w GET nie było informacji - ale była w sesji
  13. $parent = $_SESSION['parent'];
  14. } else {
  15. // nigdzie nie było informacji
  16. $parent = '';
  17. }
  18.  
  19. switch($parent) {
  20. // [...]
  21. // kod przełączający strony
  22. }
  23. }

Ale to rozwiązanie jest niepraktyczne:
- nie można skopiować linku (linki działają tylko w obrębie pojedynczej sesji)
- przycisk "wstecz" będzie działał nieprawidłowo

Obawiam się więc, że musisz kopiować $parent do każdego adresu, który wywołujesz.

Pozdrawiam,
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 - 12:49