未定义代码中的变量,用于提交到表中的信息

时间:2014-08-02 02:25:57

标签: php variables

一直在努力在我的网站上建立一个论坛,并且在我的变量中遇到了一些我提交到我的表中的信息的问题。请不要投票给我或关闭这个,因为我已经回答了这个问题,因为我查看了其他帖子,没有任何帮助我。这是我的代码:'

<?php include 'header.php';

$host="XXXXX"; // Host name 
$username="XXXXX"; // Mysql username 
$password="XXXXX"; // Mysql password 
$db_name="XXXXX"; // Database name 
$tbl_name="XXXXXX"; // Table name 

error_reporting(E_ALL); ini_set('display_errors', 1);


mysql_connect("$host", "$username", "$password")or die("cannot connect"); 
mysql_select_db("$db_name")or die("cannot select DB");

if(isset($_GET["submit"])){
$topic=$_POST['topic'];
$detail=$_POST['detail'];
$datetime=date("d/m/y h:i:s"); 
}
$sql="INSERT INTO $tbl_name(topic, detail, datetime)VALUES('$topic','$detail','$datetime')";
$result=mysql_query($sql);

if($result){
echo "Successful<BR>";
echo "<a href=gen.phpView your topic</a>";
}
mysql_close()
?>

错误: 注意:未定义的变量:第21行/home/XXXX/XXXX/gen.php中的主题

2 个答案:

答案 0 :(得分:0)

你确定你是通过POST发送数据的,我告诉你这个,因为你在这里也要评估GET:

if(isset($_GET["submit"])){
    $topic=$_POST['topic'];
    $detail=$_POST['detail'];
    $datetime=date("d/m/y h:i:s"); 
}

此外,您应该评估您是否通过帖子获取任何空值,或者只是在if语句之前将变量声明为空字符串。

您是否回应了$ _POST数组的var_dump?

答案 1 :(得分:0)

您确定$_GET['submit']变量是否存在?错误是未设置变量$topic。如果您尝试这样做会发生什么:

$topic = "test";
$detail = "test";
$datetime = date("d/m/y h:i:s", time()); 

if(isset($_GET["submit"])){
$topic=$_POST['topic'];
$detail=$_POST['detail'];
$datetime=date("d/m/y h:i:s"); 
}

是否插入测试?