embeded contact from probs

For questions and problems with the CMS core. This board is NOT for any 3rd party modules, addons, PHP scripts or anything NOT distributed with the CMS made simple package itself.
Locked
itsc.net

embeded contact from probs

Post by itsc.net »

hey guys,

i have embeded a contact form however it doesn't send the mail, and it redirect to the home page whether you enter any details or not.

i use this script on a few sites so i know it works on a static site, but this is my 1st time with CMSMS.

here is the script

Code: Select all

<?php

$errmsg  = ''; // error message
$sname   = ''; // sender's name
$email   = ''; // sender's email addres
$subject = ''; // message subject
$message = ''; // the message itself

if(isset($_POST['send']))
{
	$sname   = $_POST['sname'];
	$email   = $_POST['email'];
	$subject = $_POST['subject'];
	$message = $_POST['message'];
	
	if(trim($sname) == '')
	{
		$errmsg = 'Please enter your name';
	} 
	else if(trim($email) == '')
	{
		$errmsg = 'Please enter your email address';
	}
	else if(!isEmail($email))
	{
		$errmsg = 'Your email address is not valid';
	}
	else if(trim($subject) == '')
	{
		$errmsg = 'Please enter message subject';
	}
	else if(trim($message) == '')
	{
		$errmsg = 'Please enter your message';
	}
	
	if($errmsg == '')
	{
		if(get_magic_quotes_gpc())
		{
			$subject = stripslashes($subject);
			$message = stripslashes($message);
		}	
		
		// the email will be sent here
		$to      = "email@email.com";
		
		// the email subject ( modify it as you wish )
		$subject = '[Contact] : ' . $subject;
		
		// the mail message ( add any additional information if you want )
		$msg     = "From : $sname \r\n " . $message;
		
		mail($to, $subject, $msg, "From: $email\r\nReply-To: $email\r\nReturn-Path: $email\r\n");
?>
<div align="center"><p>Your message is sent. Click <a href="../index.php">here</a> to 
  go back to homepage </p></div>
<?php
	}
}


if(!isset($_POST['send']) || $errmsg != '')
{
?>

	
	<p>Please feel free to contact us about any queries you may have by completing the form below. We will respond as soon as possible. Thanks You.</p>
	
<div align="center" class="errmsg"><?=$errmsg;?></div>
<form  method="post"  name="msgform" id="msgform" action="<? echo $_SERVER['PHP_SELF']; ?>">
	<fieldset>
		<ul>
			<li>
				<label>Your Name (required)</label>
				<input name="sname" type="text" class="box" size="30" id="sname" value="<?=$sname;?>" />
			
				<label>Your Email (required)</label>
				<input name="email" type="text" class="box" size="30" id="email" value="<?=$email;?>" />
			</li>
			<li>
				<label>Company name</label>
				<input name="company" type="text" class="box" id="company" value="<?=$company;?>" />
			</li>
			<li>
				<label>Subject (required)</label>
				<input name="subject" type="text" class="box" id="subject" value="<?=$subject;?>" />
			</li>
			<li>
				<label>Message (required)</label>
				<textarea name="message"  rows="10" class="box" id="message"><?=$message;?></textarea>
			</li>
		</ul>
	</fieldset>
    
	<fieldset class="submit">
       <span class="button"><input name="send" type="submit" class="contact_submit" id="send" value="Submit" onclick="return checkForm();" /></span>
    </fieldset>
</form>
<?php
}

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|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));
}
?>
any ideas?
RonnyK
Support Guru
Support Guru
Posts: 4962
Joined: Wed Oct 25, 2006 8:29 pm

Re: embeded contact from probs

Post by RonnyK »

Why dont you use the standard tag {contact_form} or the module FormBuilder instead.

Ronny
itsc.net

Re: embeded contact from probs

Post by itsc.net »

i found it easier to use a script which i'm used to, any ideas why this wont work?
Ted
Power Poster
Power Poster
Posts: 3329
Joined: Fri Jun 11, 2004 6:58 pm

Re: embeded contact from probs

Post by Ted »

You need a hidden variable that sends the name of the page that you're on.

Code: Select all

<?php
global $gCms;
$page = $gCms->variables['page'];
?>
<input type="hidden" name="page"><?php echo $page;?></input>
Locked

Return to “CMSMS Core”