Wsparcie » Rozmaitości » Wtyczka klonuje wpis

  • Rozwiązany shryus

    (@shryus)


    Witam,

    Mam problem przy zapisie do bazy danych we wtyczce którą piszę nie zapisuje mi jednego rekordu tylko klonuje ten rekord i zapisuje jako 3 rekordy.

    function add_post_seve() {
    	
            //sprawdzam czy nie pusty i czy jest zalogowany
            if ($_POST['sorting_karaj'] != '' && $_POST['sorting_panstwo'] !='') {
    			$sorting_karaj = esc_sql($_POST['sorting_karaj']);
    			$sorting_panstwo = esc_sql($_POST['sorting_panstwo']);
                $sorting_szkic = esc_sql($_POST['sorting_szkic']);
                $this->wpdb->insert($this->table_name, array('sorting_karaj' => $sorting_karaj, 'sorting_panstwo' => $sorting_panstwo, 'sorting_szkic' => $sorting_szkic));
                return TRUE;
    			
            }
            return FALSE;
    
        }

    To jest moja funkcja zapisu

    if (isset($_POST['Dodaj'])) {
                    //Dodawanie wiadomości
                    if ($this->add_post_seve($_POST['sorting_karaj']) && $this->add_post_seve($_POST['sorting_panstwo']) && $this->add_post_seve($_POST['sorting_szkic'])) {
                        $notice = '<div class="notice notice-success">Dodano Wpis</div>';
                    } else {
                        $notice = '<div class="notice notice-error">Nie dodano wpisu</div>';
                    }
               
            }

    A ten skrypt wyświetla czy dodano czy nie dodano wpisu do bazy

    <div class="card-body">
                      <div class="form-group">
                       <input type='text' name='sorting_karaj' size='30' value='' id='form' placeholder='Dodaj tytuł'>
                      </div>
                      <div class="form-group">
                        <textarea class='pole' rows='3' cols='50' name="sorting_panstwo" placeholder='Podaj karaj/miasto/ulice'></textarea>
                      </div>
    				  <div class="form-group">
                        <div class="form-check">
                          <input  type="checkbox" name='sorting_szkic' value="1"><?php _e('Zapisz szkic', 'wp_sorting');?>
                        </div>
                      </div>
                    </div>

    A to jest mój formularz.

    Problemem było ze dodałem tak
    if ($this->add_post_seve($_POST['sorting_karaj']) && $this->add_post_seve($_POST['sorting_panstwo']) && $this->add_post_seve($_POST['sorting_szkic'])) {

    A nie tak

    if ($this->add_post_seve($_POST['sorting_kraj'])) {

Viewing 1 replies (of 1 total)
  • dokładnie tak ….a nawet powinieneś użyć samego:
    if ($this->add_post_seve()) {
    – bo przecież w deklaracji metody add_post_seve nie masz żadnych argumentów …..a skoro żadnego argumentu nie odbierasz, to po co chcesz jakiś przekazywać?

Viewing 1 replies (of 1 total)