Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] problem z zalogowaniem :/
Forum PHP.pl > Forum > Przedszkole
scretch
Witajcie :roll2:

mam pewien plik rejestracja.php

  1. <?php
  2.  
  3. function info($s)
  4. {
  5.  echo $s;
  6. }
  7.  
  8. function sprawdz(){
  9.  
  10. $plik = file("private/login.php");
  11. $ile = count($plik);
  12.  
  13. for($i=0;$i<$ile;$i++)
  14. {
  15. $tab = explode("|",$plik[$i]);
  16. if ($_POST['login'] == $tab[0]){
  17. echo "Podany login już istnieje";
  18. }
  19.  
  20. }
  21. }
  22.  
  23. if (isset($_POST['login']))
  24. {
  25.  
  26.  $blad='';
  27.  
  28. sprawdz();
  29.  
  30.  if ($_POST['haslo'] != $_POST['check_haslo']) $blad='Podano złe hasło!';
  31.  
  32.  if (! ereg ("^.+@.+..+$", $_POST['email'])) $blad='Podaj poprawny adres e-mail!';
  33.  
  34.  if ($blad!='') info($blad);
  35.  else {
  36.  
  37. $plik=fopen('private/login.php','a');
  38. fputs($plik,$_POST['login']);
  39. fputs($plik,"|");
  40. fputs($plik,$_POST['haslo']);
  41. fputs($plik,"|");
  42. fputs($plik,$_POST['email']);
  43. fputs($plik,'<br>');
  44. fclose($plik);
  45.  
  46. info('Użytkownik został poprawnie zarejestrowany.');
  47. return;
  48.  }
  49. } else
  50. {
  51. $_POST['login']='';
  52. $_POST['haslo']='';
  53. $_POST['check_haslo']='';
  54. $_POST['email']='';
  55. }
  56. ?>
  57.  
  58. <form action="rejestracja.php" method=post>
  59.  
  60. <b>Login:</b>&nbsp;
  61. <input type="text" name="login" size=25 style="font-family: Verdana, Arial; font-size: 11px" value="<?php echo $_POST['login']; ?>" /><br>
  62.  
  63. <b>Hasło:</b>&nbsp;
  64. <input type="password" name="haslo" size=25 style="font-family: Verdana, Arial; font-size: 11px"><br>
  65.  
  66. <b>Potwierdź hasło:</b>&nbsp;
  67. <input type="password" name="check_haslo" size=25 style="font-family: Verdana, Arial; font-size: 11px"><br>
  68.  
  69. <b>Adres E-mail:</b>&nbsp;
  70. <input type="text" name="email" size=25 style="font-family: Verdana, Arial; font-size: 11px" value="<?php echo $_POST['email']; ?>" /><br>
  71.  
  72. <input type="submit" style="FONT-FAMILY: verdana, arial, geneva; FONT-SIZE: 9pt" name="submit" value="Rejestruj">
  73.  
  74. </form>


i logowanie.php

  1. <?php
  2.  
  3. $plik = file("private/login.php");
  4. $ile = count($plik);
  5.  
  6. for($i=0; $i<$ile; $i++){
  7. $tab = explode("|",$plik[$i]);
  8. if ($tab[0] ==$_POST['login']){
  9. if ($tab[1] == $_POST['haslo']){
  10. require "jakas_strona.php";
  11. }
  12. else echo "Złe hasło";
  13. }
  14. else
  15. echo "Nie ma takiego loginu";
  16. }
  17. ?>


I teraz tak:

- Jak zarejestruje się pierwszy user to ok.. zalogować się może.. ale jak zarejestruje się drugi user to on zalogowac sie już nie może

Wiem, że pewnie chodzi coś z "|" (chyba), ale nie wiem jak to naprawić?

Proszę o pomoc

+ Plus mam pytanie jak zabezpieczyć plik login.php przed zwykłymi userami.. myślałem, aby dawać nowych userów między znacznikami <? i ?>, ale coś mi nie wychodziło więc proszę o radę jak to zrobić


chciałbym dodać że plik z danymi wygląda tak:

Cytat
login|haslo|e-mail
login2|haslo|e-mail
nospor
Ja bym ci teraz proponowal zajrzec do tego pliku z loginami. Dziwne ze do tej pory tego nei zrobiles a bys wiedzial co masz źle. Twoj plik wyglada przykladadow otak:
Kod
login|haslo|e-mail<br>login2|haslo|e-mail

a nie tak jak ty pokazales, ze jeden user to jedna linia smile.gif musze cie rozczarowac: <br> nie jest nowa linia w pliku. nowa linia jest \n
no i czemu ten plik ma rozszerzenie .php ? toz to plik tekstowy a nie zaden skrypt
scretch
dzięki za pomoc, działa biggrin.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.