我搜索了很多,但我真的不知道怎么写isset()你能写下写的地方isset()以及如何写下面的页面 我是php的新手我先做两页是first.php 第二个是insert.php代码如下,但它显示注意:未定义的索引: 如何删除此错误 谢谢
第一页(first.php)
<!DOCTYPE html>
<html>
<body>
<form id="firstform" action="insert.php" method="post">
<center> My First Page in PHP </center>
<center>Name:<input type="text" id="name" size=20>
FatherName: <input type="text" id="fname" size=20>
Address:<input type="text" id="add" size=20>
<input type="submit" name="sub">
</form>
</body>
</html>
插入页面(insert.php)
<html>
<body>
<?php
$con=mysqli_connect("localhost","root","khan","first");
// Check connection
if (mysqli_connect_errno())
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
$sql="INSERT INTO bio(name, fathername , address)
VALUES
('$_POST[name]','$_POST[fname]','$_POST[add]')";
if (!mysqli_query($con,$sql))
{
die('Error: ' . mysqli_error($con));
}
echo "1 record added";
mysqli_close($con);
?>
</body>
</html>
答案 0 :(得分:2)
您的问题出在HTML表单中。
<form id="firstform" action="insert.php" method="post">
<center> My First Page in PHP </center>
<center>Name:<input type="text" name="name" id="name" size=20>
FatherName: <input type="text" name="fname" id="fname" size=20>
Address:<input type="text" name="add" id="add" size=20>
<input type="submit" name="sub">
</form>
您需要name="variable_key"
而不是id=""
才能在PHP的$_POST
全局变量中使用。表单元素的ID主要用于CSS和JavaScript,而名称是通过表单发送的。因此,由于只有您的提交按钮附加了名称属性,因此仅设置了$_POST['sub']
。如果您进行了上述更改,它应该可以正常工作。
但是,要像你问的那样使用isset()
,请尝试以下方法:
<?php
if(isset($_POST['name'], $_POST['fname'], $_POST['add'])) {
// all variables set
// do form processing here
}
?>
答案 1 :(得分:0)
您可以尝试以下
<html>
<body>
<?php
$con=mysqli_connect("localhost","root","khan","first");
// Check connection
if (mysqli_connect_errno())
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
if(isset($_POST['name']) && isset($_POST['fname']) && isset($_POST['add'])) {
// Above is how to use isset in the correct form
// Now you need to protect your database from sql injection
$name = mysqli_real_escape_string($_POST['name']);
$fname = mysqli_real_escape_string($_POST['fname']);
$add = mysqli_real_escape_string($_POST['add']);
$sql="INSERT INTO bio(name, fathername , address)
VALUES
('$name','$fname','$add')";
if (!mysqli_query($con,$sql))
{
die('Error: ' . mysqli_error($con));
}
echo "1 record added";
mysqli_close($con);
} else {
echo 'Missing submissions.';
}
?>
注意:您也不能在以下格式的字符串中使用数组
( '$ _ POST [名称]', '$ _ POST [FNAME]', '$ _ POST [添加]')“;
您可以使用此表格
( '{$ _ POST [' 名称 ']},'{$ _ POST [ 'FNAME']}”, '{$ _ POST [' 添加 ']}')“;