Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP] Parametry URL
Lucius
post 5.07.2011, 13:40:13
Post #1





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 5.07.2011

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


Na początku Witam forumowiczów.

Nie jestem pewien czy odpowiednio nazwałem temat, liczę na ewentualne pouczenie.

Rozpocząłem tworzenie swojej pierwszej strony w php, mam problem z którym nie mogę sobie poradzić. Przedstawię temat od początku czyli przykładowo index.php, w tym pliku posiadam listę punktów z odnośnikami:
  1. <a href="index.php?id=1">Strona 1</a>
  2. <a href="index.php?id=2">Strona 2</a>

oraz kod includujący mi w wybrane miejsce odpowiednie pliki:
  1. <?php
  2. switch ($_GET['id']) {
  3. case '1':
  4. default:
  5. include "1.php";
  6. break;
  7. case '2':
  8. include "2.php";
  9. break;
  10. }
  11. ?>

w pliku 2.php posiadam listę rozwijaną, chciałbym aby po wybraniu danej opcji został wczytany pod listą kolejny plik
  1. <form>
  2. <select name="lista" OnChange="submit(this)">
  3. <option value="opcja1">OPCJA1</option>
  4. <option value="opcja2">OPCJA2</option>
  5. </select>
  6. <noscript><input type="submit" value="Wczytaj formularz"></noscript>
  7. </form>
  8.  
  9. <?php
  10.  
  11. switch ($_GET['lista']) {
  12.  
  13. case 'opcja1':
  14. default:
  15. include "kolejnyplik1.php";
  16. break;
  17.  
  18. case 'opcja2':
  19. include "kolejnyplik2.php";
  20. break; }
  21. ?>


Mój problem polega na tym że gdy już wczytam do pliku index.php plik 2.php wszystko ładnie działa, adres posiada słuszną formę : index.php?id=2, ale gdy wybiorę cokolwiek z listy w pliku 2.php url zmienia się na np. index.php?lista=opcja2 co naturalnie powoduje wyświetlenie mi default ze switch w index.php.

Chciałbym aby po kliknięciu na np. OPCJA2 na liście wyświetliło mi się to co wyświetla mi się gdy wpisuję ręcznie index.php?id=2&lista=opcja2 .

Proszę o pomoc, kombinowałem i kombinowałem ale wychodzi na to że tworzyłem własny język php sciana.gif .

Ten post edytował Lucius 5.07.2011, 14:26:13
Go to the top of the page
+Quote Post
by_ikar
post 5.07.2011, 14:53:06
Post #2





Grupa: Zarejestrowani
Postów: 1 798
Pomógł: 307
Dołączył: 13.05.2009
Skąd: Gubin/Wrocław

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


Daj default na ostatnim miejscu:

Kod
<?php

switch ($_GET['lista'])
{
    case 'opcja1':
        include 'kolejnyplik1.php';
    break;
    
    case 'opcja2':
        include 'kolejnyplik2.php';
    break;
    default:
        include 'kolejnyplikdefault.php';
    break;
}
Go to the top of the page
+Quote Post
Lucius
post 5.07.2011, 15:33:39
Post #3





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 5.07.2011

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


Zapisałem to w ten sposób, niestety nic się nie zmieniło.
  1. <?php
  2.  
  3. switch ($_GET['lista'])
  4. {
  5. case 'opcja1':
  6. include 'kolejnyplik1.php';
  7. break;
  8.  
  9. case 'opcja2':
  10. include 'kolejnyplik2.php';
  11. break;
  12. default:
  13. echo 'Wybierz opcję';
  14. break;
  15. }
Go to the top of the page
+Quote Post
korex
post 5.07.2011, 15:44:55
Post #4





Grupa: Zarejestrowani
Postów: 36
Pomógł: 4
Dołączył: 2.02.2008

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


  1. <form action="<?php echo $_SERVER['REQUEST_URI']; ?>" method="GET">
  2. <select name="lista" OnChange="submit(this)">
  3. <option value="opcja1">OPCJA1</option>
  4. <option value="opcja2">OPCJA2</option>
  5. </select>
  6. <noscript><input type="submit" value="Wczytaj formularz"></noscript>
  7. </form>
  8.  
  9.  
  10. <?php
  11.  
  12. switch ($_GET['lista'])
  13. {
  14. case 'opcja1':
  15. include 'kolejnyplik1.php';
  16. break;
  17.  
  18. case 'opcja2':
  19. include 'kolejnyplik2.php';
  20. break;
  21. default:
  22. echo 'Wybierz opcję';
  23. break;
  24. }
  25. ?>
Go to the top of the page
+Quote Post
Lucius
post 5.07.2011, 16:27:49
Post #5





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 5.07.2011

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


Próbuję z
  1. <form action="<?php echo $_SERVER['REQUEST_URI']; ?>" method="GET">
ale nie przynosi to dalej żadnych efektów. Ciągle wychodzi index.php?lista=opcja1 zamiast ?id=2&lista=opcja1.
Go to the top of the page
+Quote Post
korex
post 5.07.2011, 16:50:13
Post #6





Grupa: Zarejestrowani
Postów: 36
Pomógł: 4
Dołączył: 2.02.2008

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


sprobuj :
  1. <form action="<?php echo $_SERVER['PHP_SELF'];?>" method="GET">
  2. <input type="hidden" name="id" value="<?php echo $_GET['id']; ?>"/>
  3. <select name="lista" OnChange="submit(this)">
  4. <option value="opcja1">OPCJA1</option>
  5. <option value="opcja2">OPCJA2</option>
  6. </select>
  7.  
  8.  
  9. <noscript><input type="submit" value="Wczytaj formularz"></noscript>
  10. </form>
  11.  
  12.  
  13. <?php
  14.  
  15. switch ($_GET['lista'])
  16. {
  17. case 'opcja1':
  18. include 'kolejnyplik1.php';
  19. break;
  20.  
  21. case 'opcja2':
  22. include 'kolejnyplik2.php';
  23. break;
  24. default:
  25. echo 'Wybierz opcję';
  26. break;
  27. }
  28. ?>


Ten post edytował korex 5.07.2011, 16:56:44
Go to the top of the page
+Quote Post
Lucius
post 5.07.2011, 17:14:58
Post #7





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 5.07.2011

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


Działa, nawet to rozumiem, dzięki wielkie.
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 29.04.2025 - 07:16