将JS字符串与PHP字符串匹配

时间:2013-06-07 13:47:57

标签: php javascript jquery

我想将JS字符串“导出”到PHP处理脚本并匹配它们。当它们匹配时,我想通过一个简单的验证过程,如果验证成功,发送一封电子邮件。

为了正确看待这一点,这是我的代码到目前为止的样子:

我有大约40个div,每个divs represnting一个项目。下面的html只是一个

的例子

HTML

<div class="Post odd postStyles">
    <input class="cheap" data-mail="email@sample.com" name="option" type="radio">
    <article>
        <h6 class="casinoHeading">Grosvenor Casino Birmingham</h6>
        <p class="">84 Hill Street, Birmingham, B5 4AH</p>
    </article>
</div>

如您所见,我正在使用html5数据属性作为我想要使用的字符串。

然后我使用Jquery data()函数检索此字符串。

请参阅以下内容:

$("input").click(function(){
    var mail = $(this).data();
    console.log(mail);
})

不幸的是,这就是我迷失的一点点。我希望能够将可变邮件传递给php脚本,然后运行循环并找到正确的字符串。 通过一些简单的验证运行,然后发送电子邮件。

这是我写的PHP脚本:

<?php

    $emails = array(
        "email@sample.com", 
        "email@sample1.com", 
        "email@sample2.com", 
    );

    foreach($emails as $val) {
        print $val;
    }

    if(isset($_POST ['Name'], $_POST ['Telephone'], $_POST ['Position'], $_POST['Email'], $_POST ['Noparty'], $_POST ['Message'], $_POST ['Adress'], $_POST ['PostCode'], 
    $_POST ['Date'], $_POST ['Time'])) {
        var errors = array();
        $name = htmlentities(mysql_real_escape_string(strip_tags($_POST['Name'])));
        $telephone = htmlentities(mysql_real_escape_string(strip_tags($_POST['Telephone'])));
        $email = strip_tags(mysql_real_escape_string(htmlentities($_POST['Email'])));
        $position = strip_tags(mysql_real_escape_string(htmlentities($_POST['Position'])));
        $noparty = strip_tags(mysql_real_escape_string(htmlentities($_POST['Noparty'])));
        $message = mysql_real_escape_string(htmlentities(strip_tags($_POST['Message'])));
        $address = mysql_real_escape_string(htmlentities(strip_tags($_POST['Adress'])));
        $postcode = mysql_real_escape_string(htmlentities(strip_tags($_POST['PostCode'])));
        $date = mysql_real_escape_string(htmlentities(strip_tags($_POST['Date'])));
        $time = mysql_real_escape_string(htmlentities(strip_tags($_POST['Time'])));

        if(empty($name) || empty($telephone) || empty($email) || empty($position) || empty($noparty) || empty($message) || empty($address) || empty($postcode) || empty($date)
        empty($time)){
            $errors [] = "<span class='error'>Please fill in the required fields!</span>";
        }else{
            if(strlen($name)<=2 || strlen($name)>25){
                $errors [] = "<span class='error'>Sorry, username should be between 2 and 25 Charachters</span>";
            }
        }
        //If all runs through sucessfully - send email
    } 
?>

基本上我希望能够将该变量发送给PHP(可能带有AJAX请求),检查它然后用它运行一些验证。

任何人都可以帮忙吗?

非常感谢,

安东尼奥

1 个答案:

答案 0 :(得分:-1)

很抱歉,我真的不明白你的意思。你可以使用$ .post发送一个表单,然后通过PHP返回JSON,错误或状态OK。

您可以通过这种方式获取属性:

var mail;
$("input").click(function(){
   mail = $(this).val();
   if(!mail)
        mail = $(this).attr("data-mail"); 
});
$("#submit-button").on("click", function(e)
{
    e.preventDefault();
    $.post({});
});

您应该采用传统方式:html表单,隐藏输入和简单的提交按钮。