Forum Moderators: coopster

Message Too Old, No Replies

PHP code syntax help

         

m8fyu

11:46 am on Nov 26, 2009 (gmt 0)

10+ Year Member



I've picked up someone elses code and am having a problem trying to get a contact form to send.

the problem seems to happen when this line of code is executed, but i'm relatively new to PHP and could do with a little help in finding out what this actually means.

if(mail($whoto,$c_subject,$c_message,"From: $c_email","-f $c_email"))

thanks in advance.

m8fyu

11:48 am on Nov 26, 2009 (gmt 0)

10+ Year Member



the whole function is this:

function smd_send_contact_message($arr)
{
$rec = array(1=>"reservations",2=>"info",3=>"marketing");
$c_name = adminTools::make_email_safe(adminTools::get_passed_var("cname"),true);
$c_email = adminTools::make_email_safe(adminTools::get_passed_var("cemail"),true);
$c_subject = adminTools::make_email_safe(adminTools::get_passed_var("csubject"),true);
$c_message = adminTools::make_email_safe(adminTools::get_passed_var("cmessage"));
$c_who = adminTools::get_passed_var("cwho");

if(!empty($c_name))
{
if(!empty($c_email))
{
if(!empty($c_subject))
{
if(!empty($c_message))
{
//$whoto = $rec[$c_who]."@example.com";
$whoto = "mrobinson@example.com";

if(mail($whoto,$c_subject,$c_message,"From: $c_email","-f $c_email"))
{
$str = "Your message has been sent - thank you.";

########################## ADD MAILING LIST ########################
$sql = "SELECT FirstName_txt,EmailAddress_txt,ActiveFlag_flg FROM tblTarget ";
$sql .= "WHERE EmailAddress_txt='$c_email'";
//echo $sql;
$this->_parent->db->readx($sql);
$rc = $this->_parent->db->resultcount();
$re=0;
if ($rc>0) {
if ($this->_parent->db->data[0][2]==0) {
$sql="UPDATE tblTarget SET FirstName_txt='$c_name', ActiveFlag_flg=1 ";
$sql.="WHERE EmailAddress_txt='$c_email'";
$this->_parent->db->writex($sql);
$re=1;
}
}
else {
$sql="INSERT INTO tblTarget(FirstName_txt, EmailAddress_txt, Stamp, Country) ";
$sql.="VALUES('$c_name', '$c_email', NOW(), '')";
$this->_parent->db->writex($sql);
$re=1;
}

if($re==1) {
$sql = "SELECT idtblTarget,Stamp FROM tblTarget WHERE EmailAddress_txt='$c_email'";
$this->_parent->db->readx($sql);
$idtblTarget = $this->_parent->db->data[0][0];
$idtblGroup=139; //Enquire Customers

$sql = "INSERT INTO tblTarget_in_tblGroup(idtblTarget_fk, idtblGroup_fk, Stamp) ";
$sql .= "values($idtblTarget, $idtblGroup, NOW())";
$this->_parent->db->writex($sql);
}
########################## END ADD MAILING LIST ########################

}
else
$str = "Your message has NOT been sent - Sorry.<br />There seems to be a problem with our system at the moment.";
}
else
$str = "Please supply a Message.";
}
else
$str = "Please supply a Subject Line.";
}
else
$str = "Please supply an Email Address.";
}
else
$str = "Please supply a Name.";
return $str;
}

[edited by: dreamcatcher at 11:59 am (utc) on Nov. 26, 2009]

[edited by: eelixduppy at 5:13 pm (utc) on Nov. 26, 2009]
[edit reason] use example.com. Thanks. [/edit]

Tommybs

9:43 pm on Nov 28, 2009 (gmt 0)

10+ Year Member



Does it produce any error messages? Have you tried removing parts of the mail function?

e.g cut out the last bit

mail($whoto,$c_subject,$c_message,"From: $c_email")

does the email actually send or are the issues with the code within the 'if' block