Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php] formularz, switch, zmienne
suchy1
post
Post #1





Grupa: Zarejestrowani
Postów: 246
Pomógł: 8
Dołączył: 2.04.2006
Skąd: Gliwice

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


Witam
Czy dzieki operatorowi switch i action="main.php?action=reg" moge ustawic np.
  1. <?php
  2. $g = $_GET['reg'];
  3.  
  4. switch($g){
  5. case 1:
  6.  
  7. pierwsza strona;
  8.  
  9. break;
  10.  
  11. case2:
  12.  
  13. druga strona;
  14.  
  15. break;
  16. }
  17. ?>


i teraz zmieniajac na poszczegolnych formularzach main.php?action=start albo main.php?action=meta odsylac do innych case ? to jest mozliwe ale u mnie to nie dziala? formularz wysyla najpierw zmienne formularza a jakby zapominal o main.php?action=reg. Jest jakis sposob aby to ominac? Z gory dzieki za pomoc
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 7)
lopez86
post
Post #2





Grupa: Zarejestrowani
Postów: 187
Pomógł: 0
Dołączył: 24.12.2006

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


Nie wiem czy nie powinieneś dać $G = $_POST['action']; (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif)

sory nie post tylko $g=$_GET['action'];
Go to the top of the page
+Quote Post
suchy1
post
Post #3





Grupa: Zarejestrowani
Postów: 246
Pomógł: 8
Dołączył: 2.04.2006
Skąd: Gliwice

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


to nie to:

  1. <?php
  2. include('./'."settings.php"); // Ładowanie ustawień
  3.  
  4. $q = $_GET['action'];
  5.  
  6. switch($q){
  7. case reg:
  8. echo 'OK';
  9. break;
  10.  
  11. default:
  12. echo "blad";
  13. break;
  14. }
  15.  
  16. ?>


  1. <u>Wypełnij formularz rejestracyjny!</u><br><br>
  2. <form name="one" action="main.php?action=reg" method="GET">
  3. <table border=0>
  4. <tr>
  5. <td><p align="right">Login:</p></td>
  6. <td><input style="border: 1px solid #C3C3C3; width: 165px;" type="text" name="login_reg" maxlength="10" />@opencode.pl</td>
  7. </tr>
  8. <tr>
  9. <td><p align="right">Hasło:</p></td>
  10. <td><input style="border: 1px solid #C3C3C3; width: 165px;" type="password" name="pass_reg" maxlength="10" />(max 10 znaków)</td>
  11. </tr>
  12. <hr color="silver" width="50%"><br><br>
  13. <tr>
  14. <td><p align="right">Imię:</p></td>
  15. <td><input style="border: 1px solid #C3C3C3; width: 165px;" type="text" name="name_reg" maxlength="20" /></td>
  16. </tr>
  17. <tr>
  18. <td><p align="right">Nazwisko:</p></td>
  19. <td><input style="border: 1px solid #C3C3C3; width: 165px;" type="text" name="surname_reg" maxlength="30" /></td>
  20. </tr>
  21. </table><br><br>
  22. <input type="submit" value="Załóż konto!" name="accept" />
  23. </form>
  24. </body>
  25. </html>


Wedglu action="main.php?action=reg" i moich skryptow powinno wyswietlic mi napis OK a tego nie robi, switch dobrze jest skonstruowany...
Go to the top of the page
+Quote Post
lopez86
post
Post #4





Grupa: Zarejestrowani
Postów: 187
Pomógł: 0
Dołączył: 24.12.2006

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


Wyjaśnij mi od czego ma zeleżeć z punktu widzenia strony html z rejestracją czy ma wysłać action=reg bo można by hiddena zrobić i jeżeli chodzi np. o spełnienie jakiś warunków to można to javiescript napisać , bo tak nie zrobisz , jeżeli dajesz action w formie już zapytaniem (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

  1. <script type="text/javascript">
  2.  
  3. if(document.getElementById('id pola z formy').value=czemus innemu np innemu polu czyli np. hasła identyczne){
  4.  
  5. document.write("<input type=\"hidden\" name=\"action\" value=\"reg\">");
  6.  
  7. }
  8.  
  9.  

Mam nadziję że ci to pomoże, oczywiści skrypt wstawiasz jeszcze w formie POZDRO

Ten post edytował lopez86 16.02.2007, 22:16:28
Go to the top of the page
+Quote Post
suchy1
post
Post #5





Grupa: Zarejestrowani
Postów: 246
Pomógł: 8
Dołączył: 2.04.2006
Skąd: Gliwice

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


chodzi mi o to ze kazda strona bedzie miala inny main.php?action=reg dzieki temu poleci do innego case(switch). Chce miec wszystkie polecenia w jednym pliku tak aby wszystkie formularze korzystaly z jednego pliku. Problem w tym ze jakos switch tego nie lapie (IMG:http://forum.php.pl/style_emoticons/default/sad.gif)
Go to the top of the page
+Quote Post
lopez86
post
Post #6





Grupa: Zarejestrowani
Postów: 187
Pomógł: 0
Dołączył: 24.12.2006

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


no to chyba pozostaje ci zrobić to na hiddenach dla każdej z podstron innego , inaczej tego nie widze , może da się ale ja takiego sposobu nie znam , najprościej daj hiddena zamiast w action dopisuj zmienne (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
suchy1
post
Post #7





Grupa: Zarejestrowani
Postów: 246
Pomógł: 8
Dołączył: 2.04.2006
Skąd: Gliwice

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


lopez86: nie rozumiem, co to jest hidden i mam pominac zmienna w action ? (IMG:http://forum.php.pl/style_emoticons/default/dry.gif)
Go to the top of the page
+Quote Post
Kicok
post
Post #8





Grupa: Zarejestrowani
Postów: 1 033
Pomógł: 125
Dołączył: 17.09.2005
Skąd: Żywiec

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


Formularz wysyłasz metodą GET, więc pola z formularza nadpisują ci: action="main.php?action=reg". Rozwiązania:

1. Wywal tą zmienną z action'a formularza i dodaj nowe pole:
  1. <input type="hidden" name="action" value="reg" />


2. Zmień tryb wysyłania danych z formularza na POST
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:51