PDA

View Full Version : حرفه ای: مشکل کد ویرایش



reza10wert
شنبه 02 اردیبهشت 1391, 17:03 عصر
سلام دوستان
این صفحه edit.php من هست که کارش ویرایش نام کاربری و ایمیل کاربر می باشد

در خط اول بنده نوشتم که اگه کاربر وارد شده فرم ویرایش را نمایش بده ولی اگه وارد نشده فرم ورود را نشان بده

اما وقتی کاربر وارد شده و روی ویرایش میزنه وارد صفحه ویرایش که میشه مینویسه وارد نشده اید

دلیلش چی هست ؟

ممنون میشم کمکم کنید :


<?php ob_start(); ?>
<?php session_start(); ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.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 dir="rtl" style="font-family:tahoma; font-size:20px; ">



<?php
if (isset($_SESSION['username']) AND !empty($_SESSION['username']) ) {
require_once 'connect.php';
connecttodb();

$query = "SELECT * FROM `tbl_user` WHERE
`username` = '".mysql_real_escape_string($_SESSION['username'])."'";

if ($query_run = mysql_query($query) ) {
$mysql_num_rows = mysql_num_rows($query_run);

if ($mysql_num_rows == 1){

$row = mysql_fetch_assoc($query_run);

$username = $row['username'];
$email = $row['email'];

} else {
header('Location: login.php');
}
} else {
die('Select user error');
}
}

?>


<?php

if ( isset($_SESSION['username']) AND !empty($_SESSION['username']) ){
$username = $_POST['edit_username'];
$email = $_POST['edit_email'];
require_once 'connect.php';
connecttodb();
$query = "SELECT * FROM `tbl_user` WHERE `username` = '".mysql_real_escape_string($username)."' ";

if ($query_run = mysql_query($query)) {
$mysql_num_rows = mysql_num_rows($query_run);
if ($mysql_num_rows == 1){

//$row = mysql_fetch_assoc($query_run);
//$_SESSION['username'] = $row['username'];
//$_SESSION['email'] = $row['email'];

$query = "UPDATE `tbl_user` SET
`username` = '".mysql_real_escape_string($username)."'
`email` = '".mysql_real_escape_string($email)."' ";
echo 'ويرايش صورت گرفت';
echo '<meta http-equiv="refresh" content="3;url=index.php" />';
} else {
echo 'شما وارد نشده ايد';
echo '<meta http-equiv="refresh" content="5;url=index.php" />';
}
}

} else {
echo 'شما وارد نشده ايد';
echo '<meta http-equiv="refresh" content="5;url=index.php" />';
}
?>


<center>
<form action="edit.php" method="POST">
نام کاربري : <input type="text" name="edit_username"
value="<?php if (isset($username) AND !empty($username) ) { echo $username; } ?>"
style="font-family:tahoma; font-size:16px; "/><br />
ايميل : <input type="text" name="edit_email" size="25"
value="<?php if (isset($email) AND !empty($email) ) { echo $email; } ?>"
style="font-family:tahoma; font-size:16px; "/><br /><br />
<input type="submit" value="ويرايش" style="font-family:tahoma; font-size:20px; "/>&nbsp;
<input type="reset" value="خالي کردن فرم" style="font-family:tahoma; font-size:20px; "/><br /><br />
<a href="index.php" style="text-decoration:none;">برگشت به صفحه اول</a>&nbsp;&nbsp;&nbsp;&nbsp;
<a href="register.php" style="text-decoration:none;">ثبت نام</a>
</form>
</center>



</body>

</html>

plague
شنبه 02 اردیبهشت 1391, 20:45 عصر
خب حتما شرط غلط میشه و SESSION['username وجود نداره توی این صفحه ! کد لاگینتون شاید مشکل داره

درضمن چرا این شرط رو دوبار تکرار کردی همون یبر اول کافیه
if (isset($_SESSION['username']) AND !empty($_SESSION['username']) )

reza10wert
شنبه 02 اردیبهشت 1391, 20:51 عصر
اصلا نگاه میشه دستور آپدیت رو بنویسید برای این صفحه ؟
فیلدهای دیتابیسم اینه : id ,username ,email
حالا میشه برنامه کاملش رو بنویسید ؟
ممنون