12-06-2011, 22:22
Kiedy się loguje to pisze ze nie istnieje czyli jest else. Jest to powodem kodowania md5, gdyż jak usune to kodowanie to na innym koncie nie zahashowanym mi się zalogowuje nie wiem czemu niechce mi to chodzić.
I co mi radzicie zrobić, żeby w innych funkcjach dało się używać id tego usera bo jak daje w func.php global $id to mi w innych funkcjach nie działa. Dlaczego?
To jest moje logowanie:
To jest mój func.php:
I co mi radzicie zrobić, żeby w innych funkcjach dało się używać id tego usera bo jak daje w func.php global $id to mi w innych funkcjach nie działa. Dlaczego?
To jest moje logowanie:
Kod:
<table>
<form id="login" action="login.php" method="POST">
<tr><td>Login: </td><td><input type="text" name="email"/><br/></td>
<td>Haslo: </td><td><input type="password" name="password"/></td><br/>
<td><input type="submit" name="submit" class="text" value="Loguj"/></td></tr>
</form>
</table>
Kod PHP:
<?php
session_start();
include ("func.php");
$row = get_user($_POST['email'],$_POST['password']);
if ($row)
{
$_SESSION['id'] = $row['email'];
$_SESSION['username'] = $row['name'];
header("Location: postac.php");
exit;
}
else
{
echo "NIe istnieje";
}
?>
To jest mój func.php:
Kod PHP:
<?php
function db_connect()
{
$conn = mysql_connect("localhost","kamil","kamilw1");
if (!$conn)
{
echo mysql_error();
exit;
}
if (!$db = mysql_select_db("kalorie"))
{
echo mysql_error();
exit;
}
return $conn;
}
function get_user($useremail,$userpassword)
{
db_connect();
$userpassword = md5($userpassword);
$query = sprintf("
SELECT * FROM user WHERE login='$useremail' AND haslo='$userpassword'");
$result = mysql_query($query);
$row = mysql_fetch_assoc($result);
$id = $row['id'];
global $id;
return $row;
}
?>