Witam,
Tworze formularz email, który ma wysyłać też załączniki a tak wyglada mój skrypt ajax
function frm_submit_messenges_proboszcz(){
$ = jQuery;
$("#img_proboszcz").html('<img src="../wp-content/themes/szablonbialoczerwony/assets/images/loading.gif" />');
var formData = new FormData($('#form_proboszcz')[0]);
$.ajax({
type:'POST',
method:"POST",
url: ajax_options.ajax_url,
data: formData+'&action=email_send_proboszcz',
enctype: 'multipart/form-data',
success: function(response) {
console.log(formData);
//console.log(ajax_options.ajax_url);
if(response == 'Wiadomość została wysłana'){
$(".form-msgs p").html(response);
$(".form-msgs").show("");
//$('#frm_slide').get(0).reset();
$("#img_proboszcz").show();
$("#img_proboszcz").html('');
slideout();
//console.log(response);
//$('#frm_slide').find('.form_result').html(response);
}else{
$(".form-msgs_error p").html(response);
$(".form-msgs_error").show("");
$("#img_proboszcz").show();
$("#img_proboszcz").html('');
slideout_error();
}
}
});
}
A tak wygląda skrypt który mam przyjmować to wszystko
$upload_maxsize = 15200000;
$upload_extensions = array( ".pdf",
".zip",
".rar",
".7zip"
);
$upload_folder = WP_CONTENT_DIR
.'/uploads/'.date('Y').'/'.date('m').'/'; $upload = $_FILES['file'];
if ($upload['name'] != "" && !empty($upload['name']) && is_uploaded_file($upload['tmp_name']) && $upload['size'] <= $upload_maxsize) { $upload_ext = strrchr($upload['name'] ,"."); if (in_array($upload_ext, $upload_extensions)) { $upload_name = $upload['name'];
//var_dump($upload_name1,$upload_name2,$upload_name3);
chmod($upload_folder.$upload_name,0644);
$attachments = array(get_option
('home').'/wp-content/uploads/'.date('Y').'/'.date('m').'/'.$upload_name);
} else {
__('Takie rozszeżenie pliku nie jest możliwe. dozwolone rozszeżenia to .zip,.rar lub .7zip ','szablon_parafia');
wp_die();
}
} else {
__('Ten plik nie może zostać zapisany.','szablon_parafia');
wp_die();
}
}
$headers = array('Content-Type: text/html; charset=UTF-8', 'From:'.esc_sql($_POST['imie']).' <'.esc_sql($_POST['email']).'>');
if(!wp_mail(get_option('admin_email'), esc_sql($_POST['temat']), esc_sql($_POST['wiadomosc']), $headers, $attachments)){
__('Nie możemy wysłać emaila wewnętrzy błąd serwera.','szablon_parafia');
wp_die();
}else{
_e('Wiadomość została wysłana','szablon_parafia');
wp_die();
}
W czym jest błąd ze mi nie pobiera zawartości z formularza tak podaje mi konsola
FormData(5) { imie → "Test", email → "Test@ok.pl", temat → "Test", wiadomosc → "Test", file → {} }a po rozwinięciu tego mam coś takiego
<entries>
0: imie → "Test"
1: email → "Test@ok.pl"
2: temat → "Test"
3: wiadomość → "Test"
4: file → File { name: "test_zip.zip", lastModified: 1703881088814, size: 127156, … }Proszę pomórzcie mi pliss
Ten post edytował pawel06281990 30.12.2023, 13:44:00