0

あなたのメッセージが受信されたことに感謝するアラートを表示する必要がありますが、これはうまくいかないので、どうすればよいか教えてください。

 <h4>Send Your Feedback Here.<p>

      <form name ="register" action="contact.php" method="post"    enctype="multipart/form-data">

          Name<br>
          <input type="text" name="name" size="30">
        </p>
        <p>
        Email<br>
        <input type="text" name="email" size="30"></p><p>
         Message<br>
        <textarea name="message" rows="5" cols="40"></textarea>
        <p>

        </p>          
        <p>
        Security Check<br>

            Sum of <?php $a = rand(0,9);
                        $b = rand(0,9); 
                        echo $a . "+" . $b ; 
                        $result = $a + $b ;
                        ?>  =       
            <input type="text" name="ver"  /><input type="hidden" name="rval" value="<?php echo $result; ?>" />
          <button type="button" onClick="validate()">Send</button>
        </p>
      </form>


<script type="text/javascript">
        function validate()
    {
        var x = document.register.ver.value;
        var y = document.register.rval.value;
        var nameCheck = document.register.name.value, 
        emailCheck = document.register.email.value, 
        msgCheck = document.register.message.value;

    var msg ="";
    if(x!=y)
    {
    msg+= "Sorry!! Captcha Mismached."+"\n";
    }
    if(nameCheck=="")
    {
        msg+= "Dont you have a name????"+"\n";
    }
    if(emailCheck=="")
    {
        msg+= "Enter email... how am I supposed to contact you"+"\n";
    }
    if(msgCheck="")
    {
        msg+= "Dont you have any messages for me??"+"\n";
    }   

    if(msg!="")
    {
    alert(msg);
    }

    else
    {
            <?php
//Get message data.
$name = $_POST['name'];
$message = $_POST['message'];
$email=$_POST['email'];
$ver = $_POST['ver'];  
$rval = $_POST['rval'];

if($ver==$rval)
{
//Email it.
mail(
  'example@example.com',  //Where to send
"Contact form - $name", //Email subject
  $message,               //Message body
  $email                    //email address  
);
echo "<script type=\"text/javascript\">alert('Thank you form is submitted');</script>";
    }
else
{
     echo "<script type=\"text/javascript\">alert('Wrong captcha');</script>";
}

?>

    }
}

4

2 に答える 2

2

そのようにJavaScriptとPHPを混在させることはできません。PHPは、ページがユーザーに提供される前に、提供されたもので解析されます。とにかくページが生成されたときにコードが実行されるため、 JavaScriptelseブロック内にそれを含めても効果はありません。

AJAXの使用を検討する必要があります。

于 2013-02-06T13:07:52.850 に答える
-2
<script type="text/javascript">
function thevalidate()
    {
        var x = document.register.ver.value;
        var y = document.register.rval.value;
        var nameCheck = document.register.name.value, 
        emailCheck = document.register.email.value, 
        msgCheck = document.register.message.value;

        var msg ="";
        if(x!=y) {
            msg+= "Sorry!! Captcha Mismached."+"\n";
        }

        if(nameCheck=="") {
            msg+= "Dont you have a name????"+"\n";
        }
        if(emailCheck=="") {
            msg+= "Enter email... how am I supposed to contact you"+"\n";
        }
        if(msgCheck="") {
            msg+= "Dont you have any messages for me??"+"\n";
        }   

        if(msg!="") {
            alert(msg);
        } else {


            <?php
            //You need  to process data here..
            ?>


        }
}

</script>
 <h4>Send Your Feedback Here.<p>

      <form name ="register" action="php/process.php" method="post"    enctype="multipart/form-data">

          Name<br>
          <input type="text" name="name" size="30">
        </p>
        <p>
        Email<br>
        <input type="text" name="email" size="30"></p><p>
         Message<br>
        <textarea name="message" rows="5" cols="40"></textarea>
        <p>

        </p>          
        <p>
        Security Check<br>

            Sum of <?php $a = rand(0,9);
                        $b = rand(0,9); 
                        echo $a . "+" . $b ; 
                        $result = $a + $b ;
                        ?>  =       
            <input type="text" name="ver"  /><input type="hidden" name="rval" value="<?php echo $result; ?>" />
          <button type="button" onClick="thevalidate()">Send</button>
        </p>
      </form>
于 2013-02-06T13:15:00.350 に答える