Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] rejestracja usera
Forum PHP.pl > Forum > Gotowe rozwiązania
dext
Witam, napisałem rejestracje użytkowników. Mam taki problem: hasla (w md5) do rejestracji trzymane sa w pliku dane.php Jak zrobic zeby przeszukiwalo caly ten plik dane.php w poszukiwaniu hasla bo obecnie dziala tylko ostatnie haslo (z ostatniej linijki) z tego pliku?

P.S moze mi ktos sprawdzic ten caly kod, bo jestem poczatkujacy i chyba nie wszystko jest poprawnie zapisane.

  1. <?php 
  2.  
  3. $datafile = 'data.txt'; 
  4. $datafile2 = 'dane.php'; 
  5.  
  6. if($_GET['action'] == 'signup') { 
  7.  
  8. if (empty($username) || empty($password) || empty($password2) || empty($name) || empty($email) || empty($sms)) { 
  9. die (&#092;"<BR>Nie wypełniłeś wszystkich pól formularza.<BR><BR><a href='javascript:history.back()' class=mailb>Wróć i 
  10.  
  11. popraw</a>&#092;"); 
  12.  
  13. } 
  14.  
  15. if (!eregi (&#092;"^([a-z0-9_]|-|.)+@(([a-z0-9_]|-)+.)+[a-z]{2,4}$\" , $email)) 
  16. die (&#092;"Nie podałe&para; adresu e-mail<BR><BR><CENTER><a href='javascript:history.back()' class=mailb>Wróć i 
  17.  
  18. popraw</a></CENTER>&#092;"); 
  19.  
  20.  
  21. $file = file($datafile2); 
  22. while(list(,$value)=each($file)){ 
  23. list($fname,$femail,$fpassword2,$fuser,$fpass,$blank)=explode('||n', $value);
  24.  
  25. if ($username==$fuser){ 
  26.  
  27. error_message('<BR><CENTER>Login został już zarejestrowany<BR><BR><a href=javascript:history.back() 
  28.  
  29. class=mailb>Wróć i popraw</a></CENTER>', $_POST['name'], $_POST['email'], $_POST['password2'], $_POST['username'], 
  30.  
  31. $_POST['password']); 
  32. } 
  33. } 
  34. if ($password != $password2){ 
  35. error_message('<CENTER><BR>Podane hasła nie s&plusmn; jednakowe<BR><BR><a href=javascript:history.back() class=mailb>Wróć i 
  36.  
  37. popraw</a></CENTER> ' , $_POST['name'], $_POST['email'], $_POST['password2'], $_POST['username'], $_POST['password']);
  38.  
  39.  } 
  40.  
  41. $file = file($datafile2); 
  42. while(list(,$value) = each($file))
  43. list($fpass2,$fwazn,$blank)=explode(&#092;"||\", $value); 
  44.  
  45. if(md5($sms) != ($fpass2)) { 
  46. error_message('Błąd hasla z SMS<BR><BR><a href=javascript:history.back() class=mailb>Wróć i popraw</a></CENTER> ' , 
  47.  
  48. $_POST['name'], $_POST['email'], $_POST['password2'], $_POST['username'], $_POST['password'], $_POST['sms']);  
  49. } 
  50. else 
  51. $fp = fopen($datafile, 'a'); 
  52. flock($fp, 2); 
  53. fwrite($fp, $_POST['name'] . '|' . $_POST['email'] . '|' . $_POST['password2'] . '|' . $_POST['username'] . '|' . 
  54.  
  55. $_POST['password'] . &#092;"|n\"); 
  56. flock($fp, 3); 
  57. fclose($fp); 
  58.  
  59. $body2 = &#092;"Nowy user zarejestrowany w Systemie rejestracji:rnrnLogin: \".$username.\"rnHasło: \".$password.\"rnKategoria: 
  60.  
  61. &#092;".$name.\"rnE-mail: \".$email; 
  62. mail('dext@pf.pl', 'Twoje dane rejestracyjne', $body2); 
  63.  
  64. if ($email) 
  65. { 
  66. $body = &#092;"Dziękuję za rejestracje na stronie. Oto dane Twojego 
  67.  
  68. konta:rnrnLogin: &#092;".$username.\"rnHasło: \".$password.\"rnKategoria: \".$name.\"rnE-mail: \".$email.\"rnrnProszę o 
  69.  
  70. zachowanie tych danych lub wydrukowanie tego e-maila.rnrnrnDExt&#092;"; 
  71. mail($email, 'Twoje dane rejestracyjne', $body); 
  72. }
  73.  
  74. ?>
  75. <TABLE BORDER=0 WIDTH=\"75%\"><TR><TD align=\"left\"><BR><BR> 
  76. Rejestracja zakończona pomy&para;lnie!<BR><BR> 
  77. Możesz teraz się <a href=\"user.php\">zalogować</a> używając następujących danych:<br><br>
  78. Login: <?php echo $username;?> <BR>
  79. Hasło: <?php echo $password;?> <BR>
  80. Kategoria: <?php echo $name;;?> <BR> 
  81. E-mail: <?php echo $email;?> <BR><BR><BR> 
  82. Na adres <?php echo $email;?> zostały wysłane powyższe dane.<br><br><br> 
  83. </body> 
  84. </html> 
  85. <?php 
  86. } else { 
  87. ?> 
  88. <html> 
  89. <head> 
  90. <title>Rejestracja</title> 
  91. <meta http-equiv=\"Content-Type\" content=\"text/html; charset=iso-8859-2\"> 
  92. <LINK REL=\"STYLESHEET\" TYPE=\"text/css\"> 
  93. </head> 
  94. <body topmargin=\"0\" leftmargin=\"0\" marginheight=\"0\" marginwidth=\"0\"> 
  95.  
  96. <FORM action=\"<?php echo $_SERVER['PHP_SELF']; ?>?action=signup\" method=\"post\"> 
  97. <TABLE BORDER=0 align=\"center\"><TR> 
  98.  
  99. <TD align=\"left\">Login: <INPUT class=\"txtstyle\" type=\"text\" name=\"username\"> </TD></TR><TR> 
  100. <TD align=\"left\">Hasło: <INPUT class=\"txtstyle\" type=\"password\" name=\"password\"> </TD></TR><TR> 
  101. <TD align=\"left\">Powtórz hasło: <INPUT class=\"txtstyle\" type=\"password\" name=\"password2\"> </TD></TR><TR> 
  102. <TD align=\"left\">Kategoria: <SELECT NAME=\"name\"> 
  103. <OPTION>kat1 
  104. <OPTION>kat2 
  105.  </SELECT></TD> </TR><TR> 
  106. <TD align=\"left\">E-mail: <INPUT class=\"txtstyle\" type=\"text\" name=\"email\"> </TD></TR><TR> 
  107. <TD align=\"left\">Hasło z SMS: <INPUT class=\"txtstyle\" type=\"text\" name=\"sms\"> </TD></TR><TR> 
  108. <TD align=\"CENTER>\"><INPUT class=\"button\" type=\"submit\" value=\"Rejestruj\"></TD></TR></TABLE> 
  109. </FORM> 
  110. </body> 
  111. </html> 
  112.  
  113. <?php 
  114. } 
  115. function error_message($message, $name, $email, $password2, $username, $password) { 
  116. ?> 
  117.  
  118. <html> 
  119. <head> 
  120. <meta http-equiv=\"Content-Type\" content=\"text/html; charset=iso-8859-2\"> 
  121. <LINK REL=\"STYLESHEET\" TYPE=\"text/css\"> 
  122. </head> 
  123. <body topmargin=\"0\" leftmargin=\"0\" marginheight=\"0\" marginwidth=\"0\"> 
  124.  
  125.  <?php echo $message;?> 
  126.  
  127. </body> 
  128. </html> 
  129.  
  130. <?php 
  131. exit; 
  132. } 
  133. ?>
Ive
plik wsadzasz w tablice ( $plik = file("dane.php"); ) i potem dajesz pętle:
  1. <?
  2. for($i=0;$i<count($plik);$i++) {
  3.  $cz = explode(&#092;"||\", $plik[$i];
  4.  if(md5($_POST['haslo'])==$cz[0) { //0 zależnie od sposobu zapisu hasła do pliku
  5. //jeśli się równa to coś tam;]
  6.  }
  7. }
  8. ?>

dopasuj to do swojego skryptu i będzie dobrze ;]
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-2024 Invision Power Services, Inc.