Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP][AJAX]Wybór z pola selekt
pawel06281990
post 18.09.2021, 19:36:36
Post #1





Grupa: Zarejestrowani
Postów: 281
Pomógł: 0
Dołączył: 10.01.2014

Ostrzeżenie: (0%)
-----


Witam,

Mam problem z wyborem pola,jak wybieram błąd to dostaje opinie i nie mogę z tym sobie poradzić.
mam kod ajax
[JAVASCRIPT] pobierz, plaintext
  1. function frm_submit_blad(){
  2. $ = jQuery;
  3. $("#submit_btn_opinia_blad").hide();
  4. $("#img_opinion_error").html('<img src="../wp-content/plugins/wp-zmarli/modul/zamow_msze/assets/images/loading.gif" />');
  5. $.ajax({
  6. type:'POST',
  7. url: wp_zamow_msze_link.ajax_url,
  8. data:$('#frm_blad').serialize()+'&action=zmarli_opinia_blad',
  9. success: function(response) {
  10. if(response == 'Informacja zostało zapisane i kopia wysłana do użytkownika na wskazany adres e-mail formularzu.'){
  11. toastr.success(response)
  12. //$('#frm_slide').get(0).reset();
  13. $("#submit_btn_opinia_blad").show('');
  14. $("#img_opinion_error").show();
  15. $("#img_opinion_error").html('');
  16.  
  17. //console.log(response);
  18. //$('#frm_slide').find('.form_result').html(response);
  19. }else{
  20. toastr.error(response)
  21. //$('#frm_slide').get(0).reset();
  22. $("#submit_btn_opinia_blad").show('');
  23. $("#img_opinion_error").show();
  24. $("#img_opinion_error").html('');
  25. //console.log(response);
  26. }
  27. }
  28. });
  29. }
[JAVASCRIPT] pobierz, plaintext


i taki kod php

  1. function zmarli_opinia_blad(){
  2. global $wpdb;
  3.  
  4. $tytul = esc_sql(censorwordss($_POST['tytul']));
  5. $opinion_error = isset($_POST['opinion_error']) ? "1" : "2";
  6. $name = esc_sql($_POST['name']);
  7. $email = esc_sql($_POST['email']);
  8. $messenger = esc_sql(censorwordss($_POST['messenger']));
  9. $info_dane= esc_sql($_POST['info_dane']);
  10.  
  11.  
  12. $wpdb->insert(INFO_CMENTARZ_TABLE, array('tytul' => $tytul, 'info_kat' => $opinion_error, 'podpis' => $name, 'email' => $email, 'tekst' => $messenger, 'data_zlozenia' => time(), 'info_dane' => $info_dane ));


I kod html
  1. <select class="form-control select2" name="opinion_error" style="width: 100%;">
  2. <option value='0'>Wybierz z poniszej listy</option>
  3. <option value='2'>Błąd</option>
  4. <option value='1' >Opinia</option>
  5.  
  6. </select>


Proszę pomuszcie mi Proszę

Ten post edytował pawel06281990 18.09.2021, 19:37:23
Go to the top of the page
+Quote Post
gino
post 19.09.2021, 09:21:42
Post #2





Grupa: Zarejestrowani
Postów: 319
Pomógł: 52
Dołączył: 18.02.2008

Ostrzeżenie: (0%)
-----


Kod
            $opinion_error = isset($_POST['opinion_error']) ? "1" : "2";


Po wysłaniu formularza zawsze będzie 1

https://www.php.net/ternary#language.operat...parison.ternary

Po co ten global? Dlaczego nie przekażesz parametru w wywołaniu funkcji?


Go to the top of the page
+Quote Post
pawel06281990
post 19.09.2021, 12:40:18
Post #3





Grupa: Zarejestrowani
Postów: 281
Pomógł: 0
Dołączył: 10.01.2014

Ostrzeżenie: (0%)
-----


global ma pobierać

  1. object(wpdb)#2 (61) { ["show_errors"]=> bool(false) ["suppress_errors"]=> bool(false) ["last_error"]=> string(0) "" ["num_queries"]=> int(9) ["num_rows"]=> int(1) ["rows_affected"]=> int(0) ["insert_id"]=> int(0) ["last_query"]=> string(95) "SELECT post_id, meta_key, meta_value FROM wp_postmeta WHERE post_id IN (3) ORDER BY meta_id ASC" ["last_result"]=> array(1) { [0]=> object(stdClass)#416 (3) { ["post_id"]=> string(1) "3" ["meta_key"]=> string(17) "_wp_page_template" ["meta_value"]=> string(7) "default" } } ["result":protected]=> object(mysqli_result)#288 (5) { ["current_field"]=> int(0) ["field_count"]=> int(3) ["lengths"]=> NULL ["num_rows"]=> int(1) ["type"]=> int(0) } ["col_meta":protected]=> array(0) { }


który jest $wpdb.

A jeśli chodzi o to

  1. $opinion_error = isset($_POST['opinion_error']) ? "1" : "2";


to próbowałem nawet i tak

  1. $_POST['opinion_error']


I cały czas wysyła mi opinia.

Próbuje to zrobić z przykładów które podesłał mi w pliku gino, ale narazie to nic mi nie wychodzi ale dalej próbuje.

Ten post edytował pawel06281990 19.09.2021, 13:03:24
Go to the top of the page
+Quote Post
viking
post 19.09.2021, 13:32:59
Post #4





Grupa: Zarejestrowani
Postów: 6 365
Pomógł: 1114
Dołączył: 30.08.2006

Ostrzeżenie: (0%)
-----


  1. $opinion_error = $_POST['opinion_error'] ?? 0;


--------------------
Go to the top of the page
+Quote Post
pawel06281990
post 19.09.2021, 14:11:47
Post #5





Grupa: Zarejestrowani
Postów: 281
Pomógł: 0
Dołączył: 10.01.2014

Ostrzeżenie: (0%)
-----


Cytat(viking @ 19.09.2021, 14:32:59 ) *
  1. $opinion_error = $_POST['opinion_error'] questionmark.gif 0;


Wielkie dzięki działało tak jak chciałem żeby było z góry dziękuję
Go to the top of the page
+Quote Post
gino
post 19.09.2021, 19:43:30
Post #6





Grupa: Zarejestrowani
Postów: 319
Pomógł: 52
Dołączył: 18.02.2008

Ostrzeżenie: (0%)
-----


Chyba niedokładnie przeczytałeś, bo w linku który podałem jest przykład którego potrzebowałeś a który podpowiedział @viking.
Cytat
global ma pobierać object(wpdb)...

A to nie można przekazać obiektu jako parametru funkcji?
Go to the top of the page
+Quote Post
pawel06281990
post 19.09.2021, 23:25:12
Post #7





Grupa: Zarejestrowani
Postów: 281
Pomógł: 0
Dołączył: 10.01.2014

Ostrzeżenie: (0%)
-----


Cytat(gino @ 19.09.2021, 10:21:42 ) *
Kod
            $opinion_error = isset($_POST['opinion_error']) ? "1" : "2";


Po wysłaniu formularza zawsze będzie 1

https://www.php.net/ternary#language.operat...parison.ternary

Po co ten global? Dlaczego nie przekażesz parametru w wywołaniu funkcji?


Masz rację nie doczytałem sorry.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 29.03.2024 - 13:52