为什么 PHP 表单处理不起作用
Why PHP form Handling Not Working
我按照 w3schools 并在我的 gen.php 中创建了如下所示的表格。我想通过输入信息生成 post,我将从 gen-res.php.
的文本区域复制并删除生成的 html
<html>
<head>
<title>Text Generator</title>
</head>
<body>
<form action="gen-res.php" method="post" id="generator">
App Name: <input type="text" name="name"><br>
App ID: <input type="text" name="id"><br>
Intro text:<textarea name="intro" form="generator"></textarea>
Features:
<textarea name="feature" form="generator">
<ol>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
</ol></textarea>
<input type="submit" value="Generate">
</form>
</body>
</html>
我的gen.php是
<html>
<head>
<title>Epdroid App Generator</title>
</head>
<body>
Generated!
<textarea><div> <?php echo $_GET["name"]; ?> </div> <div> <?php echo $_GET["intro"]; ?> </div> <div> ID: <?php echo $_GET["id"]; ?> </div> <?php echo $_GET["feature"]; ?> </textarea>
</body>
</html>
但是输出是
<html>
<head>
<title>Epdroid App Generator</title>
</head>
<body>
Generated!
<textarea><div></div> <div> </div> <div> ID: </div> </textarea>
</body>
</html>
那么,为什么这不起作用并且变量没有传递?
您正在通过 POST 发送数据,但您正试图通过 $_GET 获取数据。
将所有 $_GET 更改为 $_POST,它可能会起作用。
例子
<textarea><div> <?php echo $_POST["name"]; ?>
另一种选择是将表单方法更改为如下所示:
<form action="gen-res.php" method="GET" id="generator">
我按照 w3schools 并在我的 gen.php 中创建了如下所示的表格。我想通过输入信息生成 post,我将从 gen-res.php.
的文本区域复制并删除生成的 html<html>
<head>
<title>Text Generator</title>
</head>
<body>
<form action="gen-res.php" method="post" id="generator">
App Name: <input type="text" name="name"><br>
App ID: <input type="text" name="id"><br>
Intro text:<textarea name="intro" form="generator"></textarea>
Features:
<textarea name="feature" form="generator">
<ol>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
</ol></textarea>
<input type="submit" value="Generate">
</form>
</body>
</html>
我的gen.php是
<html>
<head>
<title>Epdroid App Generator</title>
</head>
<body>
Generated!
<textarea><div> <?php echo $_GET["name"]; ?> </div> <div> <?php echo $_GET["intro"]; ?> </div> <div> ID: <?php echo $_GET["id"]; ?> </div> <?php echo $_GET["feature"]; ?> </textarea>
</body>
</html>
但是输出是
<html>
<head>
<title>Epdroid App Generator</title>
</head>
<body>
Generated!
<textarea><div></div> <div> </div> <div> ID: </div> </textarea>
</body>
</html>
那么,为什么这不起作用并且变量没有传递?
您正在通过 POST 发送数据,但您正试图通过 $_GET 获取数据。
将所有 $_GET 更改为 $_POST,它可能会起作用。
例子
<textarea><div> <?php echo $_POST["name"]; ?>
另一种选择是将表单方法更改为如下所示:
<form action="gen-res.php" method="GET" id="generator">