【发布时间】:2018-09-13 09:07:42
【问题描述】:
我一直在尝试制作一个简单的 html 表单,将数据传递到 php 页面,最终插入到 sql 数据库中。我已成功制作表单,但由于某种原因无法找到在此实例中未传递的数据。
使用 var_dump($_POST),我看到在提交 html 表单时没有数据被传输。我在 if(isset($_POST['submit'])) {} 内外都尝试了 var_dump,但都没有成功。我开始认为这可能是我的 php 安装或类似问题的问题?
HTML 表格:
<form action="programinsert.php" method="POST">
<p>
<label for="program_title"> Program Title: </label>
<input name="program_title" type="text" id="program_title">
</p>
<input type="submit" value="Submit">
</form>
programinsert.php:
<?php
session_start();
define('DB_NAME', 'rluh_website');
define('DB_USER', 'root');
define('DB_PASS', 'swang');
define('DB_HOST', 'localhost');
$link = mysqli_connect(DB_HOST, DB_USER, DB_PASS);
if(!$link) {
die('Error: ' . mysqli_error($link));
}
$db_select = mysqli_select_db($link, DB_NAME);
if(!$db_select) {
die('Cannot use ' . DB_NAME . ': ' . mysqli_error($link));
}
var_dump($_POST);
?>
【问题讨论】:
-
看起来应该可以,这是在本地主机上吗? php 在网络服务器上运行?表单提交后的url为:http://..../programinsert.php ?
-
确保您没有发生重定向
-
var_dump($_REQUEST);结果如何?
-
Errrrmm
if(isset($_POST['submit'])) {}提交按钮上没有name属性,所以post 数组中不会有$_POST['submit']。所以修改为<input name="submit" type="submit" value="Submit">