Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: logowanie php-mysql z wykorzystaniem sesji nie dziala
Forum PHP.pl > Forum > PHP
wojtek89
witam, napisałem kod logowania, mam utworzoną bazę bibioteka, w niej tablice uzytkownicy i utworzonego uzytkownika z hasłem. kod w przeglądarce wyświetla się prawidłowo ale przy próbie logowania nic sie nie dzieje, z powrotem pokazuje sie strona logowania z pustymi polami do wypełnienia...

bardzo proszę o pomoc, może ktoś z Was zauważy błąd, bo ja siedze nad tym bardzo długo i nic ...
oto kod:

<?php
session_start();

function checkPass($user,$pass)
{

//nawiazanie z baza
if (!$db_lnk=@mysql_connect("localhost", "root", "pass")){
echo ("problem z polaczeniem bazy");
return false;
}

if (!@mysql_select_db('bibioteka',$db_lnk)){
@mysql_close();
echo ("problem z wyborem bazy danych");
return false;
}

//zapytanie

$guery= "SELECT haslo FROM uzytkownicy WHERE nazwa='$user'";

if(!$result=mysql_guery($guery, $db_lnk)){
@mysql_close();
echo ("blad:nieprawidlowe zapytanie");
return false;
}

//bledna liczba wierszy

if(mysql_num_rows($result) !=1){
@mysql_close();
return false;
}

//odczyt wyników

if(!$row=mysql_fetch_rows($result)){
@mysql_close();
return false;
}

//sprawdzenie wyników

if($row[0]==$pass){
$result= true;
}
else {
$result= false;
}

@mysql_close();
return $result;
}
echo ("witaj");


if(isset($_SESSION['zalogowany'])){
header("Location: glowna.php");
exit();
}

else if(isset($_POST['user']) && isset($_POST['haslo'])){
if(checkPass($_POST['user'],$_POST['haslo'])){
$_SESSION['zalogowany']=$_POST['user'];
header("Location: glowna.php");
exit();
}
else{
$komunikat="Niepoprawne dane";
}
}

?>


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2">
<title> Logowanie </title>
</head>
<body>
<div>
<form action="http://localhost/fun.php" metod="post">
<?php
if(isset($komunikat)):
?>
<div><?php echo $komunikat; ?></div>
<?php
endif;
?>
<table border="0"><tr>
<td> Uzytkownik:</td>
<td>
<input type="text" name="user" />
</td>
</tr><tr>
<td>Haslo:</td>
<td>
<input type="password" name="haslo" />
</td>
</tr><tr>
<td colspan="2" align="center">
<input type="submit" name="ok" value="zaloguj" />
</td>
</tr></table>
</form>
</div>
</body>
</html>


Wazniak96
1. Oprawiaj kod w odpowiednie znaczniki.
2. Dlaczego upychasz wszystko w jedną funkcję check_pass??
3. Nie wiem według jakiego kursu szedłeś ale ja nie znam takiego czegoś jak mysql_guery. Co najwyżej mysql_query(query(ang.) - zapytanie), do tego według mnie dodawanie wszędzie uchwytu jest zbędne. smile.gif
4. Zainteresuj się PDO (ewentualnie MySQLi)
wizarts
Na początku skryptu daj


Daj znaczniki kodu, bo nie da się tego czytać :-)
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.