email - Notice: Undefined index: phone in contact.php on line 17 -
this question has answer here:
i have read quite number of prior posts figure out, no error fixes work. please note i've added field form request contact number, after inserting line 17 form no longer works. if take out line 17 form works, im not sent number inputted form-field.
line 17 produces error on web page:
notice: undefined index: phone in /contact.php on line 17
this line 17: $phone = $_post['phone'];
here entire code:
if(!$_post) exit; function isemail($email) { return(preg_match("/^[-_.[:alnum:]]+@((([[:alnum:]]|[[:alnum:]][[:alnum:]-]*[[:alnum:]])\.)+(ad|ae|aero|af|ag|ai|al|am|an|ao|aq|ar|arpa|as|at|au|aw|az|ba|bb|bd|be|bf|bg|bh|bi|biz|bj|bm|bn|bo|br|bs|bt|bv|bw|by|bz|ca|cc|cd|cf|cg|ch|ci|ck|cl|cm|cn|co|com|coop|cr|cs|cu|cv|cx|cy|cz|de|dj|dk|dm|do|dz|ec|edu|ee|eg|eh|er|es|et|eu|fi|fj|fk|fm|fo|fr|ga|gb|gd|ge|gf|gh|gi|gl|gm|gn|gov|gp|gq|gr|gs|gt|gu|gw|gy|hk|hm|hn|hr|ht|hu|id|ie|il|in|info|int|io|iq|ir|is|it|jm|jo|jp|ke|kg|kh|ki|km|kn|kp|kr|kw|ky|kz|la|lb|lc|li|lk|lr|ls|lt|lu|lv|ly|ma|mc|md|me|mg|mh|mil|mk|ml|mm|mn|mo|mp|mq|mr|ms|mt|mu|museum|mv|mw|mx|my|mz|na|name|nc|ne|net|nf|ng|ni|nl|no|np|nr|nt|nu|nz|om|org|pa|pe|pf|pg|ph|pk|pl|pm|pn|pr|pro|ps|pt|pw|py|qa|re|ro|ru|rw|sa|sb|sc|sd|se|sg|sh|si|sj|sk|sl|sm|sn|so|sr|st|su|sv|sy|sz|tc|td|tf|tg|th|tj|tk|tm|tn|to|tp|tr|tt|tv|tw|tz|ua|ug|uk|um|us|uy|uz|va|vc|ve|vg|vi|vn|vu|wf|ws|ye|yt|yu|za|zm|zw)$|(([0-9][0-9]?|[0-1][0-9][0-9]|[2][0-4][0-9]|[2][5][0-5])\.){3}([0-9][0-9]?|[0-1][0-9][0-9]|[2][0-4][0-9]|[2][5][0-5]))$/i",$email)); } if (!defined("php_eol")) define("php_eol", "\r\n"); $name = $_post['name']; $email = $_post['email']; $phone = $_post['phone']; //this line line 17 causing error. $comment = $_post['comment']; if(trim($name) == '') { echo '<div class="error_message">attention! must enter name. </div>'; exit(); } else if(trim($email) == '') { echo '<div class="error_message">attention! please enter valid email address.</div>'; exit(); } else if(!isemail($email)) { echo '<div class="error_message">attention! have enter invalid e-mail address, try again.</div>'; exit(); } if(trim($phone) == '') { echo '<div class="error_message">attention! must enter mobile or landline number.</div>'; exit(); } if(trim($comment) == '') { echo '<div class="error_message">attention! please enter message.</div>'; exit(); } if(get_magic_quotes_gpc()) { $comment = stripslashes($comment); } $address = "joe.doe@yourdomain.com"; $e_subject = 'you\'ve been contacted ' . $name . '.'; $e_body = "you have been contacted $name regards $subject , additional message follows." . php_eol . php_eol; $e_content = "\"$comment\"" . php_eol . php_eol; $e_reply = "you can contact $name via email: $email or calling $phone"; $msg = wordwrap( $e_body . $e_content . $e_reply, 70 ); $headers = "from: $email" . php_eol; $headers .= "reply-to: $email" . php_eol; $headers .= "mime-version: 1.0" . php_eol; $headers .= "content-type: text/plain; charset=utf-8" . php_eol; $headers .= "content-transfer-encoding: quoted-printable" . php_eol; if(mail($address, $e_subject, $msg, $headers)) { // email has sent successfully, echo success page.
echo "<div class='ok_message'><p>thank <strong>$name</strong>, message has been submitted us.</p></div>"; } else { echo '<div class="error_message">error!</div>'; } if require form, please let me know has me stumped.
the form:
<form method="get" action="contact.php" class="form contact-form"> <fieldset> <h2>make booking</small></h2> <div id="message"></div> <div class="formrow"> <div class="textfield"> <input type="text" name="name" id="name" placeholder="your name ..." /> </div> </div> <div class="formrow"> <div class="textfield"> <input type="text" name="email" id="email" placeholder="your email ..." /> </div> </div> <div class="formrow"> <div class="textfield"> <input type="text" name="phone" id="phone" placeholder="mobile or landline ..." /> </div> </div> <div class="formrow"> <div class="textfield"> <textarea cols="20" name="comment" id="comment" rows="4" placeholder="when need ..."></textarea> </div> </div> <div class="formrow"> <button class="btnsmall btn submit right"> <span>send message</span> </button> </div> </fieldset> </form>
your form using method method="get" should post method="post"
even though you're getting 1 notice, more.
it's been said in comments don't have 1 phone, do.
<input type="text" name="phone" id="phone" .... it's form's method.
all other arrays post, not get.
also use conditional !empty() post arrays.
plus, button:
<button class="btnsmall btn submit right">... it's missing type.
<button class="btnsmall btn submit right" type="submit">...
Comments
Post a Comment