Php 注意:第XX行的索引未定义

Php 注意:第XX行的索引未定义,php,html,mysql,mysqli,Php,Html,Mysql,Mysqli,我正在使用php创建一个数据库,并在html中查看表。在我的编码中,我编写了一个“add/insert”函数脚本,用一个submit按钮在表中插入。选择“提交”按钮后,我会看到上面列出的错误消息。我不确定我改变了什么,我昨晚(在另一台计算机上)运行了这段代码,一切正常!?!有人有什么想法吗 下面是我为表insert脚本的代码,insert info、add.html和insert.php <?php $con=mysqli_connect("localhost","root","","Fr

我正在使用php创建一个数据库,并在html中查看表。在我的编码中,我编写了一个“add/insert”函数脚本,用一个submit按钮在表中插入。选择“提交”按钮后,我会看到上面列出的错误消息。我不确定我改变了什么,我昨晚(在另一台计算机上)运行了这段代码,一切正常!?!有人有什么想法吗

下面是我为表insert脚本的代码,insert info、add.html和insert.php

<?php
$con=mysqli_connect("localhost","root","","Franchise_Call_Log");
// Check connection
if (mysqli_connect_errno())
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}

// Create table
$sql="CREATE TABLE caller_info(caller_id int(11) unsigned auto_increment primary key not null, 
Firstname varchar(35) not null, Lastname varchar(35) not null, 
Franchise varchar(25) not null)";

// Execute query
if (mysqli_query($con,$sql))
{
echo "Table caller_info created successfully";
}
else
{
echo "Error creating table: " . mysqli_error($con);
}
?> 

<?php
$con=mysqli_connect("localhost","root","","Franchise_Call_Log");
// Check connection
if (mysqli_connect_errno())
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}

mysqli_query($con,"INSERT INTO caller_info (Firstname, Lastname, franchise)
VALUES ('Peter', 'Griffin',Minneapolis)");

mysqli_query($con,"INSERT INTO caller_info (Firstname, Lastname, Franchise) 
VALUES ('Maggie', 'DeJesus',Virginia)");

mysqli_close($con);
?> 

<html>
<body>

<form action="insert.php" method="post">
Firstname: <input type="text" name="firstname">
Lastname: <input type="text" name="lastname">
Franchise: <input type="text" name="franchise">
<input type="submit">
</form>

</body>
</html>

<?php
$con=mysqli_connect("localhost","root","","Franchise_Call_Log");
// Check connection
if (mysqli_connect_errno())
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}

$sql="INSERT INTO caller_info (Firstname, Lastname, Franchise)
VALUES
('$_POST[firstname]','$_POST[lastname]','$_POST[franchise]')";

if (!mysqli_query($con,$sql))
{
die('Error: ' . mysqli_error($con));
}
echo "1 record added";

mysqli_close($con);
?> 

你用

$sql="INSERT INTO caller_info (Firstname, Lastname, Franchise)
VALUES
('$_POST[firstname]','$_POST[lastname]','$_POST[franchise]')";
但是,在引用$_POST值(例如:$_POST[xyz])时,并没有引用xyz名称。应该是:

$sql="INSERT INTO caller_info (Firstname, Lastname, Franchise)
VALUES
('{$_POST['firstname']}','{$_POST['lastname']}','{$_POST['franchise']}')";

我在$\u POST['xyz']的周围添加了{}括号,这样php就可以正确地识别变量。当然,您现在要接受SQL注入(更多信息请参见)

如果您将表单提交到同一页面,请将操作字段留空:

<form action="" method="post">

好。。。“insert.php”是否存在于该文件所在的同一文件夹中?不要再对初学者的问题投反对票了,当ppl征求建议时,这很可笑,很明显,他们自己在项目中投入了一些精力,然后ppl就因为“太容易”而对所有问题投反对票。也许他只是忽略了什么,你永远不知道。。此错误与代码没有多大关系。。尝试确保insert.php文件与此文件位于同一目录中。@Y你没有工作我做错什么了吗(你的否决意见)??我在这方面做了很多工作,因为我对这方面非常陌生,我肯定我忽略了这一点,因为我没有意识到它们。如果我的问题很愚蠢,我深表歉意,但对我来说……不是。文件一起列在同一个文件夹中。URL消息表示您没有导航到正确的页面,或者您没有正确配置web服务器。您使用的是什么web服务器,以及您尝试连接到的URL?
<input type="submit" name="submit">
if(isset($_POST['submit'])){

$sql="INSERT INTO caller_info (Firstname, Lastname, Franchise)
      VALUES('".$_POST['firstname']."','".$_POST['lastname']."',
             '".$_POST['franchise']."')";

if (!mysqli_query($con,$sql))
 {
die('Error: ' . mysqli_error($con));
 }
echo "1 record added";
}