【问题标题】:Why is submit button set to true on page load?为什么在页面加载时提交按钮设置为 true?
【发布时间】:2015-04-17 21:16:28
【问题描述】:

我试图理解为什么这个示例表单在页面最初加载时虽然提交按钮设置为 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 端做某事?如果你从一个新的负载开始它不应该是真的,如果你提交后它会是真的。
  • 最后,我想创建一个表单,在外部文本文件(特别是邮政编码)中查找字符串,以查看用户的邮政编码是否在可用邮政编码列表中。但是,我只是首先尝试了解 PHP 如何首先处理变量和表单。我来自 asp.net 背景,所以这对我来说也是一个学习过程。

标签: php button submit pageload


【解决方案1】:

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

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

请参阅difference between server side and client side coding。

【讨论】:

  • 好的,我也读过,但我也看到了纯 php 方法的答案——显然我要么误解了,要么他们错了。我将研究 JavaScript 提交作为解决此问题的方法。感谢您的快速回复和您提供的链接。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-11-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多