-1

メール ストリップが実行されないのはなぜですか? 私は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>
4

1 に答える 1

1

グローバル変数はokay()内には表示されません。

それらにアクセスできるようにするには、global-keywordまたは$GLOBALS-arrayを使用できます。

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

于 2012-08-27T07:33:11.440 に答える