Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]Poszukuje skryptu logowania i rejestracji
Forum PHP.pl > Forum > Przedszkole
flaq1991
Witam poszukuje skryptu logowania i rejestracji chodzi mi o prosty skrypt w którym jest login i hasło i najważniejsze aby była tam opcja strony tylko dla zalogowanych znalazłem na google ten pierwszy od góry... co działa na sesjach ale z nim chyba coś jest bo zrobiłem wszystko jak powinienem i strona dla zalogowanych nie działała tylko wyswietlała komunikat ze uzytkownik o podanym id nie istnieje a istniał bo w bazie go miałem ... z góry dziękuje za pomoc
Damonsson
http://www.phpclasses.org/ szukajcie, a znajdziecie
flaq1991
Przeanalizowałem większosc skryptów i doszedłem do wniosku że to chyba coś odemnie przy każdym skrypcie rejestracji wywala mi błąd
  1. Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /ooo/ooo/oooo/rejestracja.php:8) in /ooo/ooo/ooo/rejestracja.php on line 102
Linia numer 102 to ten kawałek kodu
Dlaczego tak sie dzieje ? jak mógłbym to naprawić ? skoro u mnie jest taki błąd to będzie on widoczny u wszystkich tak ?
Damonsson
Prawdopodobnie 2 razy deklarujesz session_start() w linii 8 i 102, zazwyczaj session_start() daje się na początku pliku, więc to ze 102 jest zbędne, choć nie wiem jak to wygląda u Ciebie.
flaq1991
Skrypt wygląda następująco i nie deklaruje go dwa razy bo mam tylko w tym skrypcie seesion_start(); oto kod skryptu :

  1. <?php
  2. session_start(); // rozpoczynamy sesję
  3. require_once('config.php'); // łączymy z bazą danych
  4. ?>
  5. <form action="rejestracja.php" method="post">
  6. <!-- wyświetlanie formularza rejestracji - start -->
  7. <table>
  8. <tr>
  9. <td>Login<font color="red">*</font>:</td>
  10. <td>
  11. <input type="text" name="login" value="">
  12. </td>
  13. </tr>
  14. <tr>
  15. <td>E-mail<font color="red">*</font>:</td>
  16. <td>
  17. <input type="text" name="email" value="">
  18. </td>
  19. </tr>
  20. <tr>
  21. <td>Hasło<font color="red">*</font>:</td>
  22. <td><input type="password" name="password" value=""></td>
  23. </tr>
  24. <tr>
  25. <td>Powtórz hasło<font color="red">*</font>:</td>
  26. <td>
  27. <input type="password" name="password2" value="">
  28. </td>
  29. </tr>
  30. <tr>
  31. <td>
  32. <input type="submit" name="submit" class="button" value="Zarejestruj" />
  33. </td>
  34. </tr>
  35. </table>
  36. <!-- wyświetlanie formularza rejestracji - koniec -->
  37. </form>
  38. <p>Pola oznaczone <strong><font color="red">*</font></strong> <strong>muszą</strong> zostać wypełnione!</p>
  39. <?php
  40. if (isset($_POST['submit']))
  41. {
  42. if(!$_POST['login'] || !$_POST['password'] || !$_POST['password2'] || !$_POST['email']) // sprawdzamy czy wszystkie pola zostały wypełnione...
  43. {
  44. echo 'Nie wszystkie pola zostały wypełnione!<br/>'; // jeżeli nie to wywala komunikat...
  45. }
  46. /* jeżeli tak, to dodaje użytkownika do bazy danych */
  47. else {
  48. if ($_POST['password']==$_POST['password2']) // sprawdza czy hasła zgadzają się
  49. {
  50. $user = mysql_real_escape_string (trim($_POST['login']));
  51. $email = $_POST['email'];
  52. $pass = sha1(mysql_real_escape_string (trim($_POST['password'])));
  53. $zapytanie = "INSERT INTO `users` (`login`,`email`,`haslo`)
  54. VALUES ('$user','$email','$pass')";
  55. mysql_query($zapytanie) or die("Wystąpił błąd" );
  56. echo "Konto <b>$user</b> założono pomyślnie!<br />
  57. Przejdź do <a href='login.php'>strony logowania</a>.";
  58. }
  59. else echo ('Podane hasła różnią się.<br/>
  60. <a href="rejestracja.php">Powrót</a>');
  61. }
  62. }
  63. ?>
Kshyhoo
Dajesz kod, który ma 65 linijek a błąd jest w 102 - nic więc dziwnego. Pewnie inkludujesz plik, w którym ponownie startujesz ze sesją.
I z takim czymś na forum!?
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.