为什么提交按钮在页面加载时设置为 true?

Why is submit button set to true on page load?

我试图理解为什么这个示例表单在页面最初加载时提交按钮设置为 true 时起作用。这是一个示例,但潜在的问题是我试图在单击提交按钮时执行某些操作,但当页面加载时,代码运行时就好像按钮已被单击一样。

<?php
   $GLOBALS["zipcode"] = null;
?>

<!--========================Dialogue Box========================-->

<h2 class="ind3">Service Area</h2>

<form name="zipcodeform" method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
   <p>Enter your zip code:</p>
   Zip:
   <label><input type="text" name="zipcode" value=""></label>
   <p /><p />
   <input type="submit" name="submit" value="Submit">

</form>

<?php
   /*Test to see if form submit button has been pressed. */
   If (isset($_POST['submit'])) {echo "the button has been pressed!";}
?>

<!--========================Dialogue Box========================-->

我知道这很简单,但我花了几个小时在谷歌上搜索并试图找出我做错了什么。我希望对话框末尾的 PHP 代码仅在按下按钮时显示,而不是在页面加载时自动显示。感谢您的帮助!

您似乎正在尝试 运行 客户端操作的服务器端代码。

PHP 将始终在页面加载之前执行。如果要捕获用户在按钮上的操作,则需要使用 JavaScript 来处理点击事件或 submit event.

参见difference between server side and client side coding