• 1 رای - 5 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
کار نکردن سیستم پیجینگ هنگام ارسال اطلاعات فرم(حل شد)
#1
سلام من یه سیستم پیجینگ طراحی کردم و توی جاهای مختلف پروژه دارم ازش استفاده میکنم
الان یه مشکلی باهاش پیدا کردم این هست که این سیستم توی صفحاتی که مستقیما با دیتابیس در ارتباط هستند و ثابت اطلاعاتو از دیتابیس میخونن هیچ مشکلی نداره و درست کار میکنه

ولی توی صفحاتی که یه سری اطلاعات به اون صفحه ها POST OR GET میشن مشکل دارم و بعد از کلیک روی صفحه بندی اون اطلاعات دیگه نمایش داده نمیشن
کد پی‌اچ‌پی:
                        $setting = array(
                            
'paged_item' => 1
                            
);

                        @
$page $_GET['page'];
                        if(empty(
$page))
                        {
                            
$page 1;
                        }
                        
$start = ($page 1) * $setting['paged_item'];

                    if(
$setting['paged_item'] > 0)
                    {
                        
$paged_total ceil($setting['paged_item']);
                        
$paged_last $paged_total;
                        
$paged_middle $page 2;
                        
$paged_start $paged_middle 2;
                        
                        if(
$page 1)
                        {
                            
$paged_perv $page 1;

                            
$paged_result '<li> <a class="r" href="?page='.$paged_perv.'" aria-label="Previous"><span aria-hidden="true"><span class="fa fa-arrow-circle-o-right"></span></span></a></li>';
                        }
                        else
                        {
                            
$paged_result '<li> <a class="r" href="#" aria-label="Previous"><span aria-hidden="true"><span class="fa fa-arrow-circle-o-right"></span></span></a></li>'."\n";                                    
                        }
                        
$paged_result .='<li><a class="r st"><span> صفحه '.$page.' از '.$paged_total.'  </span> </a></li>';
                        for (
$i=$paged_start-2$i<=$paged_middle$i++)
                        {
                            
                            if (
$i && $i <= $paged_last)
                            {
                                if(
$i == $page)
                                {
                                    
$paged_result .= ' <li class="active" ><a href="?page='.$i.'">'.$i.'</a></li>';
                                    if( 
$i != $paged_last )
                                    {
$paged_result .='<li><a class="st">...</a></li>'; }
                                }
                                else
                                {
                                    
$paged_result .= ' <li><a href="?page='.$i.'">'.$i.'</a></li>';
                                }

                            }

                        }
                        if(
$page <= $paged_last 1)
                        {
                            
$paged_next $page 1;

                            
$paged_result .= '<li><a class="r" href="?page='.$paged_next.'" aria-label="Next"><span aria-hidden="true"><span class="fa fa-arrow-circle-o-left"></span></span></a></li>';
                        }
                        else
                        {
                            
$paged_result .= '<li><a class="r" href="#" aria-label="Next"><span aria-hidden="true"><span class="fa fa-arrow-circle-o-left"></span></span></a></li>';
                        }
                            echo 
$paged_result;                

                        
                    } 

چیکار کنم تا درست کار کنه؟
  پاسخ
تشکر شده توسط :
#2
اساتید راه حلی برای این موضوع ندارن ؟
  پاسخ
تشکر شده توسط :
#3
سلام،
فک کنم مشکل با POST که طبیعی هست، بعد از تغییر صفحه دیگه اطلاعات POST شده وجود ندارن.
ولی با GET نباید مشکل داشته باشه، اون چرا از بین میره؟

فهمیدم مشکل چیه، لینک صفحه بعد و قبل که داری میسازی، از $_SERVER['REQUEST_URI'] استفاده کن تو آدرس‌دهی.
بعد اون &page رو اضافه کن به آخر آدرس صفحه.
غایب
  پاسخ
تشکر شده توسط : kasbookar
#4
اره مشکل همینجاس که با GET هم نشون نمیده alla جان
راه حلی ، تستی چیزی برای این نیس؟ چون توی بقیه صفحات درست داره کار میکنه
  پاسخ
تشکر شده توسط :
#5
نقل قول:فهمیدم مشکل چیه، لینک صفحه بعد و قبل که داری میسازی، از $_SERVER['REQUEST_URI'] استفاده کن تو آدرس‌دهی.
بعد اون &page رو اضافه کن به آخر آدرس صفحه.

ویرایش کردم، دیدی ؟
غایب
  پاسخ
تشکر شده توسط :
#6
یعنی تمام ادرس دهی های صفحه به شکل زیر تغییر کنه؟

کد پی‌اچ‌پی:
                            $paged_result '<li> <a class="r" href="'.$_SERVER['REQUEST_URI'].'&page='.$paged_perv.'" aria-label="Previous"><span aria-hidden="true"><span class="fa fa-arrow-circle-o-right"></span></span></a></li>'

اره مرسی داداش نکته کار همینجا بود حل شد
  پاسخ
تشکر شده توسط :
#7
فقط یه مشکلی که داریم اینه که ادرس کمی نامنظم میشه با این روش هر چندتا صفحه عوض کنیم همونقدر به ادرس صفحه page اضافه میشه

?tarikh=1394%2F08%2F28&hollyday=پنجشنبه%2C+28+آبان+1394+-+هفته+نهم+&struct=ساختمان+مهدی-ساختمان+حسن&page=2&page=3&page=1&page=2&page=3

به نظرت اینو مشکل حساب کنیم یا با htaccess حل شدنی هست؟ یا اینکه ولش کنم مشکلو؟
  پاسخ
تشکر شده توسط :
#8
از لحاظ منطقی که مشکلی نیست، چون همیشه آخری رو میخونه و اون هم درسته دیگه.
اما خب از نظر من مشکل حساب میشه.
این لینک رو نگاه کن، چندتا راه حل برای اینکه چه جوری درستش کنی. [لینک]
غایب
  پاسخ
تشکر شده توسط : kasbookar
#9
این مشکل حل شد ولی وقتی از $_SERVER['REQUEST_URI'] استفاده میکنم
توی صفحه پرینت به مشکل برمیخورم
ببین این صفحه منه برای پرینت (عکس پایین)

وقتی پرینتو میزنم میاد کل ادرس رو توی پرینت چاپ میکنه
پایین همه چیو نوشتم قبل و بعد رو

هرکاری میکنم درست نمیشه که نمیشه
ممنون میشم کمکم کنی


فایل‌های پیوست تصاویر بندانگشتی
   

.pdf   بعد از برداشتن ($_SERVER['REQUEST_URI']).pdf (اندازه 20.25 KB / تعداد دانلود: 2)
.pdf   قبل از برداشتن ($_SERVER['REQUEST_URI']).pdf (اندازه 36.88 KB / تعداد دانلود: 4)
  پاسخ
تشکر شده توسط :
#10
نمیدونم از چه مرورگری استفاده میکنی، ولی این لینک صفحه و عنوان رو میشه از بخش چاپ حذف کرد.
مثلا توی کروم وقتی Ctrl + P بزنی و بری توی More Settings اونجا اگه تیک Headers and Footers رو برداری دیگه لینک چاپ نمیشه.
حالا شاید با سی‌اس‌اس هم بشه لینک‌ها رو حذف کرد من نمیدونم.
ولی اینکه لینک موقع استفاده از $_SERVER نشون داده میشه، وقتی برش میداری دیگه نمیاد، فکر نمیکنم ربطی داشته باشه.
غایب
  پاسخ
تشکر شده توسط :


پرش به انجمن:


کاربران در حال بازدید این موضوع: 1 مهمان