【问题标题】:How to run PHP code when pressing input button?按下输入按钮时如何运行PHP代码?
【发布时间】:2020-03-05 11:36:37
【问题描述】:

所以我有 2 个不同的页面,1 个带有 HTML 表单,1 个带有 PHP 代码。 因此,当我按下表单所在的第 1 页上的按钮时,我如何确保此代码运行;

<?php 

$conn = mysqli_connect("localhost", "root", "123", "soup") or die("Geen connectie gemaakt: ".mysqli_connect_error());
if(isset($_POST["submit"])) { 
  if (isset($_POST["Cluster_Name"]) && isset($_POST["Cluster_FQDN"]) && 
  isset($_POST["DBS"]) && isset($_POST["Local_AE"]) && 
  isset($_POST["AE_Title"]) && isset($_POST["Modality_Type"])) {
    $Cluster_Name = $_POST["Cluster_Name"];
    $Cluster_FQDN = $_POST["Cluster_FQDN"];
    $DBS = $_POST["DBS"];
    $Local_AE = $_POST["Local_AE"];
    $AE_Title = $_POST["AE_Title"];
    $Modality_Type = $_POST["Modality_Type"];

    $qryUpdate = "UPDATE tblcluster SET Cluster_Name = '$Cluster_Name', 
    Cluster_FQDN = '$Cluster_FQDN', DBS = '$DBS', Local_AE = '$Local_AE', 
    AE_Title = '$AE_Title', Modality_Type = '$Modality_Type' WHERE 
    Cluster_FQDN = '$Cluster_FQDN'";

    if(!mysqli_query($conn, $qryUpdate)) {
      echo "Gegevens zijn niet geupdated";
    } 
    else {
      echo "Gegevens zijn geupdate.";
    }
  }
}
?>

【问题讨论】:

  • 有什么问题?你的代码没有执行?你有什么错误吗?
  • 没有错误,我的代码没有被执行
  • @yasuolenmq:你是如何确认这段代码甚至被调用的?你是如何调用它的?确切的步骤和输出是什么?你打开错误报告了吗?检查您的 PHP 日志是否有错误?你做了哪些调试来缩小问题范围?另请注意,您的代码很容易受到 SQL 注入的影响,这既是一个安全漏洞,也是一个非常常见的错误来源。
  • 您可以在第二个条件中添加一个 else。这将涵盖由于未设置所有字段而未执行代码的情况。
  • 发布您的表单代码可能很有用。您的代码也受SQL injection 约束。你应该使用prepared statements

标签: php html forms button call


【解决方案1】:

您可以在此处添加您的 html 表单代码 或确保表单中的提交按钮具有名称属性,并且表单标记应具有操作和方法属性 像这样:

<form action="your-php-filename.php" method="post">
<!-- OTHER FIELDS -->
<input type="submit" name="submit">
</form>

【讨论】:

  • 我试过这个,但是当我按下按钮时,我只是得到一个空页面
  • 就像当我按下按钮时,它只是打开它而不是运行它
  • @yasuolenmq: "我只是得到一个空页面" - (1) 这通常是 PHP 错误的迹象,请检查错误日志。虽然,查看您的代码... (2) 您的 PHP 代码中有多个代码路径不产生任何输出。因此,对于这些情况,“空白页面”是正确的响应。例如,如果isset($_POST["submit"])false,那么您的代码将按照说明不产生任何输出。紧跟该条件的是另一个更长的条件,它也被明确设计为在false 时不产生输出。所以这里空白页不一定代表有问题。
猜你喜欢
  • 1970-01-01
  • 2019-08-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-02-09
  • 2014-09-13
  • 1970-01-01
相关资源
最近更新 更多