۹ سیدمحمدعلی آل طه
حذف نشدن ستون و ارور
جامعه وردپرس (برنامه نویسی) ایجاد شده در ۲۳ خرداد ۱۴۰۱

سلام وردپرس به جایی که متغیر آیتم رو تعریف کردم ارور میده

global $wpdb;
     $action=$_GET['action'];
     if($action=="delete"){
        $item=intval($_get['item']);
        if($item>0){
            $wpdb->delete($wpdb->prefix.'users',['id'=>$item]);
        }
     }
    $samples=$wpdb->get_results("select * from {$wpdb->prefix}users");
    $curent_plugin=get_option('is_plugin_ok');
    if(isset($_POST['savesettings'])){
        $is_plugin_active=isset($_POST['mycheckbox']) ?1:0;
        add_option('is_plugin_ok',$is_plugin_active);
    }
    include wf_tpl.'main.php';
}

سلام دوست عزیز

متغیر $_GET با حروف بزرگ هست و شما با $_get جروف کوچیک تعریف کردید

موفق باشید ?

محمد گازری ۲۳ خرداد ۱۴۰۱، ۰۶:۵۶

یه ارور دیگه هم میده الان کل کدامو میذارم براتون

به خطی که $action زو تعریف کردم گیر میده

add_action('admin_menu','wp_apis_menu_func');
function wp_apis_menu_func(){
    
    add_menu_page( 'edt', 'edt', 'manage_options', 'kirikhan', 'wp_menu_funct');
    add_submenu_page('edited', 'omoomi', 'omoomi', 'manage_uptions', 'dodododl', 'abas');
}
function wp_menu_funct(){
    global $wpdb;
     $action=$_GET['action'];
     if($action=="delete"){
        $item=intval($_GET['item']);
        if($item>0){
            $wpdb->delete($wpdb->prefix.'users',['id'=>$item]);
        }
     }
    $samples=$wpdb->get_results("select * from {$wpdb->prefix}users");
    $curent_plugin=get_option('is_plugin_ok');
    if(isset($_POST['savesettings'])){
        $is_plugin_active=isset($_POST['mycheckbox']) ?1:0;
        add_option('is_plugin_ok',$is_plugin_active);
    }
    include wf_tpl.'main.php';
}
function abas(){
}


<div class="wrap">
    <h1>زبتون کوتاهه دیگه نگران نباشیدh1>
    <form method="post">
     <lable for="mycheckbox">
    <input name="mycheckbox" type="checkbox" id="mycheckbox"   echo isset($curent_plugin) && intval($curent_plugin)>0 ?'cheked':'';?>>
    فعال بودن پلاگین
    <button class="button button-primery" type="submit" name="savesettings">برو بریمbutton>
    lable>
    form>
    <table class="widefat">
        <thead>
            <tr>
              <th>آیدی th>
              <th> ایمیلth>  
              <th>یوزر لاگین شدهth>
              <th>عملیاتth>
            tr>
        thead>
        <tbody>
             foreach($samples as $sample):?>
                <tr>
                    <td> echo $sample->ID;?>td>
                    <td> echo $sample->user_email;?>td>
                    <td> echo $sample->user_login;?>td>
                    <td>
                      <a href=" echo add_query_arg(['action'=>'delete' ,'item'=>'$sample->ID']); ?>">حذف سطرa>
                    td>
                tr>
             endforeach;?>
        tbody>
table>
div>
سیدمحمدعلی آل طه ۲۳ خرداد ۱۴۰۱، ۰۷:۰۸

خب توی لینکتون action ندارید برای همین خطا میده

محمد گازری ۲۳ خرداد ۱۴۰۱، ۰۷:۱۴

میشه یکم بیشتر توضیح بدید چون حتی چند بار هم با ویدیو چکش کردم عین ویدیوه

سیدمحمدعلی آل طه ۲۳ خرداد ۱۴۰۱، ۱۳:۴۵

توی لینکتون اگر مقدار کوئری action ست شده باشه دیگه خطا ندارید

مثلا

domain.com?action=delete
محمد گازری ۲۳ خرداد ۱۴۰۱، ۱۴:۲۱

توی لینکم هم وقتی روش کلیک میکنم تعریف شده

سیدمحمدعلی آل طه ۲۴ خرداد ۱۴۰۱، ۰۹:۴۱

خب الان توی تصویر آخر خطایی ندارید

محمد گازری ۲۴ خرداد ۱۴۰۱، ۰۹:۴۸

چون رفرش کردم رفت اما هنوز حذف نمیکنه

امکان داره مشکل از زمپ باشه مثلا ورژن پی اچ پیش؟؟؟؟؟


سیدمحمدعلی آل طه ۲۴ خرداد ۱۴۰۱، ۱۰:۲۷

با سلام

علارغم اینکه جناب گازری عزیز توضیحات کافی ارائه دادند متن زیر رو هم مد نظر داشته باشید:

ببینید اینکه هنوز حذف نمی‌کند یا نه یک مسیر دیباگ کردن کدهاست و شما باید این مسیر را طی کنید » توسط کدها و $_GET مقادیر را بگیرید ببینید آیا اصلا درست دریافت میشوند » اگر بله باقی مسیر را عیب یابی کنید که چرا عملیات حذف اجرا نمیشود.

ولی خب با توجه به اخرین تصویری که ضمیمه کردید مشخص هست که کدهای شما مشکل دارد » به url دقت کنید » پارامتر item که ست شده است مقدار %24->ID هست که مشخص هست به درستی وارد نگردیده است.

شما باید در هر مرحله از کدها داده هایی که دریافت یا ارسال می‌شوند را چک کنید که صحیح باشند.

موفق باشید.

بهنام مرادی ۲۵ خرداد ۱۴۰۱، ۱۹:۵۷