PHP写不进数据库,求高手解答,在线等 20
<?phpinclude("conn.php");include("head.php");error_reporting(0);if($_POST['submit']){...
<?php
include("conn.php");
include("head.php");
error_reporting(0); if($_POST['submit']){
$sql="insert into lo (id,username,sex,qq,email,info,submit_time) " .
"values ('','$_POST[name]','$_POST[sex]','$_POST[qq]','$_POST[email]','$_POST[info]',now())";
mysql_query($sql);
echo "<script language=\"javascript\">alert('添加成功!');history.go(-1)</script>";
} $qq = $_POST['qq'];
$email = $_POST['email']; if (!ereg("^[0-9]{0,}$",$qq))
{
echo "<script>alert('QQ必须填写数字!');location.href='post.php';</script>";
exit();
} if($email)
{
if (!ereg("^[a-zA-Z0-9_\-\.]+@[a-zA-Z0-9\-]+\.[a-zA-Z0-9\-\.]+$",$email))
{
echo "<script>alert('email格式不正确!');location.href='post.php';</script>";
exit();
}
}
?>
<SCRIPT language=javascript>
function CheckPost()
{
if (myform.name.value=="")
{
alert("请填写用户名!");
myform.name.focus();
return false;
}
if (myform.info.value=="")
{
alert("留言内容不能为空!");
myform.info.focus();
return false;
}
}
</SCRIPT> <form method="post" action="post.php" name="myform" onsubmit="return CheckPost();">
<h1>提交留言</h1>
<p>用户名 :<input type="text" name="name" size="20" class="y" /> </p>
<p>性别 :<input name="sex" type="radio" value="男" checked/> 男 <input type="radio" name="sex" value="女"/> 女</p>
<p>Q Q :<input type="text" name="qq" class="y" /> (可选填)</p>
<p>Email:<input type="text" name="email" class="y" /> (可选填)</p>
<p>留言内容:</p>
<p><textarea name="info" rows="10" cols="60"></textarea></p>
<p class="cen">
<input type="submit" value="发表留言" />
<input type="reset" value="重置">
</p>
</form> <?php echo $sql="insert into lo (id,username,sex,qq,email,info,submit_time) " .
"values ('','$_POST[name]','$_POST[sex]','$_POST[qq]','$_POST[email]','$_POST[info]',now())";(这里输出是成功的,就是写不进数据库,急!!!求教高手!!!)
include("foot.php");
?> 展开
include("conn.php");
include("head.php");
error_reporting(0); if($_POST['submit']){
$sql="insert into lo (id,username,sex,qq,email,info,submit_time) " .
"values ('','$_POST[name]','$_POST[sex]','$_POST[qq]','$_POST[email]','$_POST[info]',now())";
mysql_query($sql);
echo "<script language=\"javascript\">alert('添加成功!');history.go(-1)</script>";
} $qq = $_POST['qq'];
$email = $_POST['email']; if (!ereg("^[0-9]{0,}$",$qq))
{
echo "<script>alert('QQ必须填写数字!');location.href='post.php';</script>";
exit();
} if($email)
{
if (!ereg("^[a-zA-Z0-9_\-\.]+@[a-zA-Z0-9\-]+\.[a-zA-Z0-9\-\.]+$",$email))
{
echo "<script>alert('email格式不正确!');location.href='post.php';</script>";
exit();
}
}
?>
<SCRIPT language=javascript>
function CheckPost()
{
if (myform.name.value=="")
{
alert("请填写用户名!");
myform.name.focus();
return false;
}
if (myform.info.value=="")
{
alert("留言内容不能为空!");
myform.info.focus();
return false;
}
}
</SCRIPT> <form method="post" action="post.php" name="myform" onsubmit="return CheckPost();">
<h1>提交留言</h1>
<p>用户名 :<input type="text" name="name" size="20" class="y" /> </p>
<p>性别 :<input name="sex" type="radio" value="男" checked/> 男 <input type="radio" name="sex" value="女"/> 女</p>
<p>Q Q :<input type="text" name="qq" class="y" /> (可选填)</p>
<p>Email:<input type="text" name="email" class="y" /> (可选填)</p>
<p>留言内容:</p>
<p><textarea name="info" rows="10" cols="60"></textarea></p>
<p class="cen">
<input type="submit" value="发表留言" />
<input type="reset" value="重置">
</p>
</form> <?php echo $sql="insert into lo (id,username,sex,qq,email,info,submit_time) " .
"values ('','$_POST[name]','$_POST[sex]','$_POST[qq]','$_POST[email]','$_POST[info]',now())";(这里输出是成功的,就是写不进数据库,急!!!求教高手!!!)
include("foot.php");
?> 展开
展开全部
<?php echo $sql="insert into lo (id,username,sex,qq,email,info,submit_time) " .
"values ('','$_POST[name]','$_POST[sex]','$_POST[qq]','$_POST[email]','$_POST[info]',now())";(这里输出是成功的,就是写不进数据库,急!!!求教高手!!!)
问题就是出现在这句里.
首先,你的$_POST[]这些都错了,如$_POST[name]应该是$_POST["name"];
第二,values括号里面的变量你都用了单引号括起来了,你用单引号括起来的那怕里面真的是一个变量,但是PHP还是把它解析为字符串,这也就是为什么这里输出是成功的,你好好看一下单引号和双引号的区别吧,正确的写法应该是:
$sql="insert into lo (id,username,sex,qq,email,info,submit_time) " .
"values ('','".$_POST[name]."','".$_POST[sex]."','".$_POST[qq]."','".$_POST[email]."','".$_POST[info]."',now())";
"values ('','$_POST[name]','$_POST[sex]','$_POST[qq]','$_POST[email]','$_POST[info]',now())";(这里输出是成功的,就是写不进数据库,急!!!求教高手!!!)
问题就是出现在这句里.
首先,你的$_POST[]这些都错了,如$_POST[name]应该是$_POST["name"];
第二,values括号里面的变量你都用了单引号括起来了,你用单引号括起来的那怕里面真的是一个变量,但是PHP还是把它解析为字符串,这也就是为什么这里输出是成功的,你好好看一下单引号和双引号的区别吧,正确的写法应该是:
$sql="insert into lo (id,username,sex,qq,email,info,submit_time) " .
"values ('','".$_POST[name]."','".$_POST[sex]."','".$_POST[qq]."','".$_POST[email]."','".$_POST[info]."',now())";
追问
不是这个问题,我搞定了,开始不会写判断QQ和EMAIL格式,后面全用正则表达式然后把$sql="insert into lo (username,sex,qq,email,info,submit_time) " .
"values ('$username','$sex','$qq','$email','$info',now())";
放到判断的后面就没问题了,不过还是谢谢哈
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
mysql_query($sql);这一行少一个参数吧
应该是mysql_query($sql, $conn): //$conn是你打开的数据库。
应该是mysql_query($sql, $conn): //$conn是你打开的数据库。
追问
不是这个问题,我搞定了,开始不会写判断QQ和EMAIL格式,后面全用正则表达式然后把$sql="insert into lo (username,sex,qq,email,info,submit_time) " .
"values ('$username','$sex','$qq','$email','$info',now())";
放到判断的后面就没问题了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
if($_POST['submit'])
应该写
if($_POST["submit"])
应该写
if($_POST["submit"])
追问
我晕。。。单引号双引号没影响吧
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2012-03-02 · 知道合伙人软件行家
关注
展开全部
if($_POST['submit']) 这个里面的$_POST['submit']变量设置为true了吗?
更多追问追答
追问
检查过几遍了,没有问题,数据库连接也检查过了,没有问题。但是就是写不进去
$conn = @ mysql_connect("localhost","root","")or die("数据库连接错误"); //连接;
mysql_select_db("lyb",$conn); //选择库;
mysql_query("set names 'GBK'");
追答
$_POST['submit']变量设置为true了吗?
从你的脚本逻辑来看,我怀疑可能 insert 语句根本就没有执行。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询