请教PHP高手一个不解的问题

来源:百度知道 编辑:UC知道 时间:2024/05/20 21:03:21
是这样的,我做了个PHP留言板,在远程服务器上,一切都连接好了,前两天让两个同学给留言,我在后台看了一下,成功了,没有什么问题,而今天我再让一个同学留言的时候竟然提示成功,却没有插入数据库,请问高手这是为什么?而让我奇怪的是我自己给自己留言一直可以,没一点问题,声明的我空间没问题,因为我在空间上装的有论坛,一直都正常.
下面附加上我插入数据库的代码,望高手指点,谢谢

<?PHP
$name=$_POST['name'];
$sex=$_POST['sex'];
$email=$_POST['email'];
$qq=$_POST['qq'];
$info=$_POST['info'];
?>

<?
/* **************************连接数据库的信息**************************** */

if ($_SERVER["HTTP_X_FORWARDED_FOR"]=="")
{
$ip=$_SERVER["REMOTE_ADDR"];
}
else
$ip=$_SERVER["HTTP_X_FORWARDED_FOR"];

$mysql_server_name="222.184.121.16";
$mysql_username="a1127202516";
$mysql_password="*******";(呵呵为了保险期间这里我没有写出来显示呵呵)
$mysql_database="a1127202516";

/**************************************** 操纵数据库********************************

服务器问题

你这程序有两个问题:

1、在写数据库之前,你应该对用户提交上来的数据进行处理;
至少应该对数据进行两种处理,
一是用户没有填写的情况下,返回或者给默认值;也许你的静态页面有js代码来检查有效性,但php程序照样要检查,因为有些用户会绕过。
二是用户填写了一些非法的数据,比如斜杠、单引号之类。有些数据会导致你无法写入数据库;

2、写完数据库结束之后,你应该对写的动作进行检查,是否写入成功。写成功了,才提示留言成功。
上面的程序,没有进行成功与否的判断,只是按照顺序提示成功。这样,就有可能出现提示成功,实际没有成功的情况。

你同学留言时没有写入数据库,很有可能是随手输入了一些非法字符,导致数据库无法写入。