Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]logowanie i rejestracja, rozpoznawanie wciśnięcia klawisza.
-mag32-
post 26.07.2010, 18:27:18
Post #1





Goście







Mam taki problem, że na stronie potrzebuję logowanie usera - to proste i już gotowe, ale potrzebuję też drugi klawisz jeśli wejdzie nowa osoba i będzie się chciała zarejestrować na stronie. Jak stwierdzić który klawisz został wciśnięty?

Teraz używam form i metody _POST a klawisz typu submit.

I tu też bym chciał to nieco zmienić ale nie wiem jak zrobić by klawisz nie wyglądał jak klawisz a raczej jak link do zalogowania i do rejestracji.

Głównym jednak problemem jest w tej chwili jak stwierdzić czy został wciśnięty submit logowanie czy submit zarejestruj.
Go to the top of the page
+Quote Post
!*!
post 26.07.2010, 18:34:17
Post #2





Grupa: Zarejestrowani
Postów: 4 298
Pomógł: 447
Dołączył: 16.11.2006

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


Nie rozumiem pytania, pokaż jakiś przykład. Normalnie robisz dwa linki prowadzące do 2 stron logowanie i/lub rejestracja, tam odpowiednio dajesz formularz. Co chcesz uzyskać?

I nie klawisz, a przycisk zmienić jego wygląd możesz poprzez CSS, jednak przycisk "input" kipesko się styluje. Zastosuj zamiast niego

Kod
<button type="submit">Zarejestruj się</button>


Ten post edytował !*! 26.07.2010, 18:36:29


--------------------
Nie udzielam pomocy poprzez PW i nie mam GG.
Niektóre języki programowania, na przykład C# są znane z niezwykłej przenośności (kompatybilność ze wszystkimi wersjami Visty jest wiele warta).
Go to the top of the page
+Quote Post
Barcelona
post 26.07.2010, 18:38:51
Post #3





Grupa: Zarejestrowani
Postów: 322
Pomógł: 15
Dołączył: 29.01.2010

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


Dokładnie, musiałem pare razy przeczytać żeby troche ogarnąć problem. Koledze chyba chodzi właśnie o to żeby zrobić link do rejestracji.
Go to the top of the page
+Quote Post
-mag32-
post 26.07.2010, 18:51:58
Post #4





Goście







No tak, chodzi mi oczywiście o link do rejestracji tuż obok linku/klawisza? do logowania, ale oba wywołują tą samą stronę index.php dopiero warunek tam zawarty ma decydować co jest wyświetlane na stronie.
Konkretnie warunek jest w logon.php

Poniżej kody poszczególnych części składowych.

  1. //index.php
  2. <?php
  3. include_once ('session.php');
  4. include ('procedure.php');
  5. include ('meta.php');
  6. include ('main_body.php');
  7. ?>

  1. //main_body.php
  2. <?php
  3. include ('header.inc.php');
  4. include ('center.inc.php');
  5. include ('footer.inc.php');
  6. ?>

  1. //header.inc.php
  2. <div style="text-align:center">
  3. <table align="center" border=0>
  4. <tr>
  5. <td><img src="logo.jpg" width="755" height="101" align="top" alt="Logo" title="Internetowy System Zarzadzania Transportem">
  6. </td>
  7. </tr>
  8. <tr>
  9. <td>
  10. <?php
  11. include ('logon.php');
  12. ?>
  13. </td>
  14. </tr>
  15. <tr>
  16. <td><b>MENU GLOWNE SYSTEMU</b></td>
  17. </tr>
  18. </table>
  19. </div>

  1. //logon.php
  2. <?php
  3. if(!isSet($_POST["pass"])||!isSet($_POST["login"]))
  4. {
  5. include('form_log.php');
  6. }
  7. else
  8. if(checkPass($_POST["login"],$_POST["pass"]))
  9. {
  10. include('body.php');
  11. }
  12. else
  13. {
  14. echo ("Blad logowania. 003");
  15. include('form_log.php');
  16. }
  17. ?>

  1. <form name="logon" action="index.php" method="POST">
  2. <div style="text-align:center">
  3. <table align="center" border=0>
  4. <tr>
  5. <td><b>Zaloguj sie:</b></td>
  6. <td>Login:</td>
  7. <td><input type="text" name="login"></td>
  8. <td>Haslo:</td>
  9. <td><input type="password" name="pass"></td>
  10. <td><input type="submit" value="enter"></td>
  11. <td>
  12. <input type="submit" value="login">
  13. </td>
  14. </tr>
  15. </table>
  16. </div>
  17. </form>

  1. //procedure.php
  2. <?php
  3. if (!$db=mysql_connect('localhost','root','lorcom111'))
  4. {
  5. echo '<p>Nie mozna nawiazac polaczenia z baza danych</p>';
  6. exit();
  7. }
  8. if (!mysql_select_db('isztar'))
  9. {
  10. exit('<p>nie można zlokalizowac bazy danych</p>');
  11. }
  12.  
  13. function checkPass($user,$pass)//funkcja sprawdzająca poprawnoć wpisanego hasła i nazwy urzytkownika
  14. {
  15. $db=mysql_connect('localhost','root','lorcom111');
  16. $flag=mysql_select_db("isztar");
  17.  
  18. if(!$db||!$flag)//sprawdĽ połączenie z bazą danych
  19. {
  20. echo ("Problem polaczenia z baza danych. 001");
  21. return false;
  22. }
  23.  
  24. $query="SELECT name, lname, pass FROM USERS WHERE NAME='".$user."'"; //
  25. if(!$result=mysql_query($query))
  26. {
  27. echo ("Problem z DB, Odrzucone zapytanie. 002");
  28. return false;
  29. }
  30.  
  31. if(!$row=mysql_fetch_row($result))
  32. {
  33. echo 'logowanie błędne 005';
  34. return false;
  35. }
  36.  
  37. if($row[2] !=$pass)
  38. {
  39. echo 'logowanie błędne 004: '.$row[2].' : '.$pass.' : ';
  40. return false;
  41. }
  42. else
  43. {
  44. echo 'Zalogowany: '.$row[0].' '.$row[1];
  45. return true;
  46. }
  47. }//checkPass end fonction
  48. ?>
