PDA

View Full Version : سوال: return این function درسته یا نه؟



mosi2007
جمعه 19 اسفند 1390, 22:59 عصر
سلام دوستان
این فانکشنی است که برای لاگین است که میخوام در صورتی که این کاربر وجود داشته باشه ایدیش رو بگیریم و سشن رو فعال کنم ولی نمیشه


function login_check($email, $password){
$email=mysql_real_escape_string($email);
$queryl=mysql_query("SELECT user_id FROM `users` WHERE `email`='$email' AND `password`='".md5($password)."'")or die("can not select");
if (mysql_result($queryl, 0) == 1){
return user_id ;}else
return false;
}

این هم خواندن فانکشن


$login=login_check($login_email, $login_password);

نمیدونم چطوری مقدار user_id رو که میخونه و از نوع int است رو از داخل فانکشن بفرستمش و $login این مقدارو بگیره و بعد سشن شروع بشه

$_SESSION['user_id']=$login

Hell Lord
جمعه 19 اسفند 1390, 23:47 عصر
user_id
یا
$user_id
؟؟

mosi2007
شنبه 20 اسفند 1390, 00:00 صبح
user_id
یا
$user_id
؟؟
$user_id اصلا نداریم
user_id منظورمه

Reza1607
شنبه 20 اسفند 1390, 00:00 صبح
به جاي اين خط


return user_id

اين خط رو قرار بدين


return mysql_result($queryl, 0);

Hell Lord
شنبه 20 اسفند 1390, 00:03 صبح
من کد رو اشتباه دیدم فکر کردم یک مقدار رو ریختی تو $user_id و موقع return علامتش رو نگذاشتی شاید؛ که دوستمون بالا کار رو درست کردند :)

mosi2007
شنبه 20 اسفند 1390, 00:04 صبح
ببین
کد اصلیش اینه که اینم کار نمیکنه میخوای رو این کار کن شاید بهتر بتونی به جواب برسی ممنون


function login_check($email, $password){
$email=mysql_real_escape_string($email);
$queryl=mysql_query("SELECT COUNT(`user_id`) as `count`, `user_id`
FROM `users` WHERE `email`='$email' AND `password`='".md5($password)."'")or die("can not select");
return (mysql_result($queryl, 0) == 1) ? mysql_result($queryl, 0, 'user_id') : false;


}


این خواندن فانکشن


$login=login_check($login_email, $login_password);


و اگر اینا درست جواب بده باید سشن شروع بشه


$_SESSION['user_id']=$login;

رضا قربانی
یک شنبه 21 اسفند 1390, 11:52 صبح
سیشن رو استارت کردی ؟

mosi2007
یک شنبه 21 اسفند 1390, 17:27 عصر
سیشن رو استارت کردی ؟
اره بابا دمت گرم دیگه

colors
یک شنبه 21 اسفند 1390, 23:25 عصر
درود

اینو یه تست کن

<?php
function login_check($email, $password){

$email=mysql_real_escape_string($email);
$password = md5($password);

$queryl=mysql_query("SELECT * FROM `users` WHERE `email`='$email' AND `password`='$password'");
$user = mysql_num_rows($queryl);
if ($user == 1){
return true ;
}
else{
return false;
}
}
?>

mosi2007
یک شنبه 21 اسفند 1390, 23:41 عصر
درود

اینو یه تست کن

<?php
function login_check($email, $password){

$email=mysql_real_escape_string($email);
$password = md5($password);

$queryl=mysql_query("SELECT * FROM `users` WHERE `email`='$email' AND `password`='$password'");
$user = mysql_num_rows($queryl);
if ($user == 1){
return true ;
}
else{
return false;
}
}
?>
نه نمیخام که boolean return بشه میخوام که ایدی ریترن بشه که اینجا
عرض کردم که

$_SESSION['user_id']=$login;

سشن با ایدی کار کنه

Reza1607
دوشنبه 22 اسفند 1390, 00:13 صبح
الان كوئري آي دي رو درست بر مي گردونه يا اصلا برنمي گردونه؟

mosi2007
دوشنبه 22 اسفند 1390, 01:09 صبح
اصلا بر نمیگردونه
بی خیال هم سر شما رو درد اودرم هم وقتتون رو گرفتم
از تابع استفاده نمیکنم با کدهای معمولی درست شد
دستتون درد نکنه