4

我是一个新手,正在学习并试图了解 html 表单和 php 处理的工作原理。

遇到了这对例子:

HTML表格:

<html>
<body>

  <form action="hello-web.php" method="GET">
  <label>Name:</label>
  <input type="text" name="yourName" size="24">
  <input type="submit">
  </form>

</body>
</html>

PHP 处理器:

<?php
$fname = $_GET["yourName"];

echo "Hello $fname!";
?>

输出应该是:您好,输入/示例名称!

问题:当我尝试将变量“yourName”(在 HTML 和 PHP 文件上)更改为例如“typeName”时,表单上输入的名称不显示。

换句话说,输出变成了: Hello !

“yourName”是标准的 php 或 html 变量吗?不能改成你想要的样子吗?

更好的是,表单究竟是如何处理数据的?


这是我更改后的代码,它不会输出输入的名称(我在此处发布作为答案,因为当我将所有代码粘贴为您的答案的评论时,所有代码都显示为一条连续的线,就像一个段落:

HTML FORM(更改的--typeName):

<html>
<body>

  <form action="hello-web.php" method="GET">
  <label>Name:</label>
  <input type="text" name="typeName" size="24">
  <input type="submit">
  </form>

</body>
</html>

PHP PRCESSOR(已更改--typeName):

<html>
<body>
<?php
$fname = $_GET["typeName"];

echo "Hello $fname!";
?>

</body>
</html> 
4

2 回答 2

1

通过输出整个数组,您可以从提交的表单中查看哪些数据可供您使用。由于您的表单方法是GET,以下将显示所有已提交的内容:

var_dump( $_GET );

从这里,您可以看到 PHP 脚本中的变量名应该是什么。

Array
(
  [YourName] => Jonathan
)

每当您遇到正在提交的内容与您期望的内容之间的脱节时,请检查$_GET(或者如果您的方法是POST,您会检查$_POST)。

例如,如果我正在尝试以下操作:

echo $_GET["yourName"]; // nothing output to the screen

我可以参考上面打印的数组内容,看到正确的键是“YourName”:

echo $_GET["YourName"]; // Jonathan
于 2012-05-03T20:59:38.267 回答
0

$_GET["yourName"];包含基于表单字段输入的值。这是一个 php 超全局http://us3.php.net/manual/en/reserved.variables.get.php

听起来您正在更改 html 表单,但您没有通过表单输入值。因此,$_GET["yourName"];为空

于 2012-05-03T20:57:54.187 回答