PDA

View Full Version : کمک در اصلاح کد فرم ویرایش اطلاعات



Master_Power
چهارشنبه 14 مرداد 1394, 19:36 عصر
با سلام

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

خب مثلا از قبل توی نام امین هست و توی نام پدر علی هست
حالا مشکل اینه که مثلا وقتی کاربر بخواد نام را عوض کنه به صورت اتوماتیک نام پدر از توی بانک پاک میشه و بلعکس.

مشکل کد کجاست ؟
نباید وقت یه فیلد آپدیت میشه اطلاعات بقیه فیلدها تغییر کنه

قابل توجه : $suser و $spass که توی کوئری نوشتم همون session ها هست که ریختم تو این متغیر ها

<?php


if (isset ($_POST['submit1']) ){
$kj_pedar=$_POST['kj_pedarname'];
$kj_name=$_POST['kj_name'];}
if($kj_pedar!='' && $old_kj_pedarname!=$kj_pedar){
$pedar=$kj_pedar;}
if($kj_name!='' && $old_kj_name!=$kj_name){
$name=$kj_name;}
$update = mysql_query("UPDATE kj_info SET kj_pedarname='$pedar',kj_name='$name' WHERE kj_username='$suser' AND kj_password='$spass'");
?>

us1234
چهارشنبه 14 مرداد 1394, 22:09 عصر
متغیر $pedar وقتی مقدار میگیره که اون شرط که گذاشتید درست باشه اگر نبود چی ؟ خالی هست دیگه !

Master_Power
پنج شنبه 15 مرداد 1394, 01:27 صبح
خب شرط بقیشو چی بنویسم ؟

هرچی فکر میکنم مغزم کار نمیکنه دیگه :لبخند:

us1234
پنج شنبه 15 مرداد 1394, 11:32 صبح
راه زیاد داره

اول از همه بگم که این کار اصولی نیست و باید اطلاعات را validator کنید و همچنین sanatize و همچنین اطلاعات قبل از آپدیت با یک سلکت با اطلاعات قبلی مقایسه شود و ...

ولی اگر بخواهیم همین کد موجود را اصلاح کنیم راه های زیر امکانش هست .

1- برای هر 2 شرط در قسمت else یک flag را false کن و موقع کوئری زدن همان فلگ را بررسی کن اگر False شده هیچ کاری انجام نده ( یا ارور بده که مشکلی هست ... )
2- در شرط ها کوئری آپدیت را بساز ، یه چیز مثل زیر :


$q = 'UPDATE kj_info ';
if($kj_pedar!='' && $old_kj_pedarname!=$kj_pedar)
{
$pedar=$kj_pedar;

$q .= "kj_pedarname='$pedar'";
}
$q .= " WHERE kj_username='$suser' AND kj_password='$spass'";
$update = mysql_query($q);