اشتباه نمی کنی؟
اگر درست وارد کرده باشی می ره به صفحه index.php و اگر اشتباه وارد کرده باشی ارور میده
Printable View
اشتباه نمی کنی؟
اگر درست وارد کرده باشی می ره به صفحه index.php و اگر اشتباه وارد کرده باشی ارور میده
نه اشتباه وارد نكردم. خود صفحه login كه login.php است رو بعد زدن submit سفيد مي ده.
نه درست وارد كردم. وقتي submit رو ميزنم خود صفحه لاگين كه مثلا login.php باشه صفحه سفيد مي ده
میرن اون ویندوز و تست می کنم
بعداً به محسن خان می گم که این پست های الکی رو پاک کنه که انسجامش به هم نریزه
البته بعد از اينكه تاپيك بسته شد.
اي كاش اين امكان رو به كاربران مي دادن تا بتونن پست هاي خودشونو حذف كنن.
ببخشيد ها ولي نمي شه به جاي اين تاپيك هاي الكي پشت سر هم تاپيك را به يه جايي برسونيد. تورو خدا اين مشكل login را حل كنيد. من اميدم به شماست.
اشکالی نداشت
فقط یه کم تغییر ایجاد کردم که جلوی warning ها رو بگیره
من كدي رو كه بكار بردم مي زارم چك كن ببين مشكل داره: (صفحاتي كه include ميشن مشكلي ندارن)
[PHP]
<?php // login page
session_start();
include "../config.inc.php";
include F_ROOT."inc/db_tables.php";
include F_ROOT."inc/db_connect.php";
// حذف بک اسلشهایی که به صورت خودکار توسط Magic Quotes به اطلاعات ارسال شده افزوده شده اند
function UnEscape($string) {
if (get_magic_quotes_gpc()) {
return stripslashes($string);
} else {
return $string;
}
}
$errors = array();
$min_length = 4;
$max_length = 20;
$meta = "";
// اجرای اسکرپت ثبت نام در صورتی که اطلاعات با متد پست به صفحه ارسال شده باشند
if($_SERVER['REQUEST_METHOD'] == "POST") {
$username = UnEscape($_POST['username']);
$password = UnEscape($_POST['password']);
// وارد کردن اطلاعات کاربر در صورتی که اطلاعات معتبر باشند
if(empty($errors)) {
// اسکیپ کردن داده های وارد شده توسط کاربر
$username = mysql_real_escape_string(htmlentities($username, ENT_QUOTES, 'UTF-8'));
$password = mysql_real_escape_string($password);
// به دست آوردن تعداد سطرهایی که نام کاربری مشابه نام کاربری انتخاب شده کاربر دارند
$query = mysql_query("SELECT password FROM ".TABLE_USERS." WHERE username = '".$username."';");
if (mysql_num_rows($query) == 1){
list($storedPassWord) = mysql_fetch_row($query);
}else{
$errors[] = "کاربري با اين نام موجود نيست!";
}
if($storedPassWord == md5($password)) {
// ثبت سشن و ارسال کاربر به صفحه اصلي
$_SESSION['userInfo'] = $username;
$_SESSION['userPInfo'] = $storedPassWord;
mysql_close();
// انتقال به صفحه اصلي
// بايد نام سايت خود را به جاي سايت زير بنويسيد
$meta = '<meta http-equiv="Refresh" content="2; url=http://www.site.com/index.php">';
} else {
// قطع عمليات در صورت متفاوت بودن پسورد وارد شده و پسورد اصلي
$errors[] = "رمز عبور اشتباه است!";
exit();
}
}
}
?>
<!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" />
<?php print $meta; ?>
<title>صفحه ورود کاربران</title>
<style type="text/css">
body { direction:rtl; }
form, table { width: 300px; margin:0px auto;}
td { text-align:center; }
th { text-align:right; }
</style>
</head>
<body>
<form action="<?=$_SERVER['PHP_SELF'];?>" method="post">
<?php
if(!empty($errors)) {
echo "<ul>";
foreach($errors as $error) {
echo "<li>$error</li> \n";
}
echo "</ul>";
} elseif (@$_SESSION['userInfo']) {
echo "<h3>ورود شما با موفقیت انجام شد.</h3>";
}
else {
?>
<table border="0">
<tr>
<th>نام کاربری :</th>
<td><input type="text" name="username" /></td>
</tr>
<tr>
<th>کلمه عبور :</th>
<td><input type="password" name="password" /></td>
</tr>
<tr>
<td colspan="2"><input type="submit" name="submit" value="ورود" /></td>
</tr>
</table>
<?php
}
?>
</form>
</body>
</html>
[/PHP]
شايد مشكل از كد منه كه سفيد مي ده.
ايرادو وللش، يه كاريش مي كنم.
بهتره بحثو ادامه بديم.
دیگه چی رو بگیم؟
البته امیدوارم neopersia بیاد و ادامه بده که باز از این سوتی ها ندم!