Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [HTML][PHP]Formularz rejestracji i logowania bez bazy danych
badowl
post 27.07.2011, 21:46:08
Post #1





Grupa: Zarejestrowani
Postów: 62
Pomógł: 0
Dołączył: 18.07.2011

Ostrzeżenie: (0%)
-----


Witam mam pewien problem. To treść zadania z książki którą czytam:

"Napisz program, który zapyta użytkownika nazwę użytkownika oraz hasło.
(...)Nazwa użytkownika oraz nowe hasło powinny być przechowywane w pliku o nazwie
db.password. Następnie Utwórz program PGP pytający o nazwę użytkownika oraz hasło
i wpuszczający użytkownika tylko wtedy, gdy poda on prawidłowe dane.
Jeśli dane uwierzytelniające będą prawidłowe należy wyświetlić zawartość pliku datebook."

Plik index.php:
  1. <?php
  2. if (isset($_POST['submit'])){
  3. $login = $_POST['login'];
  4. $pass = $_POST['pass'];
  5. $pass1 = $_POST['pass1'];
  6. if($pass === $pass1){
  7. $filename = "$_SERVER[DOCUMENT_ROOT]/file/bd.password";
  8. $file = fopen($filename, 'r+');
  9. $nowy = $login . " " . $pass . "\r\n";
  10. $filehandle = fopen($filename, 'ab');
  11. fwrite($filehandle, $nowy, strlen($nowy));
  12. print " rejstracja powiodła się! za 2 sekund zostaniesz automatycznie przekierowany do strony logowania.";
  13. header("Refresh: 2; URL=index2.php");
  14. }
  15. else{
  16. echo "Podane hasła muszą być identyczne!";
  17. header("Refresh: 2; URL=index.php");
  18. }
  19. }
  20. else {
  21. ?>
  22. Jeśli nie masz konta utwórz je!
  23. <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method='post'>
  24. login
  25. <input type="text" name="login" /> <br />
  26. hasło
  27. <input type="password" name="pass" /> <br />
  28. powtórz hasło
  29. <input type="password" name="pass1" /> <br />
  30. <input type="submit" name="submit" value="rejestruj" />
  31. </form>
  32. Jeśli masz już konto kliknij <a href="index2.php">tutaj</a> aby sie zalogować.
  33. <?php
  34. }
  35. ?>


Plik index2.php
  1. <?php
  2. if (isset($_POST['submit'])){
  3. $login = trim($_POST['login']);
  4. $pass = trim($_POST['pass']);
  5. $password = "$_SERVER[DOCUMENT_ROOT]/file/bd.password";
  6. $list = file($password);
  7. $count = 0;
  8. foreach($list as $key => $val){
  9. $log = explode(' ', $val);
  10. if(strcasecmp($login, $log[0]) == 0 && strcasecmp($pass, $log[1]) == 0){ //// PRAWDOPODOBNIE COŚ TU JEST ŹLE.
  11. $filename = "$_SERVER[DOCUMENT_ROOT]/file/datebook";
  12. $text = file_get_contents($filename);
  13. echo $text;
  14. $count++;
  15. }
  16. }
  17. if($count == 0){
  18. print "Użytkownik $login nie istnieje w bazie! Zarejstruj się!";
  19. }
  20. }
  21. else {
  22. ?>
  23. Wpisz nazwę użytkownika i hasło.
  24. <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method='post'>
  25. login
  26. <input type="text" name="login" /> <br />
  27. hasło
  28. <input type="password" name="pass" /> <br />
  29. <input type="submit" name="submit" value="loguj" />
  30. </form>
  31. <?php
  32. }
  33. ?>


Zawartość pliku db.password
Kod
uzytkownik1 haslo1
uzytkownik2 haslo2


Zawartość pliku datebook:
Kod
Imie Nazwisko dd\mm\rrrr Adres
Imie2 Nazwisko2 dd\mm\rrrr Adres2


Wie ktoś na czym polega błąd?
Pozdrawiam smile.gif
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 6.07.2025 - 21:57