Go to the top of the page
+Quote Post
PanGuzol
post 26.07.2010, 18:55:46
Post #5





Grupa: Zarejestrowani
Postów: 353
Pomógł: 50
Dołączył: 28.07.2005
Skąd: Łaziska Górne

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


http://php.net/manual/en/reserved.variables.get.php chyba tego potrzebujesz haha.gif


--------------------
Sposób na życie? Uśmiech na twarzy :D
"Widzę więcej, wiem więcej, tak to jest mniej więcej"
"NIE kradnij, rząd nielubi konkurencji"
Go to the top of the page
+Quote Post
!*!
post 26.07.2010, 18:56:42
Post #6





Grupa: Zarejestrowani
Postów: 4 298
Pomógł: 447
Dołączył: 16.11.2006

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


Najprościej to:
Kod
$co = $_GET['opcja'];
if($co == 'logowanie'){//formularz logowania}elseif($co == 'rejestracja'){//form rejestracji}

*pisane z palca

link wyglądałby tak: http://domena/index?opcja=logowanie



--------------------
Nie udzielam pomocy poprzez PW i nie mam GG.
Niektóre języki programowania, na przykład C# są znane z niezwykłej przenośności (kompatybilność ze wszystkimi wersjami Visty jest wiele warta).
Go to the top of the page
+Quote Post
-mag32-
post 26.07.2010, 19:13:49
Post #7





Goście







No miło, nawet pomogło.
Tylko czy koniecznie musi być na _GET?
Da się jakoś na _POST?

Wadą _GET jest to, że widać to w pasku adresu, a tego właśnie chcę uniknąć.
Go to the top of the page
+Quote Post
muk4
post 26.07.2010, 19:16:11
Post #8





Grupa: Zarejestrowani
Postów: 309
Pomógł: 56
Dołączył: 3.11.2006
Skąd: Gliwice

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


Cytat(mag32 @ 26.07.2010, 20:13:49 ) *
No miło, nawet pomogło.
Tylko czy koniecznie musi być na _GET?
Da się jakoś na _POST?

Wadą _GET jest to, że widać to w pasku adresu, a tego właśnie chcę uniknąć.

Zrobienie 'opcja=rejestracja' to dobry pomysł i nie rozumiem czemu chcesz tego uniknąć?
Go to the top of the page
+Quote Post
everth
post 26.07.2010, 19:23:45
Post #9





Grupa: Zarejestrowani
Postów: 782
Pomógł: 153
Dołączył: 21.07.2010

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


Jak się już uprzesz na POST to przy button/input submit dodaj atrybut 'name' np.
  1. <input type='submit' name='logon'>Loguj</input>
  2. <input type='submit' name='register'>Rejestruj</input>

I obsługujesz je sobie po stronie skryptu (sprawdzając zmienne za pomocą isset())

Ten post edytował everth 26.07.2010, 19:24:24


--------------------
Już mi się ani wiedzieć, ani tym bardziej myśleć nie chce.
[Think different]!
Go to the top of the page
+Quote Post
-mag32-
post 27.07.2010, 09:18:51
Post #10





Goście







I o to chodziło, już sprawdzone i działa.
Serdecznie wszystkim dziękuję.

  1. <?php
  2. if(!isSet($_POST["pass"])||!isSet($_POST["login"]))
  3. {
  4. include('form_log.php');
  5. }
  6. elseif(isSet($_POST["logon"]))
  7. {
  8. if(checkPass($_POST["login"],$_POST["pass"]))
  9. {
  10. include('body.php');
  11. }
  12. else
  13. {
  14. echo ("Blad logowania. 003");
  15. include('form_log.php');
  16. }
  17. }
  18. elseif(isSet($_POST["regon"]))
  19. {
  20. echo("modul rejestracji");
  21. }
  22. ?>

  1. <form name="logon" action="index.php" method="POST">
  2. <div style="text-align:center">
  3. <table align="center" border=0>
  4. <tr>
  5. <td><b>Zaloguj sie:</b></td>
  6. <td>Login:</td>
  7. <td><input type="text" name="login"></td>
  8. <td>Haslo:</td>
  9. <td><input type="password" name="pass"></td>
  10. <td><input type="submit" value="Zaloguj" name="logon"></td>
  11. <td>
  12. <input type="submit" value="Zarejestruj" name="regon">
  13. </td>
  14. </tr>
  15. </table>
  16. </div>
  17. </form>


Ten post edytował mag32 27.07.2010, 09:19:31
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: 6.07.2025 - 18:19