Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: POST między kilkoma stronami
Forum PHP.pl > Forum > Przedszkole
krzysiekkonto
Mam plik index.php a raczej jego wycinek bo pozostała niepotrzebna składnia wycięta:

  1. <script LANGUAGE="JavaScript">
  2. <!--
  3.  
  4. function otworz(adres)
  5. {
  6. document.location.href=adres;
  7. }
  8. </script>
  9.  
  10. <form method=post>
  11.  
  12. <b>Administrator:</b><br>
  13. login: <INPUT TYPE="edit" VALUE="" NAME="admin_login"><br>
  14. hasło: <INPUT TYPE="password" VALUE="" NAME="admin_haslo"><br><br>
  15. <INPUT TYPE="button" VALUE="Zaloguj" ONCLICK="otworz('admin.php');" NAME="admin_zaloguj"><br><br>
  16.  
  17. <b>Klient:</b><br>
  18. login: <INPUT TYPE="edit" VALUE="" NAME="klient_login"><br>
  19. hasło: <INPUT TYPE="password" VALUE="" NAME="klient_haslo"><br><br>
  20. <INPUT TYPE="button" VALUE="Zaloguj" ONCLICK="otworz('klient.php');" NAME="klient_zaloguj"><br><br>
  21.  
  22. </form>


czyli administrator
login:
pass:
<przycisk zaloguj>

i klient:
login:
pass:
<przycisk zaloguj>

oraz plik admin.php

  1. <form method=post>
  2.  
  3. <?php
  4.  
  5. $nowy=$HTTP_POST_VARS[admin_login];
  6. echo "$nowy";
  7.  
  8. ?>
  9.  
  10. </form>


problem w tym że chcę przesłać usera i password admina do pliku admin.php i tam dalej działać coś
tak samo jest z klient.php...przesyłam login i hasło i działam no i.......jeżeli użyję przycisku submit to oczywiście działa to bez zarzutu ale tutaj nie mogę użyć submit bo musiałbym na samym początku w form podać adres strony która będzie mi się otwierać a ja nie mogę podać jednej bo będą się otwierać różne tak wiec muszę użyć button. Nowa strona admin.php otwiera się ale nie mogę za nic przesłać POSTem tych dwóch pól login i pass :/ w jaki sposób prosty można przesłać do dowolnej strony naciskając przycisk jakieś wartości pól ?

temat pewnie prosty ale wszędzie tylko submit :/ a przesyłania przez buttona nie ma
Gizmon
Mi to wygląda na błąd w html'u :
  1. <form action="adres.do.którego.wysyłasz.dane" method="post">treść</form>


Dodatkowo nie mam pojęcia po co w admin.php umieściłeś <form>, przecież (chyba) nic nie wysyłasz w tym pliku tylko odbierasz.
No i Ja osobiście do odebrania użyłbym skróconego post (zależy na jakiej wersji php pracujesz), czyli $_POST['admin_login'];
siemakuba
Propouję tak:

  1. <script LANGUAGE="JavaScript">
  2. <!--
  3. function otworz(adres)
  4. {
  5. var f = document.getElementById('id-formularza');
  6. f.action = adres;
  7. f.submit();
  8. }
  9. </script>
  10. <form method="post" id="id-formularza">


W ten sposób dynamicznie ustawisz parametr action formularza, i tym samym prześlesz go do odpowiedniej strony.

pozdr.
JaRoPHP
Cytat(siemakuba @ 1.12.2006, 00:24:19 ) *
W ten sposób dynamicznie ustawisz parametr action formularza, i tym samym prześlesz go do odpowiedniej strony.
No chyba, że przeglądarka ma wyłączoną obsługę języka JavaScript, wtedy nic nie zostanie przesłane...

@krzysiekkonto po co rozdzielasz pola do logowania dla administratora i pozostałych użytkowników? To tylko będzie zachęcało do ewentualnych włamań. Na Twoim miejscu zrobiłbym jednen formularz logowania, i na stronie, do której ten formularz jest wysyłany, sprawdziłbym, czy loguje się administartor, czy nie i w zależności od tego podjął jakąś akcję.
siemakuba
Cytat
No chyba, że przeglądarka ma wyłączoną obsługę języka JavaScript, wtedy nic nie zostanie przesłane...
Zauważ, że @krzysiekkonto już używa JavaScript, co pozwala stwierdzić, że brak jego obsługi nie jest dla niego istotny. Poza tym, skoro to część administracyjna to korzystać z niej będzie określona grupa osób i od niej można wymagać włączonego JS.

Co do rozdzielenia formularza, tu @JaRoPHP ma jak najbardziej rację.
Popatrz, dane do logowania trzymasz w bazie. Trzymaj tam dodatkowo informacje o typie użytkownika, przykładowo username: adam, password: miauczynski, type: admin. Przy próbie logowania i tak sprawdzasz podany login i haslo z tymi w bazie. Pobierz od razu typ użytkownika. Jeżeli logowanie się powiodło, sprawdź typ użytkownika i zrób przekierowanie z poziomu php.

pozdr.
JaRoPHP
Cytat(siemakuba @ 1.12.2006, 09:33:38 ) *
Zauważ, że @krzysiekkonto już używa JavaScript, co pozwala stwierdzić, że brak jego obsługi nie jest dla niego istotny. Poza tym, skoro to część administracyjna to korzystać z niej będzie określona grupa osób i od niej można wymagać włączonego JS.
Tak, ale w zaprezentowanym formularzu wymaga się, aby JavaScript była dostępna zarówno dla administratorów, jak i reszty użytkowników...
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.