Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][HTML]Inne funkcje gdy action = '?a=funkcja'
Forum PHP.pl > Forum > Przedszkole
Zeelof
Witam!
Mój problem polega na tym, że chcę stworzyć panel rejestracji i logowania na witrynę, właściwie to już zrobiłem, jednak powstał problem dwóch submitów na jednej stronie. Chciałbym zrobić tak, że jak użytkownik wejdzie na zakładkę rejestracji (http://witryna.pl/index.php?a=rejestracja) to w miejscu panelu logowania powstaje napis "Niedostępne". Problem polega na tym, że witrynę tą robię w celu edukacyjnym do PHP i niezbyt wiem jak za to się zabrać. Do tego momentu wszystko szło gładko wraz z książką, ale teraz mam zastój... Proszę o jakąś pomoc z tym skryptem...
gorden
  1. <button onclick="location='?a=rejestracja'">Rejestracja</button>
  2. <button onclick="location='?a=logowanie'">Logowanie</button>


  1. $a = $_GET['a'];
  2. if($a == 'logowanie') logowanie(); //funkcja z logowaniem jestli ?a=logowanie
  3. elseif($a == 'rejestracja') rejestracja(); //funkcja z rejestracja jesli ?a=rejestracja
  4. else error(); //alternatywna funkcja w innym wypadku
Zeelof
hymmm średnio rozumiem tą drugą część...
Teraz u mnie logowanie wygląda tak:
  1. <?php
  2. if(!empty($_POST)){
  3. if (!empty($_POST['login']) && !empty($_POST['pass'])){
  4. f('zaloguj');
  5. echo zaloguj($_POST['login'],$_POST['pass']);
  6. } else {
  7. echo 'Wypełnij wszystkie pola poprawnie';
  8. }
  9. }
  10. ?>
  11. &nbsp;
  12. <form action='?a=start' method='post'>
  13. <table>
  14. <tr>
  15. <td>Login:</td>
  16. <td><input type='text' class='input2' name='login' value='<?php echo $_POST['login'] ?>'/></td>
  17. </tr>
  18. <tr>
  19. <td>Hasło:</td>
  20. <td><input type='password' class='input2' name='pass' value='<?php echo $_POST['pass'] ?>'/></td>
  21. </tr>
  22. <tr>
  23. <td colspan=2 align=center><button class='submit' onclick="location='?a=logowanie'">zaloguj</button></td>
  24. </tr>
  25. </table>
  26. </form>


I jak mógłbym zmienić ten skrypt? W którym miejscu muszę dodać tamte funkcje?
gorden
Warunek na $_GET jeszcze.. Zamień linię 3 w tym kodzie na:
  1. if (!empty($_POST['login']) && !empty($_POST['pass']) && $_GET['a']=='logowanie'){

Ten warunek sprawi, że instrukcje w klamrach zostaną wykonane, jeśli do adresu będzie dołączone ?a=logowanie.
brtsos
Witaj !

W przypadku ?a=rejestracja sprawdzasz :

  1. $a = $_GET['a'];
  2. if($a == 'rejestracja'){
  3. //wyświetlasz formularz rejestracyjny
  4. }else{
  5. //wyświetlasz formularz logownia
  6. }


Nie widzę logiki w wyświetlaniu napisu "Niedostępne". Po prostu go nie wyświetlasz i tyle.

pozdrawiam
Bartosz Sosna
Zeelof
A można zamiast tego wstawić:
  1. if (!empty($_POST['login']) && !empty($_POST['pass']) && $_GET['a']<>'rejestracja'){


I mimo wszystko mam problem, ale tym razem gdy jest rejestracja...
Może by było łatwiej to trochę inaczej.
Jak miałbym przerobić skrypt, którego opublikowałem wpis wyżej, tak aby logowanie nie było możliwe gdy ?a=rejestracja?
gorden
Zamień to <> na !==
Zeelof
Okej, działa smile.gif
Z tym, że musiałem zmienić drugą, a nie trzecią linię ^^
Dzięki wielkie za pomoc ^^
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.