PDA

View Full Version : سوال: مشکل در فرم نظر دهی



soroush.r70
جمعه 28 مهر 1391, 12:17 عصر
من یه فرم ثبت نظر دارم که با ajax کار می کنه وقتی من میام آدرس صفحاتمو با مدریرایت از این

index.php?id='.$row['id'].'
به این تغییر می دم index/1 تغییر می دم در موقع ثبت نظر کل سایت به هم می ریزه می تونین بگین مشکل از کجاست که فقط اینو
index.php?id='.$row['id'].' جواب می ده و با مدریرایت مشکل داره..؟

فرم من و نمایش نظرات :

<p id="tittext"><span>دیدگاه خود را بیان نمایید.</span></p>
<div id="ajax_response">
<?php
$class->query("select * from `icomment` where `id`='".mysql_real_escape_string($id)."' order by `aid` asc");
while($row = $class->fetchassoc())
{
$name = stripslashes($row['name']);
$comment = stripslashes($row['comment']);
$date = $row['date_added'];
?>
<div class="comment_holder">
<div id="comment_text">
<div id="date_posted">
<span id="datetext">در تاریخ&nbsp; <?=$date;?> </span>
<span id="writext"><?=$name;?> گفته :</span>
</div>
<?=$comment;?>
</div>
</div>
<?
}
?>
</div>

<table width="530" height="240" border="0" align="center" class="comment_table">
<tr>
<th width="141" scope="col" align="center">نام و نام خانوادگی :</th>
<th width="445" scope="col"><label for="textfield"></label>
<input type="text" name="name" id="name" class="input-barr" autocomplete="off" <?php echo $name; ?> onfocus="if(this.value=='<?php echo $name; ?>') this.value='';"></th>
<input name="id" type="hidden" value="<?php echo $id; ?>" id="id"/>
</tr>
<tr>
<td align="center">پست الکترونیک :</td>
<th scope="row"><label for="textfield2"></label>
<input type="text" name="email" id="email" dir="ltr" class="input-barrrr"<?php echo $email; ?> autocomplete="off onfocus="if(this.value=='<?php echo $email; ?>') this.value='';""></th>
</tr>
<tr>
<td align="center">نظر شما :</td>
<th scope="row"><label for="textarea"></label>
<textarea name="comment" id="comment" class="input-barrr" cols="45" rows="5" onclick="this.focus();this.select()" onfocus="if(this.value=='<?php echo $comment; ?>') this.value='';" <?php echo $comment; ?>></textarea></th>
</tr>
<tr>
<th height="55" colspan="2" scope="row" align="center"><input type="button" id="submit" class="read-more-btn" value="ثبت نظر"></th>
</tr>
</table>

کد ajax :

$(document).ready(function(){
$(".comment_table").find('textarea, input:text').blur(function () {
if ($(this).val() != ''){
$(this).removeClass("required");
}
});
$("#submit").click(function(){
var anyBlank = 0;
$(".comment_table").find('textarea, input:text').each(function () {
if ($(this).val() == ''){
$(this).addClass("required");
anyBlank = 1;
}
});
if(anyBlank == "0")
{
var id = $("#id").val();
var name = $("#name").val();
var email = $("#email").val();
var comment = $("#comment").val();
comment = comment.replace(/\n\r?/g, '<br />');
$("#loading").css("visibility","visible");
$.ajax({
type: "POST",
url: "sys/iajax_server.php",
data: "name="+name+"&email="+email+"&comment="+comment+"&id="+id,
success: function(date_added){
if(name != 0)
{
structure = '<div class="comment_holder">'+name+' گفته :<div id="date_posted">در تاریخ : &nbsp; '+date_added+'</div><div id="comment_text">'+comment+'</div></div>';
$(".no_comments").fadeOut("slow");
$("#ajax_response").prepend(structure);
$(".comment_table").find('textarea, input:text').each(function () {
$(this).val("");
});
}
else
alert("Unexpected error...!");
$("#loading").css("visibility","hidden");
}
});
}
});
$("#ajax_response").mouseover(function(){
$(this).find(".comment_holder").mouseover(function(){
$(this).addClass("highlight");
});
});
$("#ajax_response").mouseout(function(){
$(this).find(".comment_holder").mouseout(function(){
$(this).removeClass("highlight");
});
});
});


کد php برای ذخیره :


<?php
require_once('function.php');
$id = 0;
if(isset($_GET['id']) && is_numeric($_GET['id'])) {
$id = (int) $_GET['id'];
}
$class=new content;
$id = is_numeric($_POST['id']) ? (int) $_POST['id'] : 0;
$name = $class->escape($_POST['name']);
$email = $class->escape($_POST['email']);
$comment = $class->escape($_POST['comment']);
if (!empty($_SERVER['HTTP_CLIENT_IP']))
{
$ip=$_SERVER['HTTP_CLIENT_IP'];
}
elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR']))
{
$ip=$_SERVER['HTTP_X_FORWARDED_FOR'];
}
else
{
$ip=$_SERVER['REMOTE_ADDR'];
}
$date_added = jdate('l d F Y H:i');
$check = $class->query("insert into `icomment`(`id`,`name`,`email`,`comment`,`date_add ed`,`ip`)values('{$id}','{$name}','{$email}','{$co mment}','{$date_added}','{$ip}')");
$date_added = jdate('l d F Y H:i');
if($check)
echo $date_added;
else
echo "0";
?>

soroush.r70
شنبه 29 مهر 1391, 16:52 عصر
دوستان لطف کنن راهنمایی کنن خیلی مهمه برام.

mohsen6500
شنبه 29 مهر 1391, 22:58 عصر
سلام
مشکل مربوط به ریرایت هست فکر کنم
برای منم یه همچین مشکلی بوجود اومد و پوشه ای که استایلم توش بود رو درست پیدا نمیکرد
و رفتم روی فایل ریرایت و تغییرش دادم
به این صورت :

RewriteRule ^(.+)/Folder/(.+)$ Folder/$2

soroush.r70
پنج شنبه 04 آبان 1391, 18:30 عصر
سلام
مشکل مربوط به ریرایت هست فکر کنم
برای منم یه همچین مشکلی بوجود اومد و پوشه ای که استایلم توش بود رو درست پیدا نمیکرد
و رفتم روی فایل ریرایت و تغییرش دادم
به این صورت :

RewriteRule ^(.+)/Folder/(.+)$ Folder/$2


من به این صورت استفاده می کنم اشتباهه....؟



AddDefaultCharset utf-8
Options +FollowSymlinks
RewriteEngine On
RewriteRule ^music/([^/]*)/([^/]*)/?$ index.php?id=$1 [QSA,NC,L]