15-11-2010, 15:52
(28-10-2010, 14:34)swinia napisał(a): W miejscu gdzie jest komunikat o nieprawidłowych danych wklej
header("location:rejestracja.php");
a jakie masz kodowanie w meta??
jak masz ustawione rodzaj kodowania w swoim edytorze?
Witam,
jakiś czas temu pisałam o moim problemie ze skryptem rejestracji i logowania. Mój problem jest następujący. Musiałem przebudować stronkę i na stronie mam index.php mam zaincludowany skrypt logowania - ukazuje się jako pierwszy, a dopiero jak logowanie nie jest prawidłowe, to powinien włączyć się formularz rejestracji. U mnie nie działa skrypt logowania i nie mam pojęcia, dlaczego. Pokazuje mi się taki błąd:
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /logowanie.php:9) in /logowanie.php on line 11
Zostały wprowadzone nieprawidłowe dane. Musisz się zarejestrować.
Warning: mysql_close(): supplied argument is not a valid MySQL-Link resource in /logowanie.php on line 46
A oto skrypt logowania:
Kod PHP:
session_start(); // rozpoczÄ_cie sesji
if (!isset($_SESSION['login'])) { // dostÄ_p dla niezalogowanego uĹźytkownika
if ($_POST['wyslane']) { // jeĹźeli formularz zostaĹ_ wysĹ_any, to wykonuje siÄ_ poniĹźszy skrypt
include 'db.php'; // poĹ_Ä_czenie siÄ_ z bazÄ_ danych
$tabela = 'uzytkownik'; // zdefiniowanie tabeli MySQL
$login = $_POST["login"];
$haslo = $_POST["haslo"];
$haslo = md5($haslo); // szyfrowanie podanego hasĹ_a
$wynik=mysql_query("SELECT * FROM $tabela WHERE
login='$login' and haslo='$haslo' and status=0");
// jeĹźeli uĹźytkownik zarejestrowaĹ_ siÄ_, a nie aktywowaĹ_ swojego konta, to wyĹ_wietla siÄ_ komunikat
if (mysql_num_rows($wynik) == 1) {
$informacja = mysql_fetch_array($wynik);
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>';
exit;
}
// jeĹźeli wszystko jest dobrze, uĹźytkownik siÄ_ loguje
$wynik=mysql_query("SELECT * FROM $tabela WHERE
login='$login' and haslo='$haslo' and status=1");
if (mysql_num_rows($wynik) == 1) {
$informacja = mysql_fetch_array($wynik);
$_SESSION["login"] = $informacja["login"];
header('Location: index.php ');
} else {
echo '<p>Zostały wprowadzone nieprawidłowe dane. Musisz się zarejestrować.</p>';
}
mysql_close($polaczenie);
}
// tworzenie formularza HTML
echo <<< KONIEC
<center>
<form action="logowanie.php" method="post">
<input type="hidden" name="wyslane" value="TRUE" />
Login: <input type="text" name="login" />
<br>
Hasło:<input type="password" name="haslo" />
<br>
<br>
<input type="submit" value="Zaloguj się" />
</form>
</center>
KONIEC;
} else {
header('Location: / '); // zalogowany uĹźytkownik zostaje przekierowany na stronÄ_ gĹ_ĂłwnÄ_
}
if ($_GET["wylogowanie"] == "tak") {
// niszczenie sesji uĹźytkownika
session_unset();
session_destroy();
header('Location: / '); // przekierwanie na stronÄ_ gĹ_ĂłwnÄ_
}