Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP] Rejestracja i Logowanie + Session
Forum PHP.pl > Forum > Przedszkole
Komarek
Witam
glownie chodzi mi tutaj o logowanie i jak to zrobic biggrin.gif

podesle plik rejestracji:

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  5. <title>Rejestracja</title>
  6. <link rel="stylesheet" type="text/css" href="css/reg.css"/>
  7. </head>
  8.  
  9. <body class="cialo">
  10. <form action="index.php" method="post">
  11. <table class="tabela">
  12. <tr>
  13. <td colspan="2">
  14. <p class="txt_naglowek">Numer1<span class="txt_maly"> Numer2</span></p>
  15. <p class="txt_sredni"> Numer3</p>
  16. <hr/>
  17. </td>
  18. </tr>
  19. <tr>
  20. <td style="width:55px;">
  21. <span class="txt_maly">Login:</span>
  22. </td>
  23. <td style="width:100%;">
  24. <input type="text" class="input_txt" name="login" maxlength="15"/>
  25. </td>
  26. </tr>
  27. <tr>
  28. <td>
  29. <span class="txt_maly">Email:</span>
  30. </td>
  31. <td>
  32. <input type="text" class="input_txt" name="mail" maxlength="30"/>
  33. </td>
  34. </tr>
  35. <tr>
  36. <td>
  37. <span class="txt_maly">Haslo:</span>
  38. <p></p>
  39. </td>
  40. <td>
  41. <input type="password" class="input_txt" name="pass" maxlength="15"/>
  42. <p></p>
  43. </td>
  44. </tr>
  45. <tr>
  46. <td colspan="2">
  47. <p class="txt_naglowek">Instrukcja</p>
  48. <p class="txt_maly">
  49. <br>
  50. Blebleble
  51.  
  52. </p>
  53.  
  54. </td>
  55. </tr>
  56. <tr>
  57. <td colspan="2">
  58. <input type="submit" class="input_button" name="akceptuje" value="Rejestracja"/>
  59. </td>
  60. </tr>
  61. </form>
  62. <form action="index.php" method="post">
  63. <tr>
  64. <td colspan="2">
  65. <p class="txt_naglowek">Zapomniales Hasla?</p>
  66. </td>
  67. </tr>
  68. <tr>
  69. <td>
  70. <span class="txt_maly">Email:</span>
  71. <p></p>
  72. </td>
  73. <td>
  74. <input type="text" class="input_txt" name="mail" maxlength="30"/>
  75. <p></p>
  76. </td>
  77. </tr>
  78. <tr>
  79. <td colspan="2">
  80. <input type="submit" class="input_button" name="przypomnij" value="Przypomnij"/>
  81. <p></p>
  82. </td>
  83. </tr>
  84. <tr>
  85. <td colspan="2">
  86. <a href="#reklama">Reklama</a><br/>
  87. </td>
  88. </tr>
  89. </table>
  90. </form>
  91. </body>
  92.  
  93. </html>
  94. <?php
  95. $mail = $_POST["mail"];
  96. $login = $_POST["login"];
  97. $pass = $_POST["pass"];
  98.  
  99. if (isset($_POST["akceptuje"])){
  100.  
  101. include_once 'dbconn.php';
  102.  
  103. $selecttab = "SELECT `username`,`email` FROM `aaa` WHERE `username`='$login'";
  104. $results = mysql_query($selecttab) or die(mysql_error());
  105. while($row = mysql_fetch_array($results)){
  106. extract($row);
  107. $dbnickname = $username;
  108. $dbemail = $email;
  109. }
  110.  
  111. if (strlen($dbnickname)==0 and strlen($dbemail)==0 and strlen($login)!=0 and strlen($mail)!=0 and strlen($pass)!=0){
  112.  
  113. $intotab ="INSERT INTO `aaa`(`username`, `password`, `email`) VALUES ('$login', '$pass', '$mail')";
  114. mysql_query($intotab) or die(mysql_error());
  115.  
  116. $message="Zostales zarejestrowany. Nick: ".$login.", haslo:".$pass;
  117. $title="Tytul Maila";
  118.  
  119. mail($mail, $title, $message);
  120. echo "<div>Dziekuje!<META HTTP-EQUIV='Refresh' CONTENT='2;URL=index.php'></div>";
  121.  
  122. }
  123. elseif(strlen($dbnickname)!=0 or strlen($login)==0 or strlen($mail)==0 or strlen($pass)==0){
  124.  
  125. echo "<div>Uzytkownik istnieje juz w bazie danych!<META HTTP-EQUIV='Refresh' CONTENT='1;URL=index.php'></div>";
  126.  
  127. }
  128. }
  129. elseif (isset($_POST["przypomnij"])){
  130.  
  131. include_once 'dbconn.php';
  132.  
  133. $selecttab = "SELECT `email`, `username`, `password` FROM `aaa` WHERE `email`='$mail'";
  134. $results = mysql_query($selecttab) or die(mysql_error());
  135. while($row = mysql_fetch_array($results)){
  136. extract($row);
  137. $dbemail = $email;
  138. $dbusername = $username;
  139. $dbpassword = $password;
  140. }
  141.  
  142. if (strlen($dbemail)!=0 and strlen($mail)!=0){
  143.  
  144. $message="Witaj ponownie! Twoj nick:".$dbusername.", haslo:".$dbpassword;
  145. $title="Mail";
  146.  
  147. mail($dbemail, $title, $message);
  148.  
  149. echo "<div>Haslo zostalo wyslane!<META HTTP-EQUIV='Refresh' CONTENT='2;URL=index.php'></div>";
  150.  
  151. }
  152. elseif(strlen($dbmail)==0 or strlen($mail)==0){
  153. echo "<div>Zly adres email!<META HTTP-EQUIV='Refresh' CONTENT='1;URL=index.php'></div>";
  154. }
  155. }
  156. ?>


i to ladnie dziala, umieszcza wszystko pieknie w mysqlu itp ale, ale logowanie nie dziala

Logowanie:
  1.  
  2. <?php
  3.  
  4.  
  5. if (isset($_POST['username']) and isset($_POST['password']) )
  6.  
  7. {
  8.  
  9. require('dbconn.php');
  10.  
  11. $username=mysql_real_escape_string(trim($_POST['username']));
  12.  
  13. $password=mysql_real_escape_string(trim($_POST['password']));
  14.  
  15. if ($username!="" and $password!="")
  16.  
  17. {
  18.  
  19. $password = sha1(md5($password));
  20.  
  21. $zapytanie="SELECT id FROM aaa WHERE username='$username' and password ='$password'";
  22.  
  23. $temp=mysql_query($zapytanie) or die("Wystąpił błąd");
  24.  
  25. $ile=mysql_num_rows($temp);
  26.  
  27. $temp=mysql_fetch_array($temp);
  28.  
  29. $id=$temp['id'];
  30.  
  31.  
  32.  
  33. if ($ile==1)
  34.  
  35. {
  36.  
  37. $_SESSION['user_id']=$id;
  38.  
  39. $_SESSION['username']=$username;
  40.  
  41. echo('Zostales zalogowany. ');
  42.  
  43. }
  44.  
  45. else echo ('Podales zle dane. Kliknij wstecz aby sprobowac ponownie.');
  46.  
  47. }
  48.  
  49. }
  50.  
  51. else{
  52.  
  53. ?>
  54.  
  55. <html>
  56.  
  57. <body>
  58.  
  59. <form action="login.php" method="post">
  60.  
  61. <strong>Nazwa konta:</strong><input name="username" type="text" value="" /><br>
  62.  
  63. <strong>Haslo:</strong><input name="password" type="password" value="" /><br>
  64.  
  65. <input type="submit" value="Zaloguj" />
  66.  
  67. </form>
  68.  
  69. </body>
  70.  
  71. </html>
  72.  
  73. <?php
  74. }
  75. ?>
  76.  


dodam ze nie jestem zaawansowany w php i nie mam zielonego pojecia co jest nie tak.
Wspieralem sie kilkoma skryptami logowania i rejestracji.

Proszę o pomoc.

p.s. przy uruchomieniu login.php i wpisaniu nie wazne jakich informacji, wyswietla sie pusta strona... sad.gif

Pozdrawiam, Komarek
nospor
if ($konto!="" and $password!="")
$password to ja widze ze ustawiasz, ale $konto nigdzie nie ma. Moze miales na mysli $username ?
Komarek
nie sadzilem ze tak szybko ktos odpowie, przepisujac kod na forum , zamienialem konto na username. o tym jednym zapomnialem i od razu edytowalem ale tak czy siak, nie w tym jest blad

add: wlasciwie to wyswietla sie informacja "Podales zle dane. Kliknij wstecz aby sprobowac ponownie.". nie zauwazylem bo kolor byl ten sam co tla

@down:

Proszę o pomoc niezmiernie... ;(

p.s. mam manie emotek ;/
nospor
no ale dlaczego na koniec pokazujesz mi jezyk? Miales blad w kodzie wiec zwrocilem ci na niego uwagę. Nie moja wina ze źle przepisujesz i jęzora mi nie musisz pokazywac.
lukaszgolder
A w którym miejscu przy rejestracji przepuszczasz password, przez SHA1 i MD5 ?
Komarek
zapomnialem o tym, dzieki wielkie !

btw jeszcze mam jeden bardzo prosty problem.

plik login.php , zaloguję się i odswieze strone i nie jestem zalogowany. W skrocie nie jest dla mnie to wymagane, ale jak mam to zrobic by strona np. zalogowany.php wymagala bycia zalogowanym?

Chodzi mi o to, automatycznie po zalogowaniu się, jestem przekierowany na jakas strone ktora pamieta to logowanie i ilekroc na nia wejde po zalogowaniu sie, bede juz zalogowany.

hm?

Pomocy ! haha.gif

edit:

samo to
  1. if(isset($_SESSION['user_id']))
  2.  
  3. echo "blebleble";

niestety nie wystarcza poniewaz gubi sesje i przy odswiezeniu automatycznie wyswietla pusta strone lub to co podam w 'else'...

sad.gif
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.