Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]logowanie i rejestracja
Forum PHP.pl > Forum > Przedszkole
mag32
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.
!*!
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>
Barcelona
Dokładnie, musiałem pare razy przeczytać żeby troche ogarnąć problem. Koledze chyba chodzi właśnie o to żeby zrobić link do rejestracji.
mag32
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. ?>
PanGuzol
http://php.net/manual/en/reserved.variables.get.php chyba tego potrzebujesz haha.gif
!*!
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

mag32
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ąć.
muk4
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ąć?
everth
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())
mag32
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>
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.