Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Rejestracja i logowanie MYSQL
Forum PHP.pl > Forum > PHP
xgoneon
Witam mam otóż problem z Rejestarcją i Logowaniem do mojej strony/sklepu.
Problem bardziej pada na logowanie ponieważ zarejestrować się zarejestruję tylko już nie moge zalogować.
Oto kod Logowania:
  1. $conn = mysql_connect('xXx','XxX','XXX');
  2. if(!$conn)
  3. {
  4. echo '<h1> Error 400</h1><br />Bład: Wystąpił błąd połączenia z bazą danych.<br /> Rejestracja anulowana.<br />Proszę spróbować ponownie później.<br />Jeżeli komunikat się wyświetla od dłuższego czasu zgłoś to administratorowi.';
  5. }
  6. mysql_select_db('XxX') or die('<h1> Error 401</h1><br />Wystąpił błąd połączenia z bazą danych.<br /> Rejestracja anulowana.<br />Proszę spróbować ponownie później.<br />Jeżeli komunikat się wyświetla od dłuższego czasu zgłoś to administratorowi.');
  7.  
  8. if($_POST['ok'])
  9. {
  10. $login = $_POST['login'];
  11. $pass = $_POST['pass'];
  12. $pass=addslashes($pass);
  13. $login=addslashes($login);
  14. $login=htmlspecialchars($login);
  15. if($_GET['nick'])
  16. {exit;}
  17. if($_GET['pass'])
  18. {exit;}
  19. $pass = md5($pass);
  20. $istnick = mysql_fetch_array(mysql_query("SELECT * FROM `users` WHERE `nick` = '$login' AND `password` = '$pass'"));
  21. if ($istnick[0] == 0) {
  22. echo 'Logowanie nieudane. Sprawdź pisownię nicku oraz hasła.';
  23. } else {
  24. echo'Zostałeś zalogowany do sklepu.';
  25. $_SESSION['logged'] = true;
  26. $_SESSION['usr']=$login;
  27. header("Location: indeks.php");
  28. }
  29. }

Oto kod Rejestracji:
  1. if($_POST['ok'])
  2. {
  3. $conn = mysql_connect('XxX','xXx','XXX');
  4. if(!$conn)
  5. {
  6. echo '<h1> Error400</h1><br />Bład: Wystąpił błąd połączenia z bazą danych.<br /> Rejestracja anulowana.<br />Proszę spróbować ponownie później.<br />Jeżeli komunikat się wyświetla od dłuższego czasu zgłoś to administratorowi.';
  7. }
  8. mysql_select_db('xXx') or die('<h1> Error 401</h1><br />Wystąpił błąd połączenia z bazą danych.<br /> Rejestracja anulowana.<br />Proszę spróbować ponownie później.<br />Jeżeli komunikat się wyświetla od dłuższego czasu zgłoś to administratorowi.');
  9. $login = substr(addslashes(htmlspecialchars($_POST['user'])),0,32);
  10. $pass = substr(addslashes($_POST['pass']),0,32);
  11. $email = substr($_POST['email'],0,32);
  12. $login = trim($login);
  13. $gg = $_POST['gg'];
  14. $spr2 = mysql_fetch_array(mysql_query("SELECT * FROM users WHERE email='$email'"));
  15. $spr1 = mysql_fetch_array(mysql_query("SELECT * FROM users WHERE nick='$login'"));
  16. $spr3 = strlen($login);
  17. $spr4 = strlen($pass);
  18. $spr5 = strlen($email);
  19. $spr6 = strlen($gg);
  20. $komunikaty='';
  21. if($spr1 >=1){$komunikaty.='<p style="color:red; text-align:center;">-Ten login jest już zarejestrowany</p><br />';}
  22. if($spr2 >=1){$komunikaty.='<p style="color:red; text-align:center;">-Ten email jest już zarejestrowany</p><br />';}
  23. if($spr3 ==0){$komunikaty.='<p style="color:red; text-align:center;">-Nie podałeś loginu<br /></p>';}
  24. if($spr4==0){$komunikaty.='<p style="color:red; text-align:center;">-Nie podałeś hasła<br /></p>';}
  25. if($spr5==0){$komunikaty.='<p style="color:red; text-align:center;">-Nie podałeś emaila<br /></p>';}
  26. if($spr6==0){$komunikaty.='<p style="color:red; text-align:center;">-Nie podałeś nr. GG<br /></p>';}
  27. if($komunikaty)
  28. {
  29. echo '
  30. <p style="color:red; text-align:center;">Rejestracja nie powiodła się, popraw następujące błędy:</p<br />
  31. '.$komunikaty.'<br />';
  32. }else{
  33. $pass=md5($pass);
  34. $query="INSERT INTO users VALUES('$login','$pass','0','$email','$gg','0')";
  35. mysql_query($query)or die('Nie udało się zarejestrować spróbuj ponownie później.');
  36. echo'<p style="color:red; text-align:center;">Poprawnie zarejestrowałeś się do sklepu.<br /> Od teraz możesz dokonywać zakupu.<br />Teraz zaloguj się do sklepu.<br /></p>';
  37. if(mail($email, 'Rejestracja do sklepu PolishSurvivalMod', 'Zostałeś zarejestrowany jako:
  38. Nick: '.$nick.'
  39. Hasło: '.$_POST['pass'].'
  40. Email: '.$email.'
  41. GG: '.$gg.'
  42. Dziękujemy za rejestrację.
  43. Zapraszamy do zakupów.', 'From: administracja@sklep.polishsm.ugu.pl')){echo'<p style="color:green; text-align:center;">Na twoją skrzynkę została wysłana wiadomość.<br /> Otwórz ją, aby zobaczyć co ewentualnie wygrałeś<br /></p>';}
  44. }
  45. }


Proszę o pomoc sad.gif
Mackos
Nie przyglądałem się szczególnie ale czy przy logowaniu nie powinno być tak:
  1. if (count($istnick)>0) {
  2. logowanie udane
  3. } else {
  4. logowanie nieudane
  5. }

Poza tym filtruj wszystkie posty bo na tym co pokazałeś masz włam murowany.
Do tego funkcje mysql_ są zdeprecjonowane, więc w ogóle lepiej ich nie używać.
xgoneon
Dobrze spróbuje.

A do czego suży Zapytanie SELECT * nie wiem do czego to służy SELECT i ta *
kujol
SELECT * oznacza wybrać wszystkie pola z tabeli

to np.

SELECT punkty oznacza wybierz wszystkie pola z punkty
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.