提问人:Mohd Tazammul 提问时间:4/16/2018 最后编辑:RobertMohd Tazammul 更新时间:4/16/2018 访问量:1246
未定义的索引名称 1 和未定义的索引名称 2
undefined index name1 and Undefined index name2
问:
以下是发生错误的两个文件:
html_form.html
<html>
<body>
<center>
<h1>Admission Form</h1>
<br>
<form action="php_register.php" name="registration">
Firstname: <input type="text" name="name1" placeholder="Enter Firstname"/>
<br>
Lastname: <input type="text" name="name2" placeholder="Enter Lastname"/><br>
<input type="submit" value="submit">
</form>
</center>
</body>
</html>
php_register.php
<?php
$fname=$_POST['name1'];
$lname=$_POST['name2'];
$conn=mysqli_connect("localhost","root","","test");
if (isset($fname) && isset($lname))
{
mysqli_query($conn, "insert into test_table(firstname,lastname)
values ('$fname','$lname')");
}
else
echo "<br> Errror....Values are not set in variables...!!!";
?>
( ! )注意:未定义索引:第 2 行 C:\wamp2\www\PHP_project\php_register.php 中的 name1 调用堆栈
时间记忆功能位置
1 0.0022 131712 {main}( ) ...\php_register.php:0
( ! )注意:未定义的索引:第 3 行 C:\wamp2\www\PHP_project\php_register.php 中的 name2 调用堆栈
时间记忆功能位置
1 0.0022 131712 {main}( ) ...\php_register.php:0
呃......未在变量中设置值...!!
答:
2赞
Simon R
4/16/2018
#1
您需要添加到您的代码中。method="post"
<form>
此外,您可以检查之前是否在页面上设置了这些值,以确保脚本将成功运行。php_register.php
例如
if (empty($_POST['name1']) || empty($POST['name2']) {
// some kind of error setting and redirecting back maybe
}
0赞
Gufran Hasan
4/16/2018
#2
默认情况下,表单方法是 GET,但您正在尝试获取值 By 。$_POST
您没有定义表单 POST 方法,然后您可以通过以下方式获取值:$_GET
$_REQUEST
$_GET['name1'];
$_GET['name2'];
或
$_REQUEST['name1'];
$_REQUEST['name2'];
如果你想使用,那么你应该定义形式$_POST
method="post"
如果你对表单方法一无所知,这是一个更好的使用方式。通过,您可以获得两个类型值。$_REQUEST
$_REQUEST
例:
$fname=isset($_POST['name1'])?$_POST['name1']:'';
$lname=isset($_POST['name2'])?$_POST['name2']:'';
$conn=mysqli_connect("localhost","root","","test");
if (!empty($fname) && !empty($lname))
{
mysqli_query($conn, "insert into test_table(firstname,lastname)
values ('$fname','$lname')");
}
else
echo "<br> Errror....Values are not set in variables...!!!";
评论
0赞
Mohd Tazammul
4/16/2018
现在我在html文件中将方法定义为method=“post”,但仍然有同样的问题......
0赞
Gufran Hasan
4/16/2018
检查它 isset($_REQUEST['name2'])。避免此类错误是个好习惯。
0赞
Mohd Tazammul
4/16/2018
是的,现在它工作了。我将 $_POST 方法替换为 $_REQUEST,现在它正在插入记录......非常感谢 Gurfan Hasan bhai...我已经为这个问题苦恼了好几天,你解决了它。再次感谢.....
0赞
Leslie
4/16/2018
#3
你没有以形式声明 POST 或 GET,但你使用 $_POST['name1'] 来获取值,这就是发生错误的地方。
评论
0赞
Leslie
4/16/2018
哦,好吧,那么你应该var_dump()你发布的数据,并找出哪里出了问题,如果$_POST['name1'] == {your data},我们可以从前端消除问题。
0赞
Mohd Tazammul
4/16/2018
是的,现在它工作了。我将 $_POST 方法替换为 $_REQUEST,现在它正在插入记录......
0赞
Leslie
4/16/2018
如果您对我 answer.it 感到满意,我们将不胜感激地采用它。
评论