<?php
$conn=mysql_connect("localhost","root","")
or die("cannot connect");
$db=mysql_select_db("ticket",$conn)
or die("no db");
if (isset($_POST['submit']))
{
$name1=$_POST['name'];
$phone1=$_POST['phone'];
$email1=$_POST['email'];
$pass1=$_POST['password'];
}
$query="insert into register(name,phone,email,pass) values ('$name1','$phone1','$email1','$pass1')";
$result=mysql_query($query)
or die("Error in pushing".mysql_error());
mysql_close($conn);
?>
错误
注意:未定义的变量:C中的name1:\ xampp \ htdocs \ selva \ jqsty.php 在第13行上 注意:未定义的变量:C:\ xampp \ htdocs \ selva \ jqsty.php中的phone1 在第13行上 注意:未定义的变量:C:\ xampp \ htdocs \ selva \ jqsty.php中的email1 在第13行上 注意:未定义的变量:C:\ xampp \ htdocs \ selva \ jqsty.php中的pass1 第13行
答案 0 :(得分:1)
除非发布表单,否则其中的变量将永远不会有值:
$query="insert into register(name,phone,email,pass) values ('$name1','$phone1','$email1','$pass1')";
如果您需要等待POST执行查询,请将该代码放入if
:
$conn = mysql_connect("localhost","root","");
if(!$conn)
die("cannot connect");
$db = mysql_select_db("ticket",$conn);
if(!$db)
die("no db");
if(isset($_POST['submit']))
{
$name1 = $_POST['name'];
$phone1 = $_POST['phone'];
$email1 = $_POST['email'];
$pass1 = $_POST['password'];
$query = "insert into register(name,phone,email,pass) values ('$name1','$phone1','$email1','$pass1')";
$result = mysql_query($query);
if(!$result)
die("Error in pushing".mysql_error());
}
mysql_close($conn);
答案 1 :(得分:1)
我认为问题是你没有进入if循环,因为你没有名为的提交按钮: 试试这个
<input type="submit" class="submit1" value="Submit" name="submit"/>
答案 2 :(得分:0)
您正在检查是否存在$_POST['submit']
,并设置了一些变量(如果已找到)。然后,您将在条件块之外执行mysql查询,因此如果找不到$ _POST变量,则会出现undefined variable
错误。
尝试
<?php
$conn=mysql_connect("localhost","root","")
or die("cannot connect");
$db=mysql_select_db("ticket",$conn)
or die("no db");
if (isset($_POST['submit']))
{
$name1=$_POST['name'];
$phone1=$_POST['phone'];
$email1=$_POST['email'];
$pass1=$_POST['password'];
// This code now inside if block
$query="insert into register(name,phone,email,pass) values ('$name1','$phone1','$email1','$pass1')";
$result=mysql_query($query)
or die("Error in pushing".mysql_error());
mysql_close($conn);
}
?>
答案 3 :(得分:0)
将mysql查询放在if语句花括号中,如下所示:
if(isset($_POST['submit'])) {
$name1=$_POST['name'];
$phone1=$_POST['phone'];
$email1=$_POST['email'];
$pass1=$_POST['password'];
$query="INSERT INTO `register`(`name`,`phone`,`email`,`pass`) VALUES('$name1','$phone1','$email1','$pass1')";
$result=mysql_query($query) or die("Error in pushing".mysql_error());
mysql_close($conn);
}
?>
当表单未被提交时,您的变量未定义,您正在使用它们查询数据库。因此,您将所有内容放在if语句中,以便只有在提交表单时才会执行查询。另外你很容易受到mysql注入,使用mysql_real_escape_string函数或使用mysqli预编译语句。