سلام من یه کدی نوشتم که برای اهراز هویت از سشن استفاده میکنه و اگر مقدار ایمیل و پسورد در دیتابیس بود true بر میگردونه و آیدی اون جدول (یوزر) رو برابر میکنه با $_SESSION['login']
حالا یه مشکلی دارم اونم اینه که تابع من فقط داره true برمیگردونه و اهراز هویت کاربر من به این روش و به اون true بودن بستگی داره.
وقتی سشن ست میشه من میتونم با var_dump اطلاعاتشو مثل نام و فامیل و سرویس و .... رو چاپ کنم در هدر سایتم ولی ارور خیلی میگیرم یبار چاپ میکنه و یبار چاپ نمیکنه.
سوالم اینه آیا راهی هست که در فانکشن من 2 تا دیتا رو return کنم ؟
مثلا return true; و return $result;
مشکل من اینه من فقط 1 عدد return میتونم داشته باشم و راهی ندارم که مقدار هارو داخل یه آرایه ریترن کنم چون از اونور نمیدونم چطوری باید از آرایه بولین رو بخونم که اجازه استفاده از سورس رو بدم و از اونمرم راحت بتونم مشخصاتشو بگیرم.
نمونه کد من:
فانکشن لاگین اهراز هویت:
function login(&$email, $password)
{
global $pdo;
if (!isUserExists($email)) {
return false;
}else{
$sql = "SELECT * FROM tblclients WHERE email = :email AND password = :password";
$stmt = $pdo->prepare($sql);
$stmt->execute([':email' => $email, ':password' => $password]);
$result = $stmt->fetch(PDO::FETCH_OBJ);
$_SESSION['login'] = &$result->id;
return true;
}
}
و نمونه کد در صفجه لاگین برای اهراز هویتم:
if(isset($_POST['submit'])){
if(empty($_POST['email']) && empty($_POST['password'])){
echo "ایمیل و رمز عبور را وارد کنید";
}else{
if(login($_POST['email'] ,($_POST['password'])) == true){
$user=fech($_SESSION['login']);
//var_dump($user);
}else{
echo "your not logined";
}
}
}
خیلی وقتمو گرفته این یه مشکل و تقریبا 7 روزه دارم سر و کله میزنم باهاش و سوال دیگرم اینه آیا بجز سشن میشه از چیز دیگه ای استفاده کرد که اینقدر داستان نداشته باشه؟