即使使用isset和empty,php Mail函数也无法正常工作

时间:2012-08-27 06:49:58

标签: php email

为什么我的电子邮件sript没有运行?我尝试使用isset(),strlen(),我也将它与其他页面一起使用,即在其他页面中使用脚本,并将表单的动作设置到该页面url。 变量不是空的。下面提到的是我的脚本的完整代码

    <body>
<?
$to="sunjava11@gmail.com";
$name=$_POST["name"];
$email=$_POST["name2"];
$phone=$_POST["name3"];
$text=$_POST["message"];
$message="
Name: ".$name."\n
Email: ".$email."\n
Phone: ".$phone."\n
Message: ".$text."
";
function okay (){

if(!empty($name))
{
return true;
}

if(!empty($email))
{

return true;
}

if(!empty($text))
{

return true;
}
}

if (okay()==true)
{
$headers="From ".$name;
$subject="Contact Online at Al-Khidmat Punjab Website ";
mail($to,$subject,$message,$headers);
}
else
{
echo "mail not sent";
}






?>
<form id="form1" name="form1" method="post" action="/subpage-recv">
  <table width="618" border="0" cellpadding="0" cellspacing="0">
    <tr>
      <td width="232" class="leftCol">Name</td>
      <td width="370"><label for="name"></label>
      <input type="text" name="name" id="name" class="input" /></td>
    </tr>
    <tr>
      <td class="leftCol">Email</td>
      <td class="rightCol"><input type="text" name="name2" id="name2" class="input" /></td>
    </tr>
    <tr>
      <td class="leftCol">Phone Number <span class="smalltext">(optional)</span></td>
      <td class="rightCol"><input type="text" name="name3" id="name3" class="input" /></td>
    </tr>
    <tr>
      <td class="leftCol" style="border:none">Message</td>
      <td class="rightCol" style="border:none"><label for="message"></label>
      <textarea name="message" id="message" cols="45" rows="5" ></textarea></td>
    </tr>
    <tr>
      <td colspan="2" align="center"><input type="submit" value="Send" id="send"></td>      
    </tr>
  </table>
</form>
</body>

1 个答案:

答案 0 :(得分:1)

全局变量在okay()中不可见。

您可以使用global-keyword或$ GLOBALS-array来访问它们。

http://php.net/manual/en/language.variables.scope.php