View Full Version : سوال: مشکل در فرم
kaka_abe
پنج شنبه 09 خرداد 1392, 14:57 عصر
سلام دوستان من این فرم رو دارم اما نمیدونم چرا هیچ اطلاعاتی برای صفحه خودش نمیفرسته !!!
قبلا همین کد کار میکرد اما الان نه !!!
<form action="" method="post" target="_top">
<table>
<tr align="right"><th>نام کاربری</th><td><input name="username" type="text"/></td></tr>
<tr align="right"><th>رمز عبور</th><td><input name="password" type="password"/></td></tr>
<tr align="right"><td colspan="2"><input style="width: 100%;" type="submit" value="ورود"/></td></tr>
</table>
</form>
:افسرده::افسرده::افسرده::افس ده:
kaka_abe
پنج شنبه 09 خرداد 1392, 15:13 عصر
این جوری بگم بهتره
کل کد صفحه همینه
که اطلاعاتو از فرم برای خوش ارسال میکنه
که توی شرط if چک میکنه که متغییر user , pass ست شدن یا نه
حالا وقتی اجراش میکنم اصلا وارد شرط نمیشه
<?php
session_start();
if(isset($_SESSION['user'])) {
unset($_SESSION['user']);
}
require_once 'config.php';
?>
<!doctype html>
<html dir="rtl">
<head>
<title><?php echo TITLE; ?></title>
<meta charset="utf-8"/>
<style type="text/css">
* {
font-family: Tahoma;
font-size: 10pt;
font-weight: bold;
}
</style>
</head>
<body>
<?php
if(isset($_POST['username'], $_POST['password'])) {
connect();
echo 'ahmad';
$user = mysql_real_escape_string($_POST['username']);
$pass = $_POST['password'];
makeHash($pass);
$result = query("SELECT * FROM `users` WHERE (`confirmed`='1' AND `username`='{$user}' AND `password`='{$pass}')");
if($result && mysqli_num_rows($result) > 0) {
$_SESSION['user'] = $user;
header('Location: '.URL);
echo 'خوش آمدید. به زودی به صفحه اصلی سایت هدایت خواهید شد.<br/>'.PHP_EOL;
echo '<meta http-equiv="Refresh" content="3; url='.URL.'"/>'.PHP_EOL;
exit();
}
else {
header('Location: login.php');
echo 'کاربری با مشخصات فوق یافت نشد. مجدداً سعی کنید.<br/>'.PHP_EOL;
echo '<meta http-equiv="Refresh" content="3; url=login.php"/>'.PHP_EOL;
exit();
}
}
else {
?>
<form action="" method="post" target="_top">
<table>
<tr align="right"><th>نام کاربری</th><td><input name="username" type="text"/></td></tr>
<tr align="right"><th>رمز عبور</th><td><input name="password" type="password"/></td></tr>
<tr align="right"><td colspan="2"><input style="width: 100%;" type="submit" value="ورود"/></td></tr>
</table>
</form>
<?php
}
?>
</body>
</html>
H:Shojaei
پنج شنبه 09 خرداد 1392, 15:59 عصر
سلام
من كه تست كردم درست بود ولي اگه action="#" بذارين كلا حل ميشه.
kaka_abe
پنج شنبه 09 خرداد 1392, 16:02 عصر
مشکل حل نشد بازم فقط قسمت مربوط به فرم رو اجرا میکنه و اصلا شرط رو در نظر نمیگیره
واقعا گیج شدم
باید چکار کنم ؟
kaka_abe
پنج شنبه 09 خرداد 1392, 16:07 عصر
فبل شرط اگه دو متغیر username, password رو که توی ارایه $_POST هست رو اکو میکنم این پیغام خطا رو بهم میده
Notice: Undefined index: username
Notice: Undefined index: password
H:Shojaei
پنج شنبه 09 خرداد 1392, 16:14 عصر
مشكل از فايل كانفيگ بايد باشه. اونو بردار و تست كن ببين چي ميشه؟
kaka_abe
پنج شنبه 09 خرداد 1392, 16:21 عصر
اونجا توابع رو تعریف کردم
و اونم برداشتم بازم صفحه سفید نشون میده و فقط به تابع connect گیر داده گفته تعریف نشده که بخاطر همون فایله
H:Shojaei
پنج شنبه 09 خرداد 1392, 16:32 عصر
اين رو بزار ببين وارد if ميشه؟
<?php
session_start();
if(isset($_SESSION['user'])) {
unset($_SESSION['user']);
}
?>
<!doctype html>
<html dir="rtl">
<head>
<title><?php echo TITLE; ?></title>
<meta charset="utf-8"/>
<style type="text/css">
* {
font-family: Tahoma;
font-size: 10pt;
font-weight: bold;
}
</style>
</head>
<body>
<?php
if(isset($_POST['username'], $_POST['password'])) {
echo 'ahmad';
}
else {
?>
<form action="" method="post" target="_top">
<table>
<tr align="right"><th>نام کاربری</th><td><input name="username" type="text"/></td></tr>
<tr align="right"><th>رمز عبور</th><td><input name="password" type="password"/></td></tr>
<tr align="right"><td colspan="2"><input style="width: 100%;" type="submit" value="ورود"/></td></tr>
</table>
</form>
<?php
}
?>
</body>
</html>
H:Shojaei
پنج شنبه 09 خرداد 1392, 16:45 عصر
حل شد؟
<?php
session_start();
if(isset($_SESSION['user'])) {
unset($_SESSION['user']);
require_once 'config.php';
}
?>
<!doctype html>
<html dir="rtl">
<head>
<title><?php echo "TITLE"; ?></title>
<meta charset="utf-8"/>
<style type="text/css">
* {
font-family: Tahoma;
font-size: 10pt;
font-weight: bold;
}
</style>
</head>
<body>
<?php
if(isset($_POST['username'], $_POST['password'])) {
connect();
echo 'ahmad';
$user = mysql_real_escape_string($_POST['username']);
$pass = $_POST['password'];
makeHash($pass);
$result = query("SELECT * FROM `users` WHERE (`confirmed`='1' AND `username`='{$user}' AND `password`='{$pass}')");
if($result && mysqli_num_rows($result) > 0) {
$_SESSION['user'] = $user;
header('Location: '.URL);
echo 'خوش آمدید. به زودی به صفحه اصلی سایت هدایت خواهید شد.<br/>'.PHP_EOL;
echo '<meta http-equiv="Refresh" content="3; url='.URL.'"/>'.PHP_EOL;
exit();
}
else {
header('Location: login.php');
echo 'کاربری با مشخصات فوق یافت نشد. مجدداً سعی کنید.<br/>'.PHP_EOL;
echo '<meta http-equiv="Refresh" content="3; url=login.php"/>'.PHP_EOL;
exit();
}
}
else {
?>
<form action="" method="post" target="_top">
<table>
<tr align="right"><th>نام کاربری</th><td><input name="username" type="text"/></td></tr>
<tr align="right"><th>رمز عبور</th><td><input name="password" type="password"/></td></tr>
<tr align="right"><td colspan="2"><input style="width: 100%;" type="submit" value="ورود"/></td></tr>
</table>
</form>
<?php
}
?>
</body>
</html>
kaka_abe
پنج شنبه 09 خرداد 1392, 23:48 عصر
سلام مجدد
من همون اکو رو برای همین گذاشتم ببینم وارد IF میشه یا نه
که اصلا انگار نه انگار
H:Shojaei
جمعه 10 خرداد 1392, 00:07 صبح
سلام خب شما توي تگ تايتل يه اكو دارين كه كتيشن نداره اونو درست كنيد.فكر كنم مشكل از همونه.
kaka_abe
جمعه 10 خرداد 1392, 00:19 صبح
بازم نشد :افسرده:
kaka_abe
جمعه 10 خرداد 1392, 00:21 صبح
اصلا فرم چیزی رو نمیفرسته
اگه قبل IF متغیرهایی که میفرسته رو اکو کنین پیغام خطا میده و میگه تعریف نشدن
H:Shojaei
جمعه 10 خرداد 1392, 00:22 صبح
امكان نداره من اجرا كردم درسته كه.:متعجب:
اگه صلاح ميدونيد فايل كانفيگ رو بذاريد يا پ.خ كنيد شايد از همون باشه.
kaka_abe
جمعه 10 خرداد 1392, 00:29 صبح
باشه حذفش میکنم
میگم از تنظیمات Wamp نباشه
kaka_abe
جمعه 10 خرداد 1392, 00:32 صبح
پاکش کردم بازم فرم چیزی رو برای شرط نمیفرسته
میگم یوقت از تنظیمات WAMP نباشه ؟
H:Shojaei
جمعه 10 خرداد 1392, 12:47 عصر
چقدر مشكل پيچيده شد يه تاپيك تو بخش PHP بزنيد ولي درباره ي دستور if سوال كنيد نه فرم اونجا حتما ميتونن كمك كنن.
براي تست wamp هم كلا يه پيج جديد درست كن توش يه فرم ساده با يه شرط بذار ببين ارسال ميشه يا نه.
H:Shojaei
جمعه 10 خرداد 1392, 12:51 عصر
اين دستور كه اشتباست:
header('Location: '.URL);
نه متغيره نه رشته
H:Shojaei
جمعه 10 خرداد 1392, 13:00 عصر
ديگه فكر كنم درست شد.
اين رو امتحان كنيد:
<!DOCTYPE HTML>
<html dir="rtl">
<head>
<title><?php echo "TITLE"; ?></title>
<meta charset="utf-8"/>
<style type="text/css">
* {
font-family: Tahoma;
font-size: 10pt;
font-weight: bold;
}
</style>
</head>
<body>
<?php
if(isset($_POST['username'], $_POST['password'])) {
echo 'ahmad';
$user = $_POST['username'];
$pass = $_POST['password'];
$result = "SELECT * FROM `users` WHERE (`confirmed`='1' AND `username`='{$user}' AND `password`='{$pass}')";
if(1) {
$_SESSION['user'] = $user;
echo 'خوش آمدید. به زودی به صفحه اصلی سایت هدایت خواهید شد.<br/>'.PHP_EOL;
echo '<meta http-equiv="Refresh" content="3" url="#">'.PHP_EOL;
exit();
}
else {
echo 'کاربری با مشخصات فوق یافت نشد. مجدداً سعی کنید.<br/>'.PHP_EOL;
echo '<meta http-equiv="Refresh" content="3" url="login.php"/>'.PHP_EOL;
exit();
}
}
else {
?>
<form action="" method="post">
<table>
<tr align="right"><th>نام کاربری</th><td><input name="username" type="text"/></td></tr>
<tr align="right"><th>رمز عبور</th><td><input name="password" type="password"/></td></tr>
<tr align="right"><td colspan="2"><input style="width: 100%;" type="submit" value="ورود"/></td></tr>
</table>
</form>
<?php
}
?>
</body>
</html>
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.