我如何运行一个PHP代码时,用户提交数据与html

How do I run a PHP code when user submit data with html

本文关键字:用户 数据 html 代码 提交 一个 何运行 运行 PHP      更新时间:2023-09-26

我写了一段代码,当用户点击提交按钮时,它发送一个字符串到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>

假设您知道如何包含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();

如果你需要更多的帮助,就喊一声!