PDA

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



ahmad002
جمعه 24 مرداد 1393, 09:42 صبح
سلام
من در صفحه ADMIN خودم دو فرم دارم،
اولی:
<form action="?p=admin" method="post">
اینو برای UPDATE کردن فیلد هام گذاشتم
و دومی هم دقیقاً مثل همین :
<form action="?p=admin" method="post">
و اینو مثلاً برای DELETE کردن میخوام،
الان با دستور if ($_SERVER['REQUEST_METHOD'] == "POST") میخوام دستورات رو بزارم و اجرا بشم، چطور بینشون تفکیک قائل بشم ینی از هم جدا باشن؟

arash691
جمعه 24 مرداد 1393, 10:01 صبح
نیاز به فرم نیست میتونی برای update و delete یک لینک بذاری که به این صورت باشه :


<a href="admin.php?action=delete&id=the id that fetched from db">Delete</a>
<a href="admin.php?action=update&id=the id that fetched from db">Update</a>
بعدش بالای صفحه شرط بذار و با چک کردن آرایه
$_GET کاری که میخوای رو انجام بده

ahmad002
جمعه 24 مرداد 1393, 10:05 صبح
نیاز به فرم نیست میتونی برای update و delete یک لینک بذاری که به این صورت باشه :


<a href="admin.php?action=delete&id=the id that fetched from db">Delete</a>
<a href="admin.php?action=update&id=the id that fetched from db">Update</a>
بعدش بالای صفحه شرط بذار و با چک کردن آرایه
$_GET کاری که میخوای رو انجام بده

اصلاً متوجه نشدم، میشه یه مثال بگید؟بالای صفحه چطور شرط بزارم؟
اگه ممکنه یه نمونه بگید

ahmad002
جمعه 24 مرداد 1393, 10:08 صبح
میشه هر دو buttom رو در یک فرم بزارم؟ چطور دستوراتشون رو جدا کنم؟

arash691
جمعه 24 مرداد 1393, 10:11 صبح
به این صورت :


if(isset($_GET['id'],$_GET['action']) && $_GET['action'] == 'delete'){
دستورات مربوط به حذف کردن//
}

ahmad002
جمعه 24 مرداد 1393, 10:30 صبح
به این صورت عمل کردم :
<a href="?p=admin?action=delete&id=de">DELETE</a>
بعدش در قسمت کد های PHP اینو نوشتم :


if (isset($_GET['de'], $_GET['delete']) && $_GET['action'] == 'delete') { $delete = Query("DELETE FROM users WHERE name = 'alireza'");}

ولی باز درست نشد، راهنمایی کنید که مشکل چیه؟

ahmad002
جمعه 24 مرداد 1393, 10:47 صبح
کسی نیست کمک کنه؟

arash691
جمعه 24 مرداد 1393, 10:53 صبح
ولی باز درست نشد، راهنمایی کنید که مشکل چیه؟

چه مشکلی رفع نشد ؟

ahmad002
جمعه 24 مرداد 1393, 10:55 صبح
چه مشکلی رفع نشد ؟

اگه دستور رو نگاه کنید من نوشتم اگه name= alireza بود اون رو حذف کن، متاسفانه حذف نمیشه، ظاهراً کد مشکل داره؟

arash691
جمعه 24 مرداد 1393, 10:58 صبح
"DELETE FROM `users` WHERE `id` = ".$_GET['id'] باید با مقادیری کار کنی که با آرایه GET اونا رو فرستادی

اگه میخوای نام رو داشته باشی اول نام رو بخون از بعد در لینک قرار بده


<a href="admin.php?action=delete&name= the name that fetched from db">Delete</a>

ahmad002
جمعه 24 مرداد 1393, 11:01 صبح
"DELETE FROM `users` WHERE `id` = ".int_val($_GET['id']) باید با مقادیری کار کنی که با آرایه GET اونا رو فرستادی

اگه میخوای نام رو داشته باشی اول نام رو بخون از بعد در لینک قرار بده


<a href="admin.php?action=delete&name= the name that fetched from db">Delete</a>

یه مثال میگید؟
مثلاً من شرط خودم رو چطور قرار بدم؟ این int_val چه کاری می کنه؟

arash691
جمعه 24 مرداد 1393, 11:17 صبح
$con = new mysqli('localhost','username','password','dbname') ;
if(isset($_GET['name'],$_GET['action']) && $_GET['action'] == 'delete' ){
$con->query("DELETE FROM `users_tbl` WHERE `name` = ".$_GET['name']);
}

$result = array ();
$mysql_r = $this->query("SELECT * FROM `users_tbl`");
while ( $row = $mysql_r->fetch_assoc ()) {
$result[] = $row;
}
// echo your rows
foreach($result as $row){
echo '<a href="admin.php?action=delete&name='.$row['name'].'">Delete</a>';
}

ahmad002
جمعه 24 مرداد 1393, 11:21 صبح
از کمکتون واقعاً ممنونم، یه سوال دیگه :
اگه من بخوام یه Text داشته باشم و کاربر نام رو اونجا وارد کنه و اون نام حذف بشه، چطور باید text رو به نام بچسبونم؟