Jump to content

Errors In Php Code With "preg_Match() Function.preg-Match" And Cannot Modify Header Information -?


andierue

Recommended Posts

I am getting some errors on my PHP form ---

first one is

 

Warning: preg_match() [function.preg-match]: Delimiter must not be alphanumeric or backslash in /home/content/52/9922952/html/sg_contact… on line 38

 

and the other is

 

Warning: Cannot modify header information - headers already sent by (output started at /home/content/52/9922952/html/sg_contact… in /home/content/52/9922952/html/sg_contact… on line 48

 

 

HERE IS MY ORIGINAL CODE FOR THE FILE---PLEASE HELP WITH THE CHANGES I NEED TO MAKE--

 

______________________________________…

 

 

<?php

 

/* This PHP form mailing script created by SiteGrinder 3.1.2 s_239 http://www.medialab.com/sitegrinder3 */

 

function stripFormSlashes($arr)

{

if(!is_array($arr))

{

return stripslashes($arr);

}

else

{

return array_map('stripFormSlashes', $arr);

}

}

 

if(get_magic_quotes_gpc())

{

$_POST = stripFormSlashes($_POST);

}

if(($_POST['email']==""))

{

echo "<html><body><p>The following fields are <strong>required</strong>.</p><ul>";

if($_POST['email'] == ""){ echo "<li>*Email</li>"; }

echo "</ul><p>Please use your browsers <a href=\"javascript:history.back();\">Back… button and fill out these fields.</p></body></html>";

}

else

{

$message = "";

$message .= "Name: " . htmlspecialchars($_POST['name'], ENT_QUOTES) . "<br>\n";

$message .= "*Email: " . htmlspecialchars($_POST['email'], ENT_QUOTES) . "<br>\n";

$message .= "Inquiring: " . htmlspecialchars($_POST['inquiring'], ENT_QUOTES) . "<br>\n";

$message .= "Comments: " . htmlspecialchars($_POST['comments'], ENT_QUOTES) . "<br>\n";

$lowmsg = strtolower($message);

$injection_strings = array ( "content-type:","charset=","mime-version…

foreach($injection_strings as $suspect)

{

if(( preg_match($suspect, $lowmsg)) || ( preg_match($suspect, strtolower($_POST['name']))) || ( preg_match($suspect, strtolower($_POST['email']))))

{

die ( 'Illegal Input. Go back and try again. Your message has not been sent.' );

}

}

$headers = "MIME-Version: 1.0\r\nContent-type: text/html; charset=iso-8859-1\r\n";

$headers .= "From: \"" . $_POST['name'] . "\" <" . $_POST['email'] . ">\r\n";

$headers .= "Reply-To: " . $_POST['email'] . "\r\n";

$message = utf8_decode($message);

mail("andierue@yahoo.com", "Authentic Health Inquiry", $message, $headers);

header("Location: http://www.authentichealthbykate/thank-you.html");

}

?>

______________________________________…

 

 

THANK YOU VERY MUCH FOR YOUR TIME!!!!!!!

contact_i51contact.php

Link to comment
Share on other sites

i don't know what it didn't show up on here, but in the actual code ( see attached file) it is closed out already

 

 

$message = "";

$message .= "Name: " . htmlspecialchars($_POST['name'], ENT_QUOTES) . "<br>\n";

$message .= "*Email: " . htmlspecialchars($_POST['email'], ENT_QUOTES) . "<br>\n";

$message .= "Inquiring: " . htmlspecialchars($_POST['inquiring'], ENT_QUOTES) . "<br>\n";

$message .= "Comments: " . htmlspecialchars($_POST['comments'], ENT_QUOTES) . "<br>\n";

$lowmsg = strtolower($message);

$injection_strings = array ( "content-type:","charset=","mime-version:","multipart/mixed","bcc:","cc:");

foreach($injection_strings as $suspect)

{

if(( preg_match($suspect, $lowmsg)) || ( preg_match($suspect, strtolower($_POST['name']))) || ( preg_match($suspect, strtolower($_POST['email']))))

{

die ( 'Illegal Input. Go back and try again. Your message has not been sent.' );

}

}

$headers = "MIME-Version: 1.0\r\nContent-type: text/html; charset=iso-8859-1\r\n";

$headers .= "From: \"" . $_POST['name'] . "\" <" . $_POST['email'] . ">\r\n";

$headers .= "Reply-To: " . $_POST['email'] . "\r\n";

$message = utf8_decode($message);

mail("kferguson@authentichealthbykate.com", "Authentic Health Inquiry", $message, $headers);

header("Location: http://www.authentichealthbykate/thank-you.html");

}

?>

Link to comment
Share on other sites

thank you for all the responses, i am still having issues trying to figure out where to my delimiters, i am not really a php coding guy and unfamiliar with alot of the language.

Basically i have this form for my client at http://authentichealthbykate.com/contact.html and it is supposed to go to a thank you page when you submit the form --- http://authentichealthbykate.com/thank-you.html

 

whenever i submit the form, the email sends, but i get all the errors on the next page ---

Warning: preg_match() [function.preg-match]: Delimiter must not be alphanumeric or backslash in /home/content/52/9922952/html/sg_contact… on line 38

 

Warning: Cannot modify header information - headers already sent by (output started at /home/content/52/9922952/html/sg_contact… in /home/content/52/9922952/html/sg_contact… on line 48

 

 

i am just trying to figure out how to send the message, have no issues and get it to go to the thank you page.

Link to comment
Share on other sites

This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.