Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP][HTML]Inne funkcje gdy action = '?a=funkcja'
Zeelof
post 30.01.2011, 14:02:32
Post #1





Grupa: Zarejestrowani
Postów: 83
Pomógł: 0
Dołączył: 7.02.2008

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


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...
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 7)
gorden
post 30.01.2011, 14:09:49
Post #2





Grupa: Zarejestrowani
Postów: 486
Pomógł: 101
Dołączył: 27.06.2010

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


  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
Go to the top of the page
+Quote Post
Zeelof
post 30.01.2011, 14:54:31
Post #3





Grupa: Zarejestrowani
Postów: 83
Pomógł: 0
Dołączył: 7.02.2008

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


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?
Go to the top of the page
+Quote Post
gorden
post 30.01.2011, 15:02:44
Post #4





Grupa: Zarejestrowani
Postów: 486
Pomógł: 101
Dołączył: 27.06.2010

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


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.
Go to the top of the page
+Quote Post
brtsos
post 30.01.2011, 15:06:04
Post #5





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

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


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

Ten post edytował brtsos 30.01.2011, 15:07:12
Go to the top of the page
+Quote Post
Zeelof
post 30.01.2011, 15:10:48
Post #6





Grupa: Zarejestrowani
Postów: 83
Pomógł: 0
Dołączył: 7.02.2008

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


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?
Go to the top of the page
+Quote Post
gorden
post 30.01.2011, 15:12:16
Post #7





Grupa: Zarejestrowani
Postów: 486
Pomógł: 101
Dołączył: 27.06.2010

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


Zamień to <> na !==
Go to the top of the page
+Quote Post
Zeelof
post 30.01.2011, 15:17:32
Post #8





Grupa: Zarejestrowani
Postów: 83
Pomógł: 0
Dołączył: 7.02.2008

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


Okej, działa smile.gif
Z tym, że musiałem zmienić drugą, a nie trzecią linię ^^
Dzięki wielkie za pomoc ^^
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: 20.06.2025 - 12:50