-
ارسال نظر
برای ارسال نظر بدین صورت کد نوشتم برای مطالبی که چند روز قبل در وب سایت قرار دادم نظر ارسال نمیگردد به نظر شما مشکل از کجاست؟
[PHP]<?php
$con = mysql_connect("localhost","root","");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("a", $con);
if(!empty($_POST['name'] )&&!empty($_POST['email']) && !empty($_POST['comment'])&& !empty($_POST['user_code']) ){
//$n = htmlentities($_POST['name']);
$n = htmlentities($_POST['name'], null, 'utf-8');
$e= htmlentities($_POST['email'], null, 'utf-8');
//$me=$_POST['comment'];
$me=htmlentities($_POST['comment'], null, 'utf-8');
$id =intval( $_POST['message_id']);
if($id>0){
if( mysql_num_rows( mysql_query( "SELECT `cid` FROM `idea`
WHERE `comment` = '" . $_POST['comment'] . "' and `email` = '" . $_POST['email'] . "' LIMIT 1" ) )< 1 ) {
//vojood nadare pas felan kar kon
$idea=mysql_query("INSERT INTO `idea` (`name`,`email`,`comment`,`cid`,`checked`) VALUES('$n','$e','$me','$id','0') ");
mysql_query("SET NAMES 'utf8'");
mysql_set_charset("utf8",$con);
printf('<div class=" bg-blue "><script language="javascript" type="text/javascript">
alert("نظر شما پس از بررسی توسط مدیر سایت، به نمایش خواهد آمد.");
</script></div>');
}
else{
//else shart aval
//echo"error";
}
}
else {
//echo'<div class=" send"><center>نظر ارسال شده است</center></div>';
}
}
mysql_close($con);
?> [/PHP]
-
1) امنیت این کد شما خیلی پایینه در مورد mysql_real_escape_string نیز تحقیق کنید.
2)تا جایی که من میدونم، باید کوئری های insert رو در چند خط نوشت:
[PHP]
INSERT INTO `idea` (`name`,`email`,`comment`,`cid`,`checked`)
VALUES
('$n','$e','$me','$id','0')
[/PHP]
3) در بعد از کوئری insert بهتره or die (mysql_error()) رو نیز بنویسید تا اگر در ارسال به دیتابیس مشکلی وجود داشت ارور نمایش داده بشه.
-
اینجا اگر دستور شرطی if $id>0 را بردارم برای تمامی مطالب نظر ارسال میگردد منتها مقدار cid =0 میباشد این مقدار cid ،ای دی هر مطلب هست