PDA

View Full Version : سوال: مدریرایت و مشکل با ثبت نظر



soroush.r70
سه شنبه 04 مهر 1391, 17:11 عصر
دوستان من وقتی آدرس هامو که به این صورته
http://www.domain.com/index.php?id=1 با مدریرایت تبدیل می کنم به این
http://www.domain.com/music/1/
بخش نظرات من که در ادامه مطلب هر پست هست ثبت نمی شه و کل سایت رو دوباره می اندازه داخل بلاک نمایش نظر اسکریپت ثبت نظر من با ajax کار می کنه که کد کامل نظر براتون می ذارم که فکر کنم مشکل از اونا باشه اگه می تونین مشکل ما رو حل کنین که خیلی واجبه ممنونم.

هر موقع از مدیریرایت استفاده نمی کنم درست می شه ولی من می خوام ازش استفاده کنم تا آدرسا زیباتر بشن.

کد مدریرایت


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


فرم ثبت نظر

<script type="text/javascript" src="<?php echo root; ?>js/ic.js"></script>


<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>
<?php
if(isuser())
{
?>
<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" value="<?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" value="<?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>
<?php
}
else
{
echo'<p class="ifnazar" align="center" dir="rtl">لطفا برای ثبت نظرات خود وارد حساب کاربری خود شوید یا <a href="';echo root; echo'register.php" class="ifnlink">عضو شوید</a> متشکریم.!</p>';
}
?>



اسکریپت ic.js

$(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");
});
});
});

کد iajax_server.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
چهارشنبه 05 مهر 1391, 09:08 صبح
کسی جولب نمی ده خیلی واجبه...

soroush.r70
پنج شنبه 06 مهر 1391, 11:18 صبح
مشکل فکر کنم با ic.js باشه که موقع ارسال فقط با فایل index.php جواب می ده چی کار باید کنم...؟