• 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
ایجاد User Agent و ریدارکت کردن اتوماتیک
#1
Sad 
درود

یه مشکل برای من پیش اومده . دقیقا بزارید شرح بدم جریان از چه قراره . من یک کد دارم که وقتی مرورگر کروم رو باز میکنید اون کد شناسایی کنه که این مرورگر کروم هست و به لینک دلخواهی که من دادم ارجاع پیدا کنه و اگر موزیلا بود به لینک دیگری . و اگر هیچکدام بود به لینک دیگر.

نمونه کدها رو قرار میدم که دوستان بهتر در جریان باشند و کمک کنند این کد تکمیل بشود .

سپاس گذارم

کد پی‌اچ‌پی:
<!DOCTYPE html>
<
html lang="en">
<
head>
<
meta charset="UTF-8">
<
title></title>

</
head>
<
body>

<?
php
/*
echo $_SERVER['HTTP_USER_AGENT'];
echo '<br>';
*/

$using_Firefox = (strpos($_SERVER['HTTP_:'], 'Firefox/.') !== FALSE);
if(
$using_Firefox)
header('Location: http://MOZ1.ir/');
else
header('Location: http://MOZ2.ir/');

$using_Chrome = (strpos($_SERVER['HTTP_USER_AGENT'], 'Chrome/.') !== FALSE);
if(
$using_Chrome)
header('Location: http://CH1.ir/');
else
header('Location: http://CH2.ir/');


//با استفاده از دستورات شرطی صفحه مورد نظر را به هر صفحه ای که مد نظرمان هست ارسال کنیم



?>


</body>
</html> 


فایل‌های پیوست
.zip   2.zip (اندازه 502 بایت / تعداد دانلود: 0)
  پاسخ
تشکر شده توسط :
#2
خب؟
همه جوره اش رو داریم ظاهرن
  پاسخ
تشکر شده توسط :
#3
خب به جمالت

میگم چرا کار نمیکنه

کمک کن

Huh
  پاسخ
تشکر شده توسط :
#4
سلام

دستوراتی که با header صفحه کار می کنند باید قبل از دستورات خروجی دار نوشته شوند (‌دستور خروجی دار مثل echo, print و ... و کد های HTML ) چون این دستورات نیاز به اعمال تغییرات در HTTP Header دارند اما دستورات خروجی دار معمولا باعث ارسال HTTP Header به مرور گر می شوند.

راه حل مشکل شما اول نوشتن کد های مربوط به تشخیص و ریدایرکت کاربر در اول صفحه است یا این که می تونید در ابتدای صفحه ob_start را صدا بزنید تا PHP با دیدن دستورات خروجی دار header و خروجی را برای مرور گر ارسال نکند.
اطلاعات بیشتر:
http://ir2.php.net/manual/en/function.header.php

نقل قول:Remember that header() must be called before any actual output is sent, either by normal HTML tags, blank lines in a file, or from PHP. It is a very common error to read code with include, or require, functions, or another file access function, and have spaces or empty lines that are output before header() is called. The same problem exists when using a single PHP/HTML file.

کد:
<?php
/*
echo $_SERVER['HTTP_USER_AGENT'];
echo '<br>';
*/

$using_Firefox = (strpos($_SERVER['HTTP_:'], 'Firefox/.') !== FALSE);
if($using_Firefox)
header('Location: http://MOZ1.ir/');
else
header('Location: http://MOZ2.ir/');

$using_Chrome = (strpos($_SERVER['HTTP_USER_AGENT'], 'Chrome/.') !== FALSE);
if($using_Chrome)
header('Location: http://CH1.ir/');
else
header('Location: http://CH2.ir/');


//با استفاده از دستورات شرطی صفحه مورد نظر را به هر صفحه ای که مد نظرمان هست ارسال کنیم



?><!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title></title>

</head>
<body>




</body>
</html>
کدگذاری PHP با ionCube ( به صورت آنلاین)
مناسب برای کد کردن فایل های کانفیگ و پروژه های تجاری
  پاسخ
تشکر شده توسط :


پرش به انجمن:


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