PDA

View Full Version : مبتدی: اصلاح کد نویسی



meysam7972
سه شنبه 05 خرداد 1394, 10:27 صبح
با سلام خدمت دوستان و عزیزان پیشاپیش عید نیمه شعبان رو به همه تبریک میگم
من الان درگیر یه پروژه هستم برای مدیریت کاربرا که وقتی روی باتم کاربرا کلیک کنی بیاد کاربرا رو با درجه دسترسیشون لیست کنه من چند کار کردم اول تو تیبل کاربرا فیلدی بنام Useraccess تعریف کردم یه تیبل هم به نام ACCESS تعریف کردم با دوتا فیلد Accessid و Accesstitle و اینار رو با هم جوین کردم قشنگ نشون بهم میده مشکل من اینه اگه بخوام ادیت کنم کاربرامو جدولهامو جوین میکنم ولی اگه بخام تو فرمی که ساختم فیلد مربوط به سطح دسترسی یوزرهامو ادیت کنم ایراد میگیره چون فید Accessid من مربوط به تیبل یوزرها بصورت int تعریف شده باید چکار کنم که قبول کنه و ایراد نگیره البته فایل User_list.php رو براتون میزارم
-----------------------

meysam7972
سه شنبه 05 خرداد 1394, 10:34 صبح
اصلاح کد نویسی


با سلام خدمت دوستان و عزیزان پیشاپیش عید نیمه شعبان رو به همه تبریک میگم
من الان درگیر یه پروژه هستم برای مدیریت کاربرا که وقتی روی باتم کاربرا کلیک کنی بیاد کاربرا رو با درجه دسترسیشون لیست کنه من چند کار کردم اول تو تیبل کاربرا فیلدی بنام Useraccess تعریف کردم یه تیبل هم به نام ACCESS تعریف کردم با دوتا فیلد Accessid و Accesstitle و اینار رو با هم جوین کردم قشنگ نشون بهم میده مشکل من اینه اگه بخوام ادیت کنم کاربرامو جدولهامو جوین میکنم ولی اگه بخام تو فرمی که ساختم فیلد مربوط به سطح دسترسی یوزرهامو ادیت کنم ایراد میگیره چون فید Accessid من مربوط به تیبل یوزرها بصورت int تعریف شده باید چکار کنم که قبول کنه و ایراد نگیره البته فایل User_list.php رو براتون میزارم


-----------------------


<?php
include("connection.php");
include("header.php");


if(!isset($_GET['action'])){
?>

<div class="window" >
<div class="wintitle"><div class="print"></div><div class="close"></div>مدیریت کاربران
</div>
<div class="winbody">
<style>
</style>
<table border="0" width="100%" bgcolor="#F7F7F7">
<tr bgcolor="#006699" style="color:#FFF">
<td width="48" align="center">رديف</td>
<td width="322" align="center">نام کاربر</td>
<td width="150" align="center">نوع کاربری</td>
<td height="25" width="136" align="center" >(<a href="user_list.php?action=new"> ثبت نام کاربران </a>)</td>
</tr>
<?php
$result = mysql_query("SELECT
tab_user.f_userid,
tab_user.f_user_nameandfamil,
tab_access.f_accesstitle
FROM
tab_user
INNER JOIN tab_access ON tab_user.f_useraccess = tab_access.f_accessid
WHERE f_userdel=1
order by f_userid asc
");

if(mysql_num_rows($result)==0){
echo '<tr><td colspan="3"><h2>کاربر مورد نظر شما ثبت نشده است</h2></td></tr>';
}


while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
?><tr class="trhover">
<td align="center"><?php echo $row['f_userid'] ;?></td>
<td align="center"><?php echo $row['f_user_nameandfamil'] ; ?></td>
<td align="center"><?php echo $row['f_accesstitle'] ; ?></td>
<td height="21" align="center">
<a class="btnedit" href="user_list.php?action=edit&id=<?php echo $row['f_userid'] ; ?>"></a>
<a class="btndel" href="user_list.php?action=del&id=<?php echo $row['f_userid'] ; ?>"></a>
</td>
</tr>
<?php
}
?></div>
</table>
</div>
</div>
<?php

}





elseif($_GET['action']=='edit'){

$idnum=getnum($_GET['id']);
$r = mysql_query('SELECT
tab_user.f_userid,
tab_user.f_user_nameandfamil,
tab_user.f_userpass,
tab_access.f_accesstitle
FROM
tab_user
INNER JOIN tab_access ON tab_user.f_useraccess = tab_access.f_accessid
where f_userid='.$idnum);

if(mysql_num_rows($r)!=1){echo 'پرسنل انتخاب شده يافت نشد';exit;}

$a = mysql_fetch_array($r);

?>
<div class="window" style="width:430px;">
<div class="wintitle"><div class="close"></div>ویرایش مشخصات کاربران</div>
<div class="winbody">
<form action="user_list.php?action=save" method=post enctype="multipart/form-data">
<input type="hidden" name="id" value="<?php echo $idnum ; ?>" />

<table class="grid" border="0" width="100%" id="table1">
<tr>
<td width="60" align="right" >نام</td>
<td>
<input type="text" name="f_user_nameandfamil" class="input" size="20" value="<?php echo $a['f_user_nameandfamil'] ?>" style="width:300px;height:25px;">
</td>
</tr>
<tr>
<td width="60" align="right" >رمز کاربری</td>
<td>
<input type="text" name="f_userpass" class="input" size="20" value="<?php echo $a['f_userpass'] ?>" style="width:300px;height:25px;">
</td>
</tr>
<tr><td> نوع کاربری</td>
<td><select name="f_access">
<?php
$r=mysql_query('SELECT
tab_access.f_accessid,
tab_access.f_accesstitle
FROM
tab_access
order by f_accessid asc');
while($a=mysql_fetch_assoc($r))
echo '<option value="'.$a['f_accessid'].'">'.$a['f_accesstitle'].'</option>';
?>
</select></td></tr>
</table>
<div align="center" style="margin-top:10px">
<input type="submit" value="ثبت" class="button">
<a href="user_list.php"><input type="button" value="برگشت" class="button"></a>
</div>

</form>
</div></div>
<?php

}elseif($_GET['action']=='save'){
$idnum=getnum($_POST['id']);
$f_name=escaps($_POST['f_user_nameandfamil']);
$f_pass=md5(escaps($_POST['f_userpass']));
$f_access=escaps($_POST['f_access']);
$b=mysql_query('SELECT
tab_access.f_accessid,
tab_access.f_accesstitle
FROM
tab_access
order by f_accessid asc');
$a=mysql_fetch_assoc($b);
if($f_access==$a['f_accesstitle']){
$r = mysql_query('UPDATE tab_user SET f_user_nameandfamil="'.$f_name.',f_userpass="'.$f_pass.'," WHERE f_userid='.$idnum);
$r = mysql_query('UPDATE tab_user SET f_useraccess="'.$a['f_accessid'].'" WHERE f_userid='.$idnum);
}
echo '
<div class="window" style="width:430px;">
<div class="wintitle"><div class="close"></div>تائيد ويرايش مشخصات پرسنل</div>
<div class="winbody">
<h3>تغييرات با موفقيت انجام شد</h3></a></td></tr>
<div align="center" style="margin-top:10px">
<a href="user_list.php"><input type="button" value="برگشت" class="button"></a>
</div>
</div></div>
';

}elseif($_GET['action']=='new'){
?>
<div class="window" style="width:430px;">
<div class="wintitle"><div class="close"></div>ثبت کاربر جدید</div>
<div class="winbody">
<form action="user_list.php?action=add" method=post enctype="multipart/form-data">
<table class="grid" border="0" width="100%" id="table1">
<tr>
<td lign="right" >نام و فاميلي</td>
<td>
<input type="text" name="name" class="input" size="20" style="width:300px;height:25px;">
</td>
</tr>
<tr>
<td lign="right" >نام کاربری</td>
<td>
<input type="text" name="username" class="input" size="20" style="width:300px;height:25px;">
</td>
</tr>
<tr>
<tr>
<td lign="right" >رمز کاربری</td>
<td>
<input type="password" name="pass" class="input" size="20" style="width:300px;height:25px;">
</td>
</tr>
<tr>
<td lign="right" >تائید رمز کاربری</td>
<td>
<input type="password" name="checkpass" class="input" size="20" style="width:300px;height:25px;">
</td>
</tr>
<tr><td> نوع کاربری</td>
<td><select name="access">
<?php
$r=mysql_query('SELECT
tab_access.f_accessid,
tab_access.f_accesstitle
FROM
tab_access
order by f_accessid asc');
while($a=mysql_fetch_assoc($r))
echo '<option value="'.$a['f_accessid'].'">'.$a['f_accesstitle'].'</option>';
?>
</select></td></tr>
</table>
<div align="center" style="margin-top:10px">
<input type="submit" value="ثبت" class="button">
<a href="user_list.php"><input type="button" value="برگشت" class="button"></a>
</div>
</form>
</div></div>
<?php









}elseif($_GET['action']=='add'){
$f_name=escaps($_POST['name']);
$f_username=escaps($_POST['username']);
$f_pass=md5(escaps($_POST['pass']));
$f_checkpass=md5(escaps($_POST['checkpass']));
$f_access=escaps($_POST['access']);
echo '<div class="window" style="width:430px;">
<div class="wintitle"><div class="close"></div>تائید ثبت کاربر جدید</div>
<div class="winbody">';

if($f_name==''){echo '
<h3>وارد کردن نام الزامي مي باشد</h3>
<div align="center"><a href="user_list.php?action=new"><input type="button" value="برگشت" class="button"></a></div>
';exit;}

$r = mysql_query('SELECT
tab_user.f_userid,
tab_user.f_user_nameandfamil,
tab_user.f_username,
tab_user.f_userpass,
tab_user.f_useraccess,
tab_access.f_accesstitle,
tab_access.f_accessid
FROM
tab_user
INNER JOIN tab_access ON tab_user.f_useraccess = tab_access.f_accessid
where f_user_nameandfamil="'.$f_name.'"');

if(mysql_num_rows($r)!=0){
echo '
<h3>کاربر مورد نظر قبلا ثبت شده است</h3>
<div align="center"><a href="user_list.php?action=new"><input type="button" value="برگشت" class="button"></a></div>
';exit;
$a = mysql_fetch_array($r);
}elseif($f_pass==$f_checkpass&&$f_access=='.$a[f_accesstitle].'){
mysql_query('INSERT INTO tab_user(f_user_nameandfamil,f_usernam,f_userpass) VALUES("'.$f_name.'","'.$f_username.'","'.$f_pass.'")');
mysql_query('INSERT INTO tab_user(f_useraccess)VALUES(".$a[f_accessid].")');
echo '<h3>کاربر فوق با موفقیت در سیستم ثبت شد</h3>
<div align="center"><a href="user_list.php"><input type="button" class="button" value="برگشت"></a></div>';


}elseif($_GET['action']=='del'){
$idnum=getnum($_GET['id']);
$r = mysql_query('UPDATE tab_user SET f_userdel=2 WHERE f_userid='.$idnum);
echo '
<div class="window" style="width:430px;">
<div class="wintitle"><div class="close"></div>حذف پرسنل</div>
<div class="winbody">
<h3>کاربر مورد نظر شما با موفقیت حذف گردید</h3>
<div align="center"><a href="user_list.php"><input type="button" value="برگشت" class="button"></a></div>
';
}
}
?>

abdorreza
سه شنبه 05 خرداد 1394, 11:17 صبح
لطفا کد ها رو داخل تگ [php] بزارین. اینطوری که کسی متوجه نمیشه !

meysam7972
چهارشنبه 06 خرداد 1394, 15:32 عصر
بابا ما آدم نیستیم گیرم بخدا

H:Shojaei
چهارشنبه 06 خرداد 1394, 15:43 عصر
کلا معلوم نیست میخواید چکار بکنید...
اصلا نگفتید چه ایرادی میگیره!
و تا جایی که من فهمیدم شما با ساختار دیتابیس مشکل دارید این همه کد رو چرا گذاشتید!؟ هرکسی این همه کد رو ببینه همون اول کار کلا مرورگر رو میبنده نه تنها تاپیک شما رو!
ساختار دیتابیس رو توضویح بدین با یه عکس از فرمی که میسازید و توضیحات مشکل و کاری که میخواید بکنید...
چند بار خوندم یه چیزایی فهمیدم ولی کاری که شما میخواید بکنید رو نفهمیدم...

meysam7972
شنبه 09 خرداد 1394, 14:08 عصر
131801131802131803
با سلام فکر کنم که بتونید بهم کمک کنید