View Full Version : سوال: مشکل در آدرس دهی در وبلاگ به وسیله ajax
rash44
شنبه 15 تیر 1392, 10:29 صبح
سلام
1 سیستم وبلاگ دهی دارم . با استفاده از ajax محتوای لینک ها رو فراخوانی می کنم .
زمانی که بر روی 1 لینک ( شرح وبلاگ ) کلیک می کنم ، بجای محتویات فایل مربوط به شرح وبلاگ ، صفحه اصلی مجددا فراخوانی میشه و ترتیب نمایش صفحات به هم میریزه .
به این صورت آدرس دهی کردم :
<a title="شرح وبلاگ" href="#" onclick="ajax_loadContent('viewitem','about.php');">شرح وبلاگ</a>
بصورت : http://web.ir/blog/about.php هم آدرس دهی کردم اما تغییر نکرد .
محل پوشه و فایل های مربوط به وبلاگ ها در پوشه blog می باشد و با وارد کردن ali.web.ir محتویات web.ir/blog/blog.php?web=ali نمایش داده میشه
rash44
شنبه 15 تیر 1392, 10:36 صبح
فایل های ajax هم که در صفحه اصلی ضمیمه کردم
MMSHFE
شنبه 15 تیر 1392, 10:38 صبح
توی صفحه about.php کدهای نمایش منوها و سایر بخشهای صفحه رو نگذارین و فقط کدی که محتوای اصلی رو از دیتابیس میخونه و ارسال میکنه، باقی بمونه.
rash44
شنبه 15 تیر 1392, 10:41 صبح
توی صفحه فوق ، فقط کدهای مربوط به نمایش داده ها وجود داره
<?php
@ session_start();
//
require_once('inc/db.php');
//
$sql2="SELECT `about`,`picbloger` FROM `bloglst` WHERE `user`='$_SESSION[user]' LIMIT 1";
$result2 = mysql_query($sql2);
$line2=mysql_fetch_assoc($result2);
//
?>
<head>
<meta http-equiv="Content-Language" content="fa">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title><?php echo 'test'; ?></title>
</head>
<body topmargin="0" leftmargin="0" rightmargin="0" bottommargin="0" marginwidth="0" marginheight="0">
<table border="0" width="100%">
<tr>
<td dir="rtl"> </td>
</tr>
<tr>
<td dir="rtl" align="right">
<font face="Tahoma" size="2" color="#333333"><?php echo $line2['about']; ?></font></td>
</tr>
<?php if ($line2['picbloger'] != '') { ?>
<tr>
<td dir="rtl">
</td>
</tr>
<tr>
<td dir="rtl">
<p align="center">
<img border="0" src="http://.web.ir/blog/blogimage/<?php echo $line2['picbloger']; ?>" width="99" height="153"></td>
</tr>
<?php } ?>
</table>
rash44
شنبه 15 تیر 1392, 10:46 صبح
توی صفحه about.php کدهای نمایش منوها و سایر بخشهای صفحه رو نگذارین و فقط کدی که محتوای اصلی رو از دیتابیس میخونه و ارسال میکنه، باقی بمونه.
زمانی که 1 صفحه balnk هم بجای لینک ها جاگذاری می کنم همین مشکل وجود داره
rash44
شنبه 15 تیر 1392, 11:17 صبح
زمانی هم که به صورت مستقیم واردذ وبلاگ میشم کلیه لینک ها صحبح می باشد
web.ir/blog/blog.php?id=user
rash44
شنبه 15 تیر 1392, 14:42 عصر
لطفا راهنمائی کنید
afshin9032
شنبه 15 تیر 1392, 15:13 عصر
زمانی که از Ajax استفاده میکنی ، حتما از تابع exit باید استفاده کنی تا ادامه کد اجرا نشه و تا خطی از کد که مورد نیاز هست اجرا بشه .
rash44
شنبه 15 تیر 1392, 15:41 عصر
زمانی که از Ajax استفاده میکنی ، حتما از تابع exit باید استفاده کنی تا ادامه کد اجرا نشه و تا خطی از کد که مورد نیاز هست اجرا بشه .
ممنون دوست عزیز
یعنی اینکه باید توی این کد از تابع exit استفاده بشه ؟
1<?php@ session_start();//require_once('inc/db.php');//$sql2="SELECT `about`,`picbloger` FROM `bloglst` WHERE `user`='$_SESSION[user]' LIMIT 1";$result2 = mysql_query($sql2);$line2=mysql_fetch_assoc($resul t2);//?><head><meta http-equiv="Content-Language" content="fa"><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><title><?php echo 'test'; ?></title></head><body topmargin="0" leftmargin="0" rightmargin="0" bottommargin="0" marginwidth="0" marginheight="0"><table border="0" width="100%"><tr><td dir="rtl"> </td></tr><tr><td dir="rtl" align="right"><font face="Tahoma" size="2" color="#333333"><?php echo $line2['about']; ?></font></td></tr><?php if ($line2['picbloger'] != '') { ?><tr><td dir="rtl"> </td></tr><tr><td dir="rtl"><p align="center"><img border="0" src="http://.web.ir/blog/blogimage/<?php echo $line2['picbloger']; ?>" width="99" height="153"></td></tr><?php } ?></table>
توی کدوم قسمت باید از exit استفاده کنم ؟
rash44
شنبه 15 تیر 1392, 15:43 عصر
زمانی که از Ajax استفاده میکنی ، حتما از تابع exit باید استفاده کنی تا ادامه کد اجرا نشه و تا خطی از کد که مورد نیاز هست اجرا بشه .
البته همه صفحات و لینک ها زمانی که بصورت مستقیم آدرس دهی می کنم به درستی مشاهده میشه و کار می کنند
مثلا بصورت زیر :
web.ir/blog/blog.php?id=user
rash44
شنبه 15 تیر 1392, 15:50 عصر
زمانی که از Ajax استفاده میکنی ، حتما از تابع exit باید استفاده کنی تا ادامه کد اجرا نشه و تا خطی از کد که مورد نیاز هست اجرا بشه .
از exit()هم استفاده کردم امام مشکل حل نشد
به نظر خودم مشکل توی آدرس دهی صفحات می باشد
afshin9032
شنبه 15 تیر 1392, 16:07 عصر
فرض کن کد زیر در صفحه مربوط به فرا خوانی Ajax اجرا میشه :
<?php
if(isset($_GET['ajax']) && $_GET['ajax']='true')
{
$string='';
$data=array(
'A'=>'Test 1',
'B'=>'Test 2',
'C'=>'Test 3',
);
foreach($data as $key=>$value)
{
$string.='<div style="margin:5px;">'.$key.' = '.$value.'</div>';
}
echo $string;
exit;
}
?>
تو خط اول برای هر درخواست Ajax ما یک متغیر get با نام ajax ارسال می کنیم که درخواست ajax را از سایر درخواست ها تشخیص دهیم .
کدهای بعدی هم که نمونه است و بعد از echo از تابع exit استفاده می کنیم تا اجرای ادامه برنامه متوقف شود ، چون نیازی به اجرای کدهای دیگر نیست و ممکن است به خطای منطقی برخورد کنیم .
من هم به این خطا خوردم و اگر مال شما هم از این نوع خطا باشه ، با تابع exit و استفاده از متغیر ajax قابل حل می باشد .
rash44
شنبه 15 تیر 1392, 16:22 عصر
نظرتون در این مورد چیه ؟
البته همه صفحات و لینک ها زمانی که بصورت مستقیم آدرس دهی می کنم به درستی مشاهده میشه و کار می کنند
مثلا بصورت زیر :
web.ir/blog/blog.php?id=user
rash44
پنج شنبه 20 تیر 1392, 11:14 صبح
لطفا راهنمائی کنید
ممنون
vBulletin® v4.2.5, Copyright ©2000-1403, Jelsoft Enterprises Ltd.