PDA

View Full Version : سوال: مشکل لاگین سایت



آبی آسمانی
پنج شنبه 03 مهر 1393, 15:45 عصر
سلام من برنامه لاگین رو نوشتم اطلاعات برای ورود رو درست وارد میکنم ولی هرچی میزنم میگه اطلاعات وارد شده صحیح نیست ارورش اینه
Notice: Undefined variable: check_error in C:\wamp\www\log.php on line 41
Resource id #4اطلاعات وارد شده صحیح نیست!

کدمم اینه
<?php
session_start();
$username = $_POST['username'];
$password = $_POST['password'];
$check = $_POST['check'];
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>ورود به سایت</title>
</head>
<body>
<?php
if (!isset($username) || $username == ''){
echo "فیلد نام کاربری نباید خالی باشد";
$check_error = 1;
}
//???? ????
elseif (!isset($password) || $password == ''){
echo "فیلد کلمه عبور نباید خالی باشد!";
$check_error = 1;
}
$con = mysql_connect("localhost", "root", "")
or die(mysql_error());
mysql_select_db("mydb", $con)
or die(mysql_error());
//جلوگیری از نفوذ به دیتابیس
$username = mysql_real_escape_string($username);
$password = md5($password);
if ($check_error != 1 && $check == 'sended'){
//تطبیق اطلاعات کاربر با آنچه که در دیتابیس ذخیره شده
$result = mysql_query ("SELECT * FROM user WHERE name='$username' AND pass='$password'");
// تعداد ردیف های موجود
$count = mysql_num_rows($result);
if($count > 0){
//اطلاعات کاربر درست است، تنظیم مجوز های استفاده از بخش اعضاء
$_SESSION['username'] = $_POST['username'];
$_SESSION['password'] = $_POST['password'];
// اطلاعات کاربر صحیح است
echo "شما به سایت وارد شده اید!<br />";
}
else{
//اطلاعات کاربر صحیح نیست
echo "اطلاعات وارد شده صحیح نیست<br />";
}
}
mysql_close($con);
?>
</body>
</html>

alireza.stack
پنج شنبه 03 مهر 1393, 16:51 عصر
قبل از اولین If مقدار متغیر $check_error رو برابر صفر قرار بده:


$check_error = 0;

آبی آسمانی
پنج شنبه 03 مهر 1393, 18:24 عصر
میخام وفتی یک شخصی لاگین میشه وارد سایت میشه اسمشو بزنه رو صفحه اصلی بعد یه دکمه فعال بشه برای خروجش مثلا مثل همین سایت برنامش چطوری میشه هر کار میکنم نمیتونم تورو خدا هر کی میدونه کمک کنه شنبه باید پروژمو تحویل بدم...........:گریه::ناراحت:

آبی آسمانی
جمعه 04 مهر 1393, 18:04 عصر
کسی نیست کمکم کنههههههههههههههههههههههه ؟؟؟؟؟؟؟؟؟؟؟:ناراحت::ناراحت: :ناراحت:

hamedarian2009
جمعه 04 مهر 1393, 18:30 عصر
الان لاگین درست انجام میشه؟
بقیش دیگه کاری نداره کافیه موقع لاگین اسمشو از دیتابیس بگیرین بزارین تو سشن و هرجا میخایین نمایش بدین واسه دکمه خروج هم کافیه یه شرط بزارین اگه سشن لاگین کاربر وجود داشت اون دکمه نشون داده بشه

seyed.mehdi
جمعه 04 مهر 1393, 18:50 عصر
اگه نمیتونی یه کد آماده بگیر و اونی یکم تغییر بده و شخصی سازی کنش

آبی آسمانی
جمعه 04 مهر 1393, 20:08 عصر
اره لاگین انجام میشه همینی که میگید رو باید چجوری بگم
وقتی که شخص لاگین میکنه وارد صفحه اصلی سایت میشه حالا من میخام ثبت کنه که مثلا اسم طرفو بعد ی دکمه خروجم فعال بشه اینو چجوری بگم میشه واضح تر توضیح بدید؟؟؟؟؟؟؟؟؟؟؟ممنون

hamedarian2009
جمعه 04 مهر 1393, 20:30 عصر
فرض میکنیم شما نام کاربر رو در جدول بانک اطلاعاتی دارین خب بعد دستور select و هنگامی که مشخصات صحیح بود کافیه مقدارشو از دیتابیس فچ کنید


if($count > 0){
$user = mysql_fetch_assoc($result);
//اطلاعات کاربر درست است، تنظیم مجوز های استفاده از بخش اعضاء
$_SESSION['username'] = $_POST['username'];
$_SESSION['password'] = $_POST['password'];
$_SESSION['user_name'] = $user['name'].' '.$user['family'];
// اطلاعات کاربر صحیح است
header('location:index.php');
}


دستور header رو هر آدرسی بهش بدی هدایتت میکنه همون صفحه
کافیه هرجا هم میخای لینک خروج یا دکمه خروج رو نشون بدی یه دستور if بزاری :


if(isset($_SESSION['user_name'])){
echo $_SESSION['user_name'];
echo '<a href="logout.php">exit</a>';
}

تو صفحه logout.php هم سشن رو نابود کن


session_start();
session_destroy();
header('location:index.php');

به این نکته هم توجه کن که باید تو هر صفحه ای که از سشن استفاده میکنی باید ()session_start رو هم اول صفحه قبل هر کدی قرار بدی

آبی آسمانی
یک شنبه 06 مهر 1393, 21:38 عصر
دوستان من پروژمو تحویل دادم از همه کسایی که کمکم کردن ممنونم :لبخندساده::تشویق: