Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Problem ze skryptem logowania
Forum PHP.pl > Forum > PHP
benq20
Witam właśnie chciałem zrobić opcję logowania na mojej stronie internetowej i ponieważ pierwszy raz ro bie system logowania zkorzystałem z gotowego skryptu tyle że go troche zmodyfikowałem na włsane potrzeby.
oto on:
  1. mysql_connect("localhost","root","");
  2. mysql_select_db("bazaam");
  3. $login=isset($_SESSION["login"])?$_SESSION["login"]:mysql_escape_string($_POST["login"]);
  4. $haslo=mysql_escape_string(md5($_POST["pas"]));
  5. $zapytanie=mysql_query("SELECT * FROM uzytkownicy WHERE imie='$login'");
  6. $dane=mysql_fetch_array($zapytanie);
  7. if(isset($_POST['login']) && isset($_POST['pass'])) {
  8. if($login ==''.$dane['imie'].'' && $haslo ==''.$dane['haslo'].'')
  9. {
  10. $_SESSION['admin']='ok';
  11. $_SESSION['login']=''.$dane['login'].'';
  12. setcookie("log" , "log", time()+3600, "/","", 0);
  13. header('Location: index.php');
  14. }
  15. else{
  16. echo "Źle wprowadzone dane sprobuj ponownie";
  17. echo "<a href='index.php'>wruc</a>";}}


Jednak gdy wpisuje login i hasło login to imie uzytkownika z bazy mysql a haslo to haslo podane podczas rejestracji to wyświetla sie pusta strona.
jeszcze podam że dalszą część kodu dopisałem do pliku do którego przekierowuję czyli index.php
oto ona:
  1. if($_SESSION['admin'] == 'ok' && isset($_COOKIE['log']))
  2. {
  3. echo"<div id='log'>".$_SESSION['login']."<hr><a href='?p=wyloguj'>Wyloguj</a></div>";
  4. if ($_GET['p']=='wyloguj') {
  5. setcookie("log" , "log", time()-3600, "/","", 0);
  6. echo"<div id='log'><a href='rejestracja.php'>Rejestracja</a></br><hr><a href='logowanie.php'>Logowanie</a></br></div>";}}
  7. if(!isset($_SESSION['admin']) && !isset($_SESSION['login']) && $_SESSION['admin'] != 'ok' && !isset($_POST['submit']) && $_GET['p']!='wyloguj' && !isset($_COOKIE['log']))
  8. {echo"<div id='log'><a href='rejestracja.php'>Rejestracja</a></br><hr><a href='logowanie.php'>Logowanie</a></br></div>";}?>

Więc proszę o pomoc bo już naprawde nie wiem gdzie popełniłem błąd.
Smertius
Tak na pierwszy rzut oka
Linia 6, nie powinno być czasem $_POST['pass'] zamiast $_POST['pas']?

Jeszcze jedno, co to jest za jakiś dziwny zapis ''.$dane['login'].''; questionmark.gif

Masz włączone wyświetlanie błędów?
benq20
Dobra już se poradziłem działa wszystko poprawnie dieżki za pomoc troche pomyliłemzmienne miałeś rację.
Mam jednak takie pytanie bo ja zrobiłem strone w ajax i wszystko się wczytuje bez zmienianie strony czyli na index.php
Ale jak bym zrobił stronę bez Ajaxu to po wczytaniu następnej strony sesja znika to jak to niby trzeba było zrobić że sesja jest cały czas do puki sam jej nie zniszczęquestionmark.gif?
Kostek.88
Jeśli dobrze Cię zrozumiałem... na samym początku każdej strony daj session_start(); ale koniecznie przed jakimkolwiek kodem!

Np.
  1. <?php
  2.  
  3. // reszta kodu
  4. ?>
  5. <html>
  6. <!-- bla bla bla -->
  7. </html>
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.