alxnt Δημοσ. 5 Ιουλίου 2019 Δημοσ. 5 Ιουλίου 2019 Καλησπέρα! Θα ήθελα βοήθεια με ενα php αρχειο. Αρχικά να πω οτι δεν γνωρίζω από developing αλλά επειδή ασχολούμαι με systems administration ανέλαβα να φτιάξω μια σελίδα στο wordpress για ενα συγγενή, οπότε θα ήθελα την υπομονή σας. Περιληπτικά το προβλημα: Η σελιδα εχει κάποια πεδία από τα οποία το "dates of staying" το μετέτρεψα σε "check in" και πρόσθεσα κι άλλο ενα το "check out". Αφού προσθεσα και στο style.css μια μορφοποίηση: form#contactform input[type='date'] πήγα μετά και εφτιαξα τα αντίστοιχα πεδία που χρειάζομαι, δηλαδη το "check in" και το "check out". Τα πεδία δημιουργηθηκαν και οταν το πατάς βγάζει ένα ημερολόγιο για να επιλέξεις. Όμως όταν πατάω submit τη φόρμα μου γυρνάει σφάλμα οτι δεν εχω συμπηρώσει τα πεδία, σαν να μην καταλαβαίνει οτι το πεδίο έχει καποια τιμή. Εγώ ομως έχω ορίσει input=date, όπως φαίνεται παρακάτω. Υποψιάζομαι οτι ΄ψαχνει για text αλλά δεν μπορώ να το βρω. <?php /** * Simple contact form template for WordPress * * Use it in a template for pages in WordPress, * include it easily via get_template_part( 'contact', 'form' ); * See the action and filter hooks for include or change output for your requirements * * @author Frank Bueltge <[email protected]> * @version 04/04/2014 * * * ----------------------------------------------------------------------------- * Settings * ----------------------------------------------------------------------------- * * Text domain string from theme for translation in theme language files * or you use the language files inside the folder /contact-form-languages/ * and copy this folder include the files in your theme */ // form processing if the input field has been set if ( isset( $_POST['submit'] ) && wp_verify_nonce( $_POST['contact_form_nonce'], 'form_submit' ) ) { // define markup for error messages $error_tag = apply_filters( 'wp-contact-form-template_error_tag', 'p' ); // output form values for debugging $spam = filter_var( trim( $_POST['spamcheck'] ), FILTER_SANITIZE_STRING); $from = filter_var( trim( strip_tags( $_POST['from'] ) ), FILTER_SANITIZE_STRING); $email = trim( $_POST['email'] ); $subject = filter_var( trim( $_POST['subject'] ), FILTER_SANITIZE_STRING); $phone = filter_var( trim( $_POST['phone'] ), FILTER_SANITIZE_STRING); $dates = filter_var( trim( $_POST['dates'] ), FILTER_SANITIZE_STRING); $checkin = filter_var( trim( $_POST['check in'] ), FILTER_SANITIZE_STRING); $checkout = filter_var( trim( $_POST['check out'] ), FILTER_SANITIZE_STRING); //$message = filter_var( trim( $_POST['text'] ), FILTER_SANITIZE_STRING); // Allow html in message $message = wp_kses_post( $_POST['text'] ); if ( isset( $_POST['cc'] ) ) $cc = intval( $_POST['cc'] ); else $cc = FALSE; // check for spam input field if ( ! empty( $spam ) ) { $spam_error = esc_html__( 'Spammer? The spam protection field needs to be empty', 'virtuti'); $has_error = TRUE; } // check sender name, string if ( empty( $from ) ) { $from_error = esc_html__( 'Please enter your name', 'virtuti'); $has_error = TRUE; } // check for mail and filter the mail // alternative to filter_var a regex via preg_match( $filter, $email ) // $filter = "/^([a-z0-9äöü]+[-_\\.a-z0-9äöü]*)@[a-z0-9äöü]+([-_\.]?[a-z0-9äöü])+\.[a-z]{2,4}$/i" // $filter = "/[a-z0-9!#$%&'*+\/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+\/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?/i" if ( empty( $email ) ) { $email_error = esc_html__( 'Please enter your e-mail address', 'virtuti'); $has_error = TRUE; } else if ( ! filter_var( $email, FILTER_VALIDATE_EMAIL ) ) { $email_error = esc_html__( 'Please enter a valid e-mail address', 'virtuti'); $has_error = TRUE; } if ( empty( $subject ) ) { $subject_error = esc_html__( 'Please enter type of room', 'virtuti' ); $has_error = TRUE; } if ( empty( $phone ) ) { $phone_error = esc_html__( 'Please enter phone number', 'virtuti' ); $has_error = TRUE; } if ( empty( $dates ) ) { $dates_error = esc_html__( 'Please enter dates', 'virtuti' ); $has_error = TRUE; } if ( empty( $checkin ) ) { $checkin_error = esc_html__( 'Please enter check in date', 'virtuti' ); $has_error = TRUE; } if ( empty( $checkout ) ) { $checkout_error = esc_html__( 'Please enter check out date', 'virtuti' ); $has_error = TRUE; } if ( ! isset( $has_error ) ) { // get IP if ( isset( $_SERVER ) ) { if ( isset( $_SERVER['HTTP_X_FORWARDED_FOR'] ) ) { $ip_addr = $_SERVER['HTTP_X_FORWARDED_FOR']; } elseif ( isset( $_SERVER['HTTP_CLIENT_IP'] ) ) { $ip_addr = $_SERVER['HTTP_CLIENT_IP']; } else { $ip_addr = $_SERVER['REMOTE_ADDR']; } } else { if ( getenv( 'HTTP_X_FORWARDED_FOR' ) ) { $ip_addr = getenv( 'HTTP_X_FORWARDED_FOR' ); } elseif ( getenv( 'HTTP_CLIENT_IP' ) ) { $ip_addr = getenv( 'HTTP_CLIENT_IP' ); } else { $ip_addr = getenv( 'REMOTE_ADDR' ); } } $ip_addr = filter_var( $ip_addr, FILTER_VALIDATE_IP ); // use mail address from WP Admin $email_to = get_option( 'admin_email' ); $subject = $subject . ' ' . __( 'via Hotel Reservation from', 'virtuti') . ' ' . $from; $body = esc_html__( 'Message:', 'virtuti') . ' ' . $message . "\n\n" . esc_html__( 'Name:', 'virtuti') . ' ' . $from . "\n" . esc_html__( 'E-mail:', 'virtuti') . ' ' . $email . "\n" . esc_html__( 'Phone:', 'virtuti') . ' ' . $phone . "\n" . esc_html__( 'Dates:', 'virtuti') . ' ' . $dates . "\n" . esc_html__( 'Check In:', 'virtuti') . ' ' . $checkin . "\n" . esc_html__( 'Check Out:', 'virtuti') . ' ' . $checkout . "\n" . esc_html__( 'IP:', 'virtuti') . ' ' . $ip_addr . "\n"; $headers = 'From: ' . $from . ' <' . $email . '>' . "\r\n"; if ( $cc ) // check for cc and include sender mail to reply $headers .= 'Reply-To: ' . $email; // Filter hooks for enhance the mail; sorry for long strings ;) $email_to = apply_filters( 'wp-contact-form-template-mail_email_to', $email_to ); $subject = apply_filters( 'wp-contact-form-template-mail_subject', $subject ); $body = apply_filters( 'wp-contact-form-template-mail_body', $body ); // send mail via wp mail function wp_mail( $email_to, $subject, $body, $headers ); // check for cc and send to sender if ( $cc ) { wp_mail( $email, esc_html__( 'CC:', 'virtuti' ) . ' ' . $subject, $body, $headers ); } // successfully mail shipping $email_sent = TRUE; } } do_action( 'wp-contact-form-template_form_before' ); ?> <form id="contactform" action="<?php the_permalink(); ?>#point2" method="post"> <fieldset> <?php do_action( 'wp-contact-form-template_form_top' ); if ( isset( $spam_error ) ) echo apply_filters( 'wp-contact-form-template_spam_message', '<' . $error_tag . ' class="alert">' . $spam_error . '</' . $error_tag . '>' ); if ( isset( $email_sent ) ) echo apply_filters( 'wp-contact-form-template_thanks_message', '<' . $error_tag . ' class="alert-notification">' . esc_html__( 'Your request has been sent. We shall respond soon.', 'virtuti' ) . '</' . $error_tag . '>' ); do_action( 'wp-contact-form-template_form_before_fields' ); ?> <div id="fields"> <div id="fields-left"> <!--============================================--> <div class="field"> <label for="checkin"><span class="asterisk">*</span> <?php echo esc_html_e('Check In', 'virtuti'); ?></label> <input type="date" id="checkin" name="checkin" placeholder="dd-mm-yyyy" value="<?php if ( isset( $checkin ) && ! isset( $email_sent ) ) echo esc_attr( $checkin ); ?>" /> <?php if ( isset( $checkin_error ) ) echo '<' . $error_tag . ' class="alert">' . $checkin_error . '</' . $error_tag . '>'; ?> </div><!--field--> <div class="field"> <label for="checkout"><span class="asterisk">*</span> <?php echo esc_html_e('Check Out', 'virtuti'); ?></label> <input type="date" id="checkout" name="checkout" placeholder="dd-mm-yyyy" value="<?php if ( isset( $checkout ) && ! isset( $email_sent ) ) echo esc_attr( $checkout ); ?>" /> <?php if ( isset( $checkout_error ) ) echo '<' . $error_tag . ' class="alert">' . $checkout_error . '</' . $error_tag . '>'; ?> </div><!--field--> <!--============================================--> <div class="field"> <label for="subject"><span class="asterisk">*</span> <?php echo esc_html_e('Type of room', 'virtuti'); ?></label> <input type="text" id="subject" name="subject" placeholder="Ex. Double room" value="<?php if ( isset( $subject ) && ! isset( $email_sent ) ) echo esc_attr( $subject ); ?>" /> <?php if ( isset( $subject_error ) ) echo '<' . $error_tag . ' class="alert">' . $subject_error . '</' . $error_tag . '>'; ?> <div class="f-toggle"> <div class="exc-top-res"> <p><?php echo esc_html_e('View room types →', 'virtuti');?></p> </div><!--exc-top-res--> <div class="info-bubble"> <figure> <div class="round2"> <h3 class="trigger"> <a href="#"> <span class="cb"><img src="<?php print IMAGES; ?>/images/plus.png" title="" alt=""/></span> <span class="ex"><img src="<?php print IMAGES; ?>/images/close2.png" title="" alt=""/></span> </a> </h3> <div class="toggle-containerroom"> <h4><?php echo esc_html_e('Room Types', 'virtuti'); ?></h4> <div class="lines"> <div class="line"></div> <div class="line"></div> <div class="line"></div> <div class="empty"></div> </div><!--lines--> <ul> <?php $args = array( 'post_type' => 'the_rooms', 'posts_per_page' => -1, 'orderby' => 'title', 'order' => 'ASC' ); $loop = new WP_Query( $args ); while ( $loop->have_posts() ) : $loop->the_post(); echo '<li>'; echo '<div class="r-types">'; echo '<h2>'; the_title(); echo '</h2>'; echo '<div class="featured-rooms">'; echo '<figure>'; the_post_thumbnail('full'); echo '</figure>'; echo '</div><!--featured-rooms-->'; echo '</div>'; echo '</li>'; endwhile; ?> </ul> <div class="empty"></div> </div><!--toggle-containerroom--> </div><!--round2--> </figure> </div><!--info-bubble--> </div><!--f-toggle--> </div><!--field--> </div><!--fields-left--> <!--============================================--> <div id="fields-right"> <!--============================================--> <div class="field"> <label for="from"><span class="asterisk">*</span> <?php echo esc_html_e( 'Your name', 'virtuti'); ?></label> <input type="text" id="from" name="from" value="<?php if ( isset( $from ) && ! isset( $email_sent ) ) echo esc_attr( $from ); ?>" /> <?php if ( isset( $from_error ) ) echo '<' . $error_tag . ' class="alert">' . $from_error . '</' . $error_tag . '>'; ?> </div><!--field--> <!--============================================--> <div class="field"> <label for="email"><span class="asterisk">*</span> <?php echo esc_html_e( 'Your e-mail address', 'virtuti'); ?></label> <input type="text" id="email" name="email" value="<?php if ( isset( $email ) && ! isset( $email_sent ) ) echo esc_attr( $email ); ?>" /> <?php if ( isset( $email_error ) ) echo '<' . $error_tag . ' class="alert">' . $email_error . '</' . $error_tag . '>'; ?> </div><!--field--> <!--============================================--> <div class="field"> <label for="phone"><span class="asterisk">*</span> <?php echo esc_html_e( 'Your phone number ', 'virtuti'); ?></label> <input type="text" id="phone" name="phone" value="<?php if ( isset( $phone ) && ! isset( $email_sent ) ) echo esc_attr( $phone ); ?>" /> <?php if ( isset( $phone_error ) ) echo '<' . $error_tag . ' class="alert">' . $phone_error . '</' . $error_tag . '>'; ?> </div><!--field--> </div><!--fields-right--> </div><!--fields--> <?php do_action( 'wp-contact-form-template_form_after_fields' ); ?> <!--============================================--> <div class="field mess"> <label for="text"><?php echo esc_html_e( 'Message', 'virtuti'); ?></label> <textarea id="text" name="text" cols="20" rows="10"><?php if ( isset( $message ) && ! isset( $email_sent ) ) echo esc_textarea( $message ); ?></textarea> </div><!--field--> <div class="field" style="display: none !important;"> <label for="text"><?php echo esc_html_e( 'Spam protection', 'virtuti'); ?></label> <input name="spamcheck" class="spamcheck" type="text" /> </div> <div class="field"> <input class="submit" type="submit" name="submit" value="<?php esc_html_e( 'Send request', 'virtuti'); ?>" /> </div> <?php wp_nonce_field( 'form_submit', 'contact_form_nonce' ) ?> <?php do_action( 'wp-contact-form-template_form' ); ?> </fieldset> </form> <?php do_action( 'wp-contact-form-template_form_after' ); ?> Το original theme και συγκεκριμένα η φορμα που μου δημιουργεί το πρόβλημα: http://preview.themeforest.net/item/keterwp-theme-for-small-hotels-guesthouses-rooms-for-rent-and-bb/full_screen_preview/9951333 Παράθέτω και φωτό με τη δικιά μου διαμόρφωση μέχρι το σφάλμα. Επίσης οταν έχω επιλέξει ημερομηνια το format της ειναι US mm-dd-yyyy και δεν ξέερω πως να το αλλάξω σε dd-mm-yyyy.
kosnik Δημοσ. 5 Ιουλίου 2019 Δημοσ. 5 Ιουλίου 2019 To input εχει name 'checkin', στο backend πας να το πάρεις με filter_var( trim( $_POST['check in'] ) υπάρχει κενό ανάμεσα στο check και στο in.... 1
alxnt Δημοσ. 5 Ιουλίου 2019 Μέλος Δημοσ. 5 Ιουλίου 2019 (επεξεργασμένο) Σε ευχαριστώ πολύ! Από χτες παιδεύομαι και ακρη δεν έβρισκα. Μήπως ξέρεις και πως το format της ημερομηνιας μπορει να γινει dd-mm-yyyy από mm-dd--yyyy; Φίλε σοβαρα τώρα θα σου αναψω λαμπάδα. Δεν απάνταγε κανενας σε ξενα φορουμ Επεξ/σία 5 Ιουλίου 2019 από alxnt
kosnik Δημοσ. 5 Ιουλίου 2019 Δημοσ. 5 Ιουλίου 2019 (επεξεργασμένο) Αυτο θα μπορουσες να το βρεις πολυ ευκολα με ενα γκουγκλάρισμα. Anyway, $date = "31-12-2019"; // d-m-Y $converted_date = date("m-d-Y", strtotime($date) ); * το αναποδο που θες θα το κανεις αντιστοιχα Επεξ/σία 5 Ιουλίου 2019 από kosnik
alxnt Δημοσ. 5 Ιουλίου 2019 Μέλος Δημοσ. 5 Ιουλίου 2019 Το εχω δει αυτό και αρκετά άλλα. Αυτο που παει ομως; Στο value του πεδιου "check in"; Το ανάποδο ειναι αυτό, σωστά; $date = "12-31-2019"; // m-d-Y $converted_date = date("d-m-Y", strtotime($date) );
alxnt Δημοσ. 6 Ιουλίου 2019 Μέλος Δημοσ. 6 Ιουλίου 2019 (επεξεργασμένο) Δυστυχώς δε δουλεύει εκτος κι αν κανω οτι να ναι https://jsfiddle.net/xtodz9ae/ Επεξ/σία 6 Ιουλίου 2019 από alxnt
vadou Δημοσ. 7 Ιουλίου 2019 Δημοσ. 7 Ιουλίου 2019 (επεξεργασμένο) Από το MDN: Αναφορά σε κείμενο One thing to note is that the displayed date format differs from the actual value — the displayed date format will be chosen based on the set locale of the user's browser, whereas the date value is always formatted yyyy-mm-dd. Συνεπώς, δε μπορείς να καθορίσεις το format, όχι natively τουλάχιστον. Προσωπικά έχω βρει ότι βολέβει περισσότερο να χρησιμοποιήσεις ένα text input σε συνδυασμό με κάποιο javascript datepicker. Επεξ/σία 7 Ιουλίου 2019 από vadou
alxnt Δημοσ. 7 Ιουλίου 2019 Μέλος Δημοσ. 7 Ιουλίου 2019 5 ώρες πριν, vadou είπε Από το MDN: Συνεπώς, δε μπορείς να καθορίσεις το format, όχι natively τουλάχιστον. Προσωπικά έχω βρει ότι βολέβει περισσότερο να χρησιμοποιήσεις ένα text input σε συνδυασμό με κάποιο javascript datepicker. Αυτό το κατάλαβα χτες γιατι είχα διαβασει κατι αντίστοιχο με αυτό που λες. Οπότε γύρισα το ff στα ελληνικα και όντως η ημερομηνία έγινε "ηη-μμ-εεεε". Παρόλα αυτά, αν και αυτονόητο το αναφέρω, στο mail που έρχεται η ημερομηνία φαίνεται ως π.χ: "2019-07-25". Θα ήθελα και αυτό να έχει μορφή dd-mm-yyyy. Με javascript datepicker θα λύσω το πρόβλημα για την εμφάνιση και στη σελίδα αλλά και στο mail;
vadou Δημοσ. 8 Ιουλίου 2019 Δημοσ. 8 Ιουλίου 2019 (επεξεργασμένο) Επειδή, μπορεί να το κατάλαβες, μπορεί και όχι, να σου εξηγήσω λίγο τι ακριβώς εννοεί. Το display date, δηλαδή η τιμή του πεδίου που βλέπεις/βλέπει ο χρήστης εξαρτάται από το localization του browser. Όπως σωστά παρατήρησες, αλλάζοντας τη γλώσσα του browser, αυτό αλλάζει. Το value, η πραγματική τιμή του πεδίου που αποστέλεται μέσω της φόρμας είναι ΠΑΝΤΑ της μορφής yyyy-mm-dd. Με βάση τα παραπάνω, μπορείς να κρατήσεις το native date input και να αλλάξεις τη μορφή της ημ/νίας πριν τη στείλεις (προσωπικά θα έκανα explode-array_reverse-implode από τη στιγμή που το μόνο που θέλεις στην ουσία είναι να αντιστρέψεις τη μορφή) ή να χρησιμοποιήσεις ένα text input όπως σου έγραψα παραπάνω και με κάποιο τρόπο (πχ date picker) να ορίζεις εσύ ακριβώς την τιμή (ή καλύτερα τη μορφή της τιμής) που θα έχει το πεδίο. Ελπίζω να σε κάλυψα. ΥΓ. Τώρα είδα το fiddle σου. Λογικό να μην παίζει... To snippet που σου έγραψε ο kosnick είναι php. Το JSFiddle δεν παίζει php. Αν το γράψεις στο σωστό σημείο στο αρχείο σου, θα παίξει μια χαρά. Επεξ/σία 8 Ιουλίου 2019 από vadou
kosnik Δημοσ. 8 Ιουλίου 2019 Δημοσ. 8 Ιουλίου 2019 (επεξεργασμένο) Όπως αναφέρθηκε και από το φίλο παραπάνω, 1. Χρησιμοποιήσε ένα js datepicker plugin , ωστε να ελέγξεις από τα options του to format της ημερομηνιας (πως θα φαινεται στο χρήστη και πως θα γίνεται submitted). Το input θα ειναι type text και το plugin θα αναλάβει τα υπόλοιπα. 2. Στο submission της φορμας, κάνεις μετατροπή με php - αν χρειαζεται - σε οποιο φορματ θες την υποβληθεισα ημερομηνια ωστε να αποθηκευτεί στη βάση σωστά. 1 -> javascript (frontent) 2 -> php (backend) Επεξ/σία 8 Ιουλίου 2019 από kosnik
alxnt Δημοσ. 8 Ιουλίου 2019 Μέλος Δημοσ. 8 Ιουλίου 2019 (επεξεργασμένο) Έβαλα το WP Datepicker. Κάνει τη δουλεια και το μόνο που με ενοχλεί είναι οτι συμπληρώνει αυτόματα το current day. Προσπάθησα να το κάνω σε μορφή dd-mm-yyyy ή έστω να μένει κενό, αλλά δεν το βρήκα ουτε στα settings του, ούτε και στον κωδικα. Επίσης πολύ λίγες επιλογές στη ρύθμιση της ημερομηνίας μέσα στο calendar. Δεν μπορείς να επιλέξεις π.χ το έτος ανεξάρτητα. Τέλος δε μου αρέσει πολύ το calendar που χρησιμοποιεί. Από εκει και πέρα προσπάθησα και την πιο manual επιλογή αλλά δεν τα κατάφερα. https://www.cssscript.com/date-picker-foopicker/ Έβαλα τα 2 αρχεία css και js στους αντίστοιχους φακέλους αλλά δεν καταφερα ποτε να τα κάνω bind. Στο readme έλεγε για "bower install foopicker". Αν κατάλαβα καλά για να γίνει αυτό πρέπει το WP να τρέχει στο localhost και όχι σε server οπως στη δικιά μου περίπτωση. UPDATE: Έπαιξε! <link rel="stylesheet" href="<?php echo get_template_directory_uri(); ?>/css/foopicker.css"> <script src="<?php echo get_template_directory_uri(); ?>/js/foopicker.js"></script> <div class="field"> <label for="checkin"><span class="asterisk">*</span> <?php echo esc_html_e('Check In', 'virtuti'); ?></label> <input type="text" id="checkin" name="checkin" value="<?php if ( isset( $checkin ) && ! isset( $email_sent ) ) echo esc_attr( $checkin ); ?>" placeholder="dd/MM/YYYY" /> <?php if ( isset( $checkin_error ) ) echo '<' . $error_tag . ' class="alert">' . $checkin_error . '</' . $error_tag . '>'; ?> <script> var foopicker = new FooPicker({ id: 'checkin', dateFormat: 'dd/MM/yyyy' }); </script> </div><!--field--> Επεξ/σία 9 Ιουλίου 2019 από alxnt
alxnt Δημοσ. 10 Ιουλίου 2019 Μέλος Δημοσ. 10 Ιουλίου 2019 Καλησπέρα και πάλι! Έχω αυτό το field: <div class="field"> <label for="subject"><span class="asterisk">*</span> <?php echo esc_html_e('Type of room', 'virtuti'); ?></label> <input type="text" id="subject" name="subject" placeholder="Ex. Double room" value="<?php if ( isset( $subject ) && ! isset( $email_sent ) ) echo esc_attr( $subject ); ?>" /> <?php if ( isset( $subject_error ) ) echo '<' . $error_tag . ' class="alert">' . $subject_error . '</' . $error_tag . '>'; και θέλω να είναι drop-down list με καποιες επιλογές. Π.χ: <select name="room_type" id="room_type"> <option value="">--</option> <option value="0" checked>double room</option> <option value="1">triple room</option> <option value="2">family room</option> </select> όμως η επιλογή θα πρεπει να είναι και το "subject" στο mail που γίνεται submit. Αυτό που δοκίμασα είναι το εξης: <div class="field"> <label for="subject"><span class="asterisk">*</span> <?php echo esc_html_e('Type of room', 'virtuti'); ?></label> <select name="room_type" id="room_type"> <option value="">--</option> <option value="0" checked>double room</option> <option value="1">triple room</option> <option value="2">family room</option> </select><?php if ( isset( $subject ) && ! isset( $email_sent ) ) echo esc_attr( $subject ); ?> <?php if ( isset( $subject_error ) ) echo '<' . $error_tag . ' class="alert">' . $subject_error . '</' . $error_tag . '>'; ?> Το πεδίο εμφανίζεται ΟΜΩΣ όταν επιλέγω και κάνω submit χτυπάει error "Please enter type of room", το error του subject δηλαδή. Επιπλέον δοκίμασα να προσθέσω και <input type="text"> αλλά έτσι προσθέτει και 2 πεδία. Το ένα αυτό που είχε στην αρχή συν το dropdown. Τέλος, δοκίμασα <div class="field"> <label for="subject"><span class="asterisk">*</span> <?php echo esc_html_e('Type of room', 'virtuti'); ?></label> <select name="room_type" id="room_type"> <option value="">--</option> <option value="0" checked>double room</option> <option value="1">triple room</option> <option value="2">family room</option> </select> <value=<?php if ( isset( $subject ) && ! isset( $email_sent ) ) echo esc_attr( $subject ); ?> /> <?php if ( isset( $subject_error ) ) echo '<' . $error_tag . ' class="alert">' . $subject_error . '</' . $error_tag . '>'; ?> αλλά και αυτο χτυπάει το ίδιο error.
kosnik Δημοσ. 11 Ιουλίου 2019 Δημοσ. 11 Ιουλίου 2019 Δεν καταλαβαίνω τι ακριβως θες να κάνεις. Εχεις ενα input 'subject', το οποιο ειναι text, και ενα dropdown με τον τυπο δωματιου. Στο submit της φορμας θα σταλουν και τα 2, και μπορείς να τα κάνεις ότι θελεις πίσω. Τι εννοεις λεγοντας "όμως η επιλογή θα πρεπει να είναι και το "subject" στο mail που γίνεται submit." ? Τι ακριβώς θες να πάρεις όταν γινει submitted η φορμα?
alxnt Δημοσ. 11 Ιουλίου 2019 Μέλος Δημοσ. 11 Ιουλίου 2019 Αυτο το πεδίο είναι ο τυπος δωματιου που εμφανίζεται στο "θεμα" του mail οταν γινεται submit. Εγω θελω να μην ειναι text και να γινει drop down. Ετσι οπως το εκανα εγινε drop down, αλλα οταν κανω submit μου βγαζει να συμπληρωσω το πεδιο.
kosnik Δημοσ. 12 Ιουλίου 2019 Δημοσ. 12 Ιουλίου 2019 Αν απλα στελνεις ενα email και δεν αποθηκευεις κάτι στη βάση, απλά πετα το text input του subject, κράτα το Dropdown, ονομασε το select (name, id) 'subject' (δλδ αντικατέστησε το 'room_type'), βάλε σαν values στα options το κείμενο που θες για το καθένα να φαίνεται στο mail που θα στειλεις π.χ. <option value="Double Room" checked>double room</option> To backend προφανως δεν θα πρέπει να περιμένει τπτ σχετικό με 'room_type', σε περιπτωση που εχεις κωδικα που το περιμενει σαν required.
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα