Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]Problem z formularzem logowania
Forum PHP.pl > Forum > Przedszkole
mefistofeles
  1. <center>
  2. <form action="logowanie.html" method="post">
  3. <table width="200" border="0">
  4. <tr align="center">
  5. <td>
  6. <B>Login:</B> <input type="text" name="login" size="18" /><BR><BR>
  7. <B>Hasło:</B> <input type="password" name="pass" size="18" /><BR><BR>
  8. <input id="submit" class="buttonlog" type="submit" value="Zaloguj" />
  9. </TD>
  10. </TR>
  11. </table>
  12. </form>
  13. </center>';
  14.  
  15.  
  16.  
  17.  
  18.  
  19.  
  20. $loginn = $_POST['login'];
  21.  
  22.  
  23.  
  24. if ($loginn!='')
  25.  
  26.  
  27. {
  28. $qrry = "INSERT INTO test (login) VALUES ('$loginn');";
  29. $ans = mysql_query($qrry);
  30.  
  31. echo 'DODANO';
  32. }
  33.  
  34. else {echo 'LIPA';}



Chcę zapisać w bazie logowania użytkowników jednak powyższy skrypt dodaje mi rekordy
tylko i wyłącznie wtedy jak wpisze zły login lub hasło.
Wtedy pojawia się prośba o ponowne wpisanie i napis DODANO, jeśli jednak wpisze dobry login i haslo
lub uzuje tego zapamietanego w przegladarce to żaden napis się nie pojawia i nic się nie dodaje do bazy ?

O co chodzi ?
Kshyhoo
if ($loginn!='') a co to?
mefistofeles
... jeśli login nie jest pusty, czyli było coś wpisane to wykonuje się instrukcja w nawiasach.
Kshyhoo
Nie kumam tego... Chcesz się zalogować, czy zapisać w bazie zalogowanie się usera?
mefistofeles
Zapisać w bazie. I ogólnie to działa jak się poda jakieś złe dane ale jak siępoda dobre to się nie zapisuje.
Nie wiem o co come on.
Kshyhoo
Napiszę Ci, jak ja rejestruję zalogowanych. Prześledź sobie u dostosuj do swoich potrzeb.
Tabela userów:
  1. CREATE TABLE `zalogowani` (
  2. `login` varchar(50) NOT NULL,
  3. `data` datetime NOT NULL,
  4. PRIMARY KEY (`login`)
  5. )

I teraz, po zalogowaniu usera:
  1. $_SESSION['login']=$login;
  2. if (mysql_connect($sql_serwer, $sql_login, $sql_haslo)
  3. and mysql_select_db($sql_baza)) {
  4. mysql_query("INSERT INTO $sql_tabela SET login='{$_SESSION['login']}', data=NOW()");
  5. }

Jeżeli się wylogowuje:
  1. if (mysql_connect($sql_serwer, $sql_login, $sql_haslo)
  2. and mysql_select_db($sql_baza)) {
  3. mysql_query("DELETE FROM $sql_tabela WHERE login='{$_SESSION['login']}'");
  4. }

Teraz sprawdzasz na każdej stronie:
  1. if ($_SESSION['login']) {
  2. if (mysql_connect($sql_serwer, $sql_login, $sql_haslo)
  3. and mysql_select_db($sql_baza)) {
  4. mysql_query("REPLACE INTO $sql_tabela SET login='{$_SESSION['login']}', data=NOW()");
  5. }
  6. }

A tak możesz wyświetlić zalogowanych:
  1. if (mysql_connect($sql_serwer, $sql_login, $sql_haslo)
  2. and mysql_select_db($sql_baza)) {
  3. mysql_query("DELETE FROM $sql_tabela WHERE data<DATE_SUB(NOW(),INTERVAL 15 MINUTE)"); // w ciągu 15 minut
  4.  
  5. $wynik = mysql_query("SELECT * FROM $sql_tabela ORDER BY login");
  6. if ($wynik) {
  7. echo "zalogowani: ";
  8. while($dane=mysql_fetch_assoc($wynik)) {
  9. if (++$i>1) echo ", ";
  10. echo "{$dane[login]}";
  11. }
  12. }
  13. }
majestiq
Chodziło mi bardziej o jakiś 'malfunction' u mnie, ale dzięki
za posta bo na pewno się przyda.

// EDIT

Przez przypadek zdradziłem mój mały sekret winksmiley.jpg))
Kshyhoo
Cytat(majestiq @ 15.01.2010, 02:59:24 ) *
Przez przypadek zdradziłem mój mały sekret winksmiley.jpg))

Nie bardzie wiem, o czym piszesz ;P
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.