我的问题是,当我将数据输入到我的html表单并单击提交时,它会调用我的php文件,但它不会发送参数。HTML表单不会将变量发送到PHP/MySQL
我甚至尝试使用工作代码来测试它,甚至工作代码不通过变量。我不确定为什么这样做,坏的PHP安装?不知道。
这是它,如果你想看看它是否至少适合你。但我没有得到任何传递到我的PHP文件中的变量。谢谢您的帮助。
<html>
<head>
<title>Home</title>
</head>
<body>
<form method="get" action="reg.php">
Firstname: <input type="text" name="firstname">
Lastname: <input type="text" name="lastname">
Age: <input type="text" name="age">
<input type="submit" value="Submit">
</form>
</body>
</html>
这里是php文件:
<?php
echo $_SERVER['REQUEST_METHOD'];
if(isset($_GET['firstname'])){
$firstname = $_GET['firstname'];
}
else{
$firstname = 'null';
}
if(isset($_GET['lastname'])){
$lastname = $_GET['lastname'];
}
else{
$lastname = 'null';
}
if(isset($_GET['age'])){
$age = $_GET['age'];
}
else{
$age = 'null';
}
$con = mysqli_connect("127.0.0.1","root","", "my_db");
$sql="INSERT INTO persons (FirstName, LastName, Age)
VALUES
('$firstname','$lastname','$age')";
$result = mysqli_query($con, $sql);
if ($result)
{
echo "1 record added";
}
else{
echo "Did not work";
}
error_reporting(E_ALL);
mysqli_close($con);
?>
当我看到错误报告,它说未定义指数每一次,每件工作我测试代码。我测试了4个工作代码文件,但都没有工作,但被证明他们做到了。我开始认为我有一个不好的PHP安装或更深入的问题。再次感谢。
'$ _GET'的输出是什么?做一个'var_dump($ _ GET)'。 – mcryan 2013-02-25 13:10:53
你很容易受到[SQL注入攻击](http://bobby-tables.com/)**,并且应该学会如何[防御](http://stackoverflow.com/questions/60174/best-way -to-prevent-sql -injection-in-php)你自己。 – Quentin 2013-02-25 13:10:56
它表示未定义索引处于打开状态?另外,通过将变量声明为空,您可以大大减少代码行数 – bizzehdee 2013-02-25 13:11:55