Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: PHP logowanie
Forum PHP.pl > Forum > PHP
plej
i znów smile.gif
Wrzucę pierw skrypty:
logowanie.php
  1. <?php
  2. $tytul = "Logowanie";
  3. include('naglowek.php');
  4. include('panel-logowania.php');
  5. include('menu-gora.php');
  6. include('menu-lewe.php');
  7. ?>
  8.  
  9. <div id="srodek">
  10. <div id="srodekt"></div>
  11. <div id="srodeks">
  12. <br/>
  13. <?php
  14. if (!isset($_SESSION['login'])) { // dostęp dla niezalogowanego użytkownika
  15.  
  16. if ($_POST['wyslane']) { // jeżeli formularz został wysłany, to wykonuje się poniższy skrypt
  17.  
  18. include 'db.php'; // połączenie się z bazą danych
  19. $tabela = 'uzytkownik'; // zdefiniowanie tabeli MySQL
  20.  
  21. $login = $_POST["login"];
  22. $haslo = $_POST["haslo"];
  23.  
  24. $haslo = md5($haslo); // szyfrowanie podanego hasła
  25.  
  26. $wynik=mysql_query("SELECT * FROM $tabela WHERE
  27. login='$login' and haslo='$haslo' and status=0");
  28.  
  29. // jeżeli użytkownik zarejestrował się, a nie aktywował swojego konta, to wyświetla się komunikat
  30. if (mysql_num_rows($wynik) == 1) {
  31. $informacja = mysql_fetch_array($wynik);
  32. echo '<p>Nie aktywowałeś jeszcze swojego konta. Aby to zrobić, wejdź w swoją skrzynkę odbiorczą, a następnie znajdź wiadmość z linkiem aktywacyjnym i aktywuj swoje konto</p>';
  33. }
  34.  
  35. // jeżeli wszystko jest dobrze, użytkownik się loguje
  36. $wynik=mysql_query("SELECT * FROM $tabela WHERE
  37. login='$login' and haslo='$haslo' and status=1");
  38.  
  39. if (mysql_num_rows($wynik) == 1) {
  40. $informacja = mysql_fetch_array($wynik);
  41. $_SESSION["login"] = $informacja["login"];
  42. header('Location: index.php');
  43. } else {
  44. echo '<p>Zostały wprowadzone nieprawidłowe dane</p>';
  45. }
  46. mysql_close($polaczenie);
  47. }
  48.  
  49.  
  50.  
  51. } else {
  52. header('Location: index.php'); // zalogowany użytkownik zostaje przekierowany na stronę główną
  53. }
  54.  
  55. if ($_GET["wylogowanie"] == "tak") {
  56. // niszczenie sesji użytkownika
  57. header('Location: index.php'); // przekierwanie na stronę główną
  58. }
  59. ?>
  60. <br/>
  61. </div>
  62. <div id="srodekb"></div>
  63. </div>
  64. <?php
  65. // mysql_query('SET NAMES \'utf8\'');
  66. include('prawa-strona.php');
  67. include('stopka.php');
  68. ?>


naglowek.php
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="pl" lang="pl">
  3. <head>
  4. <meta http-equiv="Content-type" content="text/html; charset=UTF-8" />
  5. <title>Klub F.C. Torpedo - <?php echo $tytul ?></title>
  6. <link rel="stylesheet" href="style.css" type="text/css"/>
  7. </head>
  8. <body>



Chodzi o to że przy zalogowaniu się wywala mi błędy
Cytat
Warning: Cannot modify header information - headers already sent by (output started at /homepages/19/d350229214/htdocs/footbool/example3/naglowek.php:5) in /homepages/19/d350229214/htdocs/footbool/example3/logowanie.php on line 44

ale i tak mnie zaloguje snitch.gif wystarczy że wtedy się kliknie na cośsmile.gif

a a jak sie wylogowuje to też wywala błędy:
Cytat
Warning: Cannot modify header information - headers already sent by (output started at /homepages/19/d350229214/htdocs/footbool/example3/naglowek.php:5) in /homepages/19/d350229214/htdocs/footbool/example3/logowanie.php on line 54

Warning: Cannot modify header information - headers already sent by (output started at /homepages/19/d350229214/htdocs/footbool/example3/naglowek.php:5) in /homepages/19/d350229214/htdocs/footbool/example3/logowanie.php on line 61



ale na localhoście wszystko działa dobrze ale już na serwerze nie:/
prubowałem to naprawić ale nic nie udało mi się wymyślićsmile.gif

to ta strona: http://www.fctorpedo.e-putana.pl

login: plejj
hasło: dddddd

jeśli o wygląd chodzi to nie moja działka haha.gif i nie moja strona haha.gif boo brat chciał tak to ma:)
ylk
Jeżeli wyślesz już cokolwiek do przeglądarki, nie możesz nadpisać nagłówka przy użyciu funkcji header. Wszystko masz napisane w opisie błędu - czemu nie czytasz?
Po zalogowaniu chcesz przekierować użytkownika na index.php:
  1. header('Location: index.php');

ale to nie zadziała, bo wcześniej includowałeś header.php, który wysłał html do przeglądarki - stąd ten błąd. Daj include("header.php") za wszystkimi operacjami związanymi z logowaniem i będzie śmigać.

P.S. Twój kod jest podatny na SQL injection i umożliwia logowanie bez podania hasła. Poczytaj choćby o mysql_real_escape_string().
nospor
Twój problem poruszany był milion razy. Wystarczyło zajrzeć do wyszukiwarki forum czy google
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.