Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: logowanie hmmmmm :|
Forum PHP.pl > Forum > Bazy danych > MySQL
KRCreater
Dlaczego, jak podam w polu formularza login który nieistnieje to nic się nie dzieje a powinno przechodzić headerem do strony index.php ??? SKTYP WYGLĄDA TAK:
[php:1:c38b0a9200]<?php

require("config.php");

//POCZATEK SESJI


# Inicjujemy funkcje z ktorej bedziemy pózniej korzystac:)
session_start(); # inicjowanie sesji (musimy tutaj, bo inaczej wywala błędy:(
session_name(underpoznan); # sesja otrzyma nazwę Twojej strony:)



# w tym pliku są zmienne potrzebne do łaczenia się z baza danych
require("news/config_news.php");


$db=mysql_connect("$host", "$sql_login", "$sql_pass") or die("Nie można się połączyć z serwerem"); # łaczenie się z bazą danych
mysql_select_db("$baza", $db) or die("Problem z łączeniem się z bazą danych :("); # jeżeli występują problemy to przerywa skrypt
$sql="SELECT * FROM user_lista WHERE user_name = '$login'"; # zapytanie do mysql o wyswietlenie komórki USER_NAME w której figuruje zmienna $login
$result=mysql_query($sql);
while($row = mysql_fetch_array($result))
{
$user_pass=$row["user_pass"]; # tutaj definiujemy komorki ;)
$user_name=$row["user_name"]; # $zmienna_używana_w_skrypcie=$komórka["nazwa_komórki_ze_sql"];
$ban=$row["ban"];
$admin=$row["admin"];

if ($user_name == "" || ($login != $user_name) || ($haslo != $user_pass)) # jeżeli hasło / login się nie zgadzają
{

header("Location: index.php"); # pokazuje "Zly login/pass" oraz logowanie (z wczesniej zadeklarowanej funkcji:)

} else { # w innym przypadku (tj. login i pass są prawdziwe)
session_register("login"); # rejestrowanie w sesji "loginu", "ban" (czy gostek ma bana czy nie :P"
session_register("haslo");
session_register("ban"); # jeżeli chcesz, to mozesz zarejestrować w sesji więcej rzeczy, wystarczy wpisuwać "session_register(rzecz)"
session_register("admin");
header("Location: index.php");
if ($ban == 1) # jeżeli user ma bana to ....
{
echo("Masz bana. <br> <pre> Error 403 <br> Brak dostępu do zasobów </pre>");
} else { # jeżeli nie ma bana to pokazuje mu się index.php
header("Location: index.php"); # SID = Session ID (takie cosik w adresie :P
echo("Jeżeli Ci się nie wyświetliła strona kliknij <a href="index.php">tutaj</a>");
}
exit(); # koniec :)
}
}

//KONIEC SESJI
?>[/php:1:c38b0a9200]
DeyV
jeśli zamierza sie korzystać z kolorowania skłądni na forum lepiej nie zaznaczać boksa Wyłącz BBCode w tym poście winksmiley.jpg
KRCreater
Sorry tongue.gif
Dokładnie w 29 wierszu coś jest nietak albo jest tak że bybiera linię której nie ma z tabeli tylko jak to sprawdzić ?
itsme
i jeszcze jedno info fajnie by bylo gdyby temat Twojego posto rowniez wskazywal na problem hmmmmmmmmmm
zombie
Przede wszystkim nie rozumiem po co Ci pętla while, skoro masz tylko jeden rekord pobrany z tabeli...
Jeśli chcesz się dowiedzieć gdzie jest problem, najprościej wstawić w kilka miejsc echo(). Na początek po query sprawdź jakie dane zostały pobrane z tabeli.
KRCreater
Dzięki to wszystko przez tą pętlę biggrin.gif Dzięki :-)
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.