请告诉我我的错误。
错误是:
注意:未定义的变量:第10行的C:\ wamp \ www \ 3arabschool \ admin \ section_insert.php中的名称
源代码在这里:
<?php
include("../config/config.php");
if(isset($_POST['name'])){ $name = addslashes($_POST['name']); }
if(isset($_POST['order_sec'])){ $order_sec = addslashes($_POST['order_sec']); }
if(isset($_POST['sub'])){ $sub = $_POST['sub']; }
if ($name == ""){ // this is line 10
echo "<div align='center'>please enter name<ahref='javascript:history.back(1)'>back</a></div>";
}else{
$query = @mysqli_query ($con,"INSERT INTO article_sec (name,sub,order_sec)VALUES ('$name','$sub','$order_sec')") or die ("error query");
echo "<p align='center'>done</p>";
echo "<META HTTP-EQUIV='refresh' CONTENT='1' URL='section.php'>";
}
?>
答案 0 :(得分:1)
您正在访问未定义的变量,除非已定义$_POST['name']
。
更改行
if ($name == ""){
到
if (empty($name)) {
PHP将在尝试访问变量之前检查变量是否已设置,并使用此函数查看变量是否为空。 See this doc for more info
答案 1 :(得分:0)
当您检查索引的$_POST
数组时,可能isset()返回false。因此,永远不会定义$name
。为确保定义它,请在检查之前将其初始化为某些内容,可能是$name = '';
。
答案 2 :(得分:0)
这意味着您的if
语句失败,因此永远不会声明/定义$name
。要解决它,您可以使用:
if(isset($_POST['name']))
{
$name = addslashes($_POST['name']);
}
else // making sure $name gets declared if the above condition fails
{
$name = '';
}
或更改
if ($name == "")
到
if(! isset($name))