PDA

View Full Version : مشکل با فرم لاگین



Abolloty
پنج شنبه 06 شهریور 1393, 10:09 صبح
سلام
ببخشید می خواستم بدونم چه جوری باید وقتی کاربر یوزر پسوردشو وارد می کنه اگه اشتباه بود همونجا بهش پیام بده که رمز ورود اشتباه است و اگر درست بود به صفحه ی پروفایل منتقل بشه و اونجا اطلاعاتش مثل شمارش ایمیلش براش نمایش داده بشه چه جوری اطلاعاتشو از دیتابیس بهش نشون بدم

arash691
پنج شنبه 06 شهریور 1393, 10:31 صبح
تو کوئری مربوط به لاگین تمامی اطلاعاتی که میخوای رو با SELECT بگیر بریز تو سشن ... واسه پیغام دادن اگه کوئری جواب نداشت یعنی کاربری با اون مشخصات وجود نداره

Mori Bone
پنج شنبه 06 شهریور 1393, 10:34 صبح
هم می تونید با ایجکس اینکارو بکنید. که خیلی راحته و بدون رفرش صفحه صورت میگیره.
هم می تونید action فرمتون رو به همون صفحه ارجاع بدین و توی همون صفحه به اطلاعاتتون دسترسی داشته باشید:
بعد اینو توی همون صفحه بنویسید:
if($_SERVER['REQUEST_METHOD'] == "POST") {
$username = $_POST['username'];
$password = $_POST['password'];
...
}

Abolloty
پنج شنبه 06 شهریور 1393, 10:40 صبح
اگه پسوردش اشتباه بود دیگه نمی خوام به صفحه ی پروفایل ارجاع بشه در این صورت باید چی کار کنم

Abolloty
پنج شنبه 06 شهریور 1393, 10:45 صبح
اگه یوزر پسشو درست وارد کرد می دونم باید چه کار کنم اگه غلط وارد کرد نمی دونم

arash691
پنج شنبه 06 شهریور 1393, 10:50 صبح
اگه یوزر پسشو درست وارد کرد می دونم باید چه کار کنم اگه غلط وارد کرد نمی دونم

غلط وارد کرد کاری نکن پیغام چاپ کن ...

Abolloty
پنج شنبه 06 شهریور 1393, 10:53 صبح
خب چه جوری کد بنویسم که یارو اگه یوزرش تو دیتابیس نبود پیغام اشتباه است چاپ شود

Abolloty
پنج شنبه 06 شهریور 1393, 11:07 صبح
بگید ضروریه

Mori Bone
پنج شنبه 06 شهریور 1393, 11:12 صبح
echo '<span>پسورد اشتباه است</span>';

این یه نمونه:
$username = $_POST['username'];
$password = $_POST['password'];

if( $username == '' )
$output = "login_emptyusername";
elseif( $password == '' )
$output = "login_emptypassword";


if($output == NULL) {
$conn = PDOconnection();
$sql = $conn->prepare('SELECT username FROM users WHERE username = :username');
$sql->bindParam(':username', $username);
$sql->execute();
if($sql->rowCount()) {
$sql = $conn->prepare('SELECT userpassword FROM users WHERE username = :username');
$sql->bindParam(':username', $username); $sql->execute();
if(hash_Verify($password, $sql->fetchColumn())) { // Input data is correct
require 'includes/class_user.php';
$currUser = new userObject( $username );
$currUser->login( isset($_POST['notforgot']) );


$output = "login_correct";
} else
$output = "login_wrongpassword";
} else
$output = "login_wrongusername";
}