当用户使用html提交数据时,如何运行PHP代码

时间:2015-07-11 13:10:11

标签: javascript php jquery html ajax

我写了一段代码,当用户点击提交按钮时它会向PHP发送一个字符串,然后我的代码将运行一个Mysql查询(基于提交的字符串),然后使用file_put_content它将上传mysqli_fetch_array结果到文件。 我想要做的就是不刷新页面,它将值提交给php表单并运行代码,然后向用户显示<a href="export.csv">Download From Here</a>。 我应该如何使用javascript或jQuery?

  if(@$_POST['submit']) {
         if (@$_POST['export']) {
             $form = $_POST['export'];
             echo $form;
             $con1 = mysqli_connect("localhost", "root", "", "test_pr");
             $sql2 = "SELECT email FROM `my_data` WHERE email LIKE '%$form%'";
             $result2 = mysqli_query($con1, $sql2);


             $rows = array();
             while ($row = mysqli_fetch_array($result2, MYSQLI_ASSOC)) {
                 $rows[] = $row['email'] . PHP_EOL;
             }


             $nn = implode("", $rows);

             var_dump($rows);
             echo $nn . PHP_EOL;


             $file = fopen("export.csv", "w");


             file_put_contents("export.csv", $nn);


             fclose($file);
         }
        }


    ?>

    <html>

    <form enctype="multipart/form-data" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>" method=post>
        <input name="export" type="text" value="example"  /> Export Address<br/>
        <input name="submit" type="submit" value="submit"  />
        <a href="export.csv">Download From Here</a>
    </form>
    </html>

2 个答案:

答案 0 :(得分:0)

好像你想使用AJAX。

看一下这个问题的接受答案: jQuery AJAX submit form

答案 1 :(得分:0)

假设您知道如何包含jquery,您首先将提交处理程序绑定到提交按钮,(我添加了一个id以使其更容易)并阻止默认的提交操作。然后向处理程序添加一个AJAX post请求。这将发布到您的PHP文件。让该文件回显你的链接,然后让ajax回调函数将它附加到所需的元素。像这样:

<form enctype="multipart/form-data" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>" method="post" id="form1" //Add an id to handle with >
    <input name="export" type="text" value="example"  /> Export Address<br/>
    <input name="submit" type="submit" value="submit"  />
    <a href="export.csv">Download From Here</a>
</form>
<script>
    $("#form1").submit(function (event) {
        event.preventDefault();
        $.post("//path of your php file here",{inputText: $("input[type='text']")},function (returnedString) {
            $("#whereToPutReturnedString").append(returnedString);
        });
    });
</script>

此外,如果您只想在单击按钮时显示链接,请执行以下操作:

 <script>
     $("input[type='submit']").submit(function () {
         $("#idOfElementToPlaceLink").append("<a href="yourlink">Your anchor text</a>");
     });
 </script>

或者你可以用css或jquery隐藏它并执行$(“#theId”)。show();

如果您需要更多帮助,请大声喊叫!