انجمن های تخصصی علوم رایانه و هنرهای دیجیتال
  • صفحه اصلی
  • جستجو
  • لیست اعضا
  • تقویم
  • راهنما




سی جی آریا

رسانه تخصصی آموزش هنرهای دیجیتال



ورود به انجمن ثبت نام کنید
ورود
نام کاربری:
گذرواژه‌: گذرواژه‌تان را فراموش کرده‌اید؟
 

Home انجمن های تخصصی علوم رایانه و هنرهای دیجیتال رایانه برنامه نویسی | طراحی وب برنامه نویسی پی اچ پی | PHP حرکت بین صفحات PHP توسط دستور Header - توسط جاوا و ...

امتیاز موضوع:
  • 1 رأی - میانگین امتیازات: 5
  • 1
  • 2
  • 3
  • 4
  • 5
حالت‌های نمایش موضوع
حرکت بین صفحات PHP توسط دستور Header - توسط جاوا و ...
Mohsen Omidvar آفلاین
مدیر ارشد
*******
ارسال‌ها: 1,259

موضوع‌ها: 634
تاریخ عضویت: Apr 2012
اعتبار: 198
سپاس ها 400
سپاس شده 2999 بار در 869 ارسال
#1
02-02-2014، 11:38 AM (آخرین ویرایش: 28-05-2014، 11:14 AM، توسط Mohsen Omidvar.)
در PHP برای حرکت بین صفحات مثلا در صفحه لاگین بعد از چک کردن نام کاربری و رمز عبور   تصمیم میگیرید به صفحه بعد بروید و یا صفحه را به صفحه دیگری هدایت کنید.
در این تاپیک از انجمن تخصصی علوم کامپیوتر و هنرهای دیجیتال روشهای مختلف 
حرکت بین صفحات پی اچ پیPHP را بررسی میکنیم.
برای این کار اغلب برنامه نویسان از کد جاوا اسکریپت استفاده می کنند که در ادامه توضیح مید هیم، در واقع دستور window.open یا window.location را با پارامتر ورودی نام صفحه برروی سند HTML چاپ می کنند. این یک راه حال است اما پی اچ پی  PHP خود تابعی برای جابجائی دارد با نام header.
header :
ابن تابع استفاده های بسیار زیادی دارد که در جای بهتری به آن خواهیم پرداخت.
فرمان بالا صفحه را به صفحه دیگر تغییر مسیر می دهد مثال :
کد php:
if ( ($user=='admin') && ($pass=='123') )
{
 
header('Location: inbox.php');
{
else
{
header('Location: invalid.php'); 
} 
خب با این کدها ممکنه خطای زیر رخ بده :

Warning: Cannot modify header information - headers already sent by (output started at /home/www/....
درسته اما این خطا که حکایت از فرستاده شده بخش Header صفحه دارد مانع از اجرای فرمان Header می شود. 
حالا به راه حل آن توجه کنید :
کد php:
<?php
ob_start
();
?>
<html>
<header>
....
</header>
<boby>
HTML and Your page Design php
<?php
if ( ($user=='admin') && ($pass=='123') )
{
ob_end_clean();
header("Location: inbox.php");
 exit;
}
else
{
 
ob_end_clean();
header("Location: invalid.php");
 exit;
}
?>
<body> 

توسط فرمان ob_end_clean شما بافر را تخلیه می کنید و حال می توانید Header‌ را تغییر دهیدو
البته حتما باید مانند استفاده از Session در ابتدای صفحه ، اول اون را استارت کنید.
کد جاوااسکریپت انتقال به لینک خاص :
کد php:
location.href="http://www.cgaria.com/" 
گاهی پیش میاد که بعد از ارسال اطلاعات میخواهیم لینکی نمایش داده شه تا با کلیک بر روی اون کاربر رو به صفحه جدیدی هدایت کنه 
کد جاوااسکریپت بازگشت به صفحه قبل :
کد php:
<input onclick="history.back(-1)" type="button" value="بازگشت"/> 
کد php این کار :
کد php:
<?php
$url 
= htmlspecialchars($_SERVER['HTTP_REFERER']);
echo 
"<a href='$url' rel="nofollow">بازگشت</a>";
?>
اگر بخواهید اطلاعات فرم توی صفحه php پردازش بشه بعد خودش بدون اینکه نیاز یه زدن دکمه باشه اتوماتیک بره به یک صفحه دیگه میتوان از متاتگ رفرش در صفحه php استفاده کرد :
کد php:
<meta http-equiv="refresh" content="21;URL='http://www.cgaria.com//'"> 

به جای 21  زمان موندن در صفحه php رو به ثانیه و به جای آدرس انجمن تخصصی علوم کامپیوتر و هنرهای دیجیتال( *شما قادر به دیدن لینک ها نیستید ثبت نام کنید یا وارد حساب خود شوید تا بتوانید لینک ها را ببینید* ) آدرس لینکی که می خواهید پس از n ثانیه به اونجا منتقل شوید را بنویسید.
این کد را درون تگ head در صفحه php قرار دهید.
 *شما قادر به دیدن لینک ها نیستید ثبت نام کنید یا وارد حساب خود شوید تا بتوانید لینک ها را ببینید*
خورشید باش که اگر خواستی بر کسی نتابی نتوانی.
ارسال‌ها
پاسخ
« قدیمی‌تر | جدیدتر »


موضوع‌های مشابه…
موضوع نویسنده پاسخ بازدید آخرین ارسال
  معرفی دستور شرطی if...else و کاربردهای مختلف آن Farzad 1 3,661 03-10-2014، 12:34 AM
آخرین ارسال: Mohsen Omidvar

  • مشاهده‌ی نسخه‌ی قابل چاپ
پرش به انجمن:


کاربرانِ درحال بازدید از این موضوع: 1 مهمان
مکان تبلیغ شما
تمامی حقوق این سایت مربوط به انجمن های تخصصی علوم رایانه و هنرهای دیجیتال میباشد
حالت خطی
حالت موضوعی