Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/250.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 未定义索引,但其名称在数据库中?_Php_Mysql - Fatal编程技术网

Php 未定义索引,但其名称在数据库中?

Php 未定义索引,但其名称在数据库中?,php,mysql,Php,Mysql,大家好,我只是有一个问题,我不知道如何解决,它告诉我我有一个“未定义的索引”用于以下内容: 注意:第113行的D:\xampp\htdocs\pages\service.php中的未定义索引:name 注意:未定义的索引:第114行D:\xampp\htdocs\pages\service.php中的注释 注意:未定义索引:在D:\xampp\htdocs\pages\serv中提交 但我的数据库中清楚地列出了: 评论功能可以正常工作,但它显示了这个错误。你知道吗 <?php mysql

大家好,我只是有一个问题,我不知道如何解决,它告诉我我有一个“未定义的索引”用于以下内容:

注意:第113行的D:\xampp\htdocs\pages\service.php中的未定义索引:name

注意:未定义的索引:第114行D:\xampp\htdocs\pages\service.php中的注释

注意:未定义索引:在D:\xampp\htdocs\pages\serv中提交

但我的数据库中清楚地列出了:

评论功能可以正常工作,但它显示了这个错误。你知道吗

<?php
mysql_connect("localhost","root", "");
mysql_select_db("wd6__0100348514");
$name=$_POST['name'];
$comment=$_POST['comment'];
$submit=$_POST['submit'];
 
$dbLink = mysql_connect("localhost", "root", "");
    mysql_query("SET character_set_client=utf8", $dbLink);
    mysql_query("SET character_set_connection=utf8", $dbLink);
 
if($submit)
{
if($name&&$comment)
{
$insert=mysql_query("INSERT INTO comment (name,comment) VALUES ('$name','$comment') ");
echo "<meta HTTP-EQUIV='REFRESH' content='0; url=service.php'>";
}
else
{
echo "please fill out all fields";
}
}
?>


<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Comment box</title>
</head>
 
<body>
<center>
<form action="service.php" method="POST">
<table>
<tr><td>Name: <br><input type="text" name="name"/></td></tr>
<tr><td colspan="2">Comment: </td></tr>
<tr><td colspan="5"><textarea name="comment" rows="10" cols="50"></textarea></td></tr>
<tr><td colspan="2"><input type="submit" name="submit" value="Comment"></td></tr>
</table>
</form>


<?php
$dbLink = mysql_connect("localhost", "root", "");
    mysql_query("SET character_set_results=utf8", $dbLink);
    mb_language('uni');
    mb_internal_encoding('UTF-8');
 
$getquery=mysql_query("SELECT * FROM comment ORDER BY id DESC");
while($rows=mysql_fetch_assoc($getquery))
{
$id=$rows['id'];
$name=$rows['name'];
$comment=$rows['comment'];
echo $name . '<br/>' . '<br/>' . $comment . '<br/>' . '<br/>' . '<hr size="1"/>'
;}
?>
此代码块:(另请参考我的脚注,了解未定义的索引警告

可以并且应该被
isset()
empty()
替换,同时将大括号环绕在代码执行周围

<?php
mysql_connect("localhost","root", "");
mysql_select_db("wd6__0100348514");

if(isset($_POST['submit'])  
    && !empty($_POST['name']) 
    && !empty($_POST['comment']) ){

$name=$_POST['name'];
$comment=$_POST['comment'];

$dbLink = mysql_connect("localhost", "root", "");
    mysql_query("SET character_set_client=utf8", $dbLink);
    mysql_query("SET character_set_connection=utf8", $dbLink);

$insert=mysql_query("INSERT INTO comment (name,comment) VALUES ('$name','$comment') ");
echo "<meta HTTP-EQUIV='REFRESH' content='0; url=service.php'>";
}
else
{
echo "please fill out all fields";
}

脚注:

在我看来,您好像是在同一个页面中运行整个代码,这就是为什么在加载页面时会收到未定义的索引警告


另外,还有一个建议:您正在使用
,它可以更改为

第113行和第114行是什么?@LucM$name=$\u POST['name'];$comment=$\u POST['comment'];您可能希望在分配它们之前检查是否设置了$\u POST变量。
if(isset($\u POST['name'])$name=$\u POST['name']
@Sarah这意味着这不是一个数据库错误。这意味着“name”和“comment”是$\u POST数组的未定义索引。因此,您没有通过POST有效负载将name/comment传递给页面。您的条件语句不正确。
if($submit){if($name&$comment)
并且位于错误的位置。
<?php
mysql_connect("localhost","root", "");
mysql_select_db("wd6__0100348514");

if(isset($_POST['submit'])  
    && !empty($_POST['name']) 
    && !empty($_POST['comment']) ){

$name=$_POST['name'];
$comment=$_POST['comment'];

$dbLink = mysql_connect("localhost", "root", "");
    mysql_query("SET character_set_client=utf8", $dbLink);
    mysql_query("SET character_set_connection=utf8", $dbLink);

$insert=mysql_query("INSERT INTO comment (name,comment) VALUES ('$name','$comment') ");
echo "<meta HTTP-EQUIV='REFRESH' content='0; url=service.php'>";
}
else
{
echo "please fill out all fields";
}
if(isset($_POST['submit'])){

if(!empty($_POST['name']) && !empty($_POST['comment']) ){

$name=$_POST['name'];
$comment=$_POST['comment'];

$dbLink = mysql_connect("localhost", "root", "");
    mysql_query("SET character_set_client=utf8", $dbLink);
    mysql_query("SET character_set_connection=utf8", $dbLink);

$insert=mysql_query("INSERT INTO comment (name,comment) VALUES ('$name','$comment') ");
    echo "<meta HTTP-EQUIV='REFRESH' content='0; url=service.php'>";
    }
    else
    {
    echo "please fill out all fields";
    }

}