PDA

View Full Version : سوال: پیغام ورود به سایت



thinkdiff
دوشنبه 12 فروردین 1392, 19:10 عصر
من موخواهم یک قطعه کد در وبسایتم قرار بدم که وقتی کاربر وارد سایت شد چک کند که اگر با مرورگر internet expelore (هر ورژنی) وارد شده یک پیغام به صورت دیالوگ باکس نشان دهد که داخلش یک لینک هم وچود داشته باشد و اگر با مرورگر دیگری وارد شد پیغام نمایش داده نشود

فک میکنم باید از دستور if و echo استفاده کنیم

با تشکر

Unique
دوشنبه 12 فروردین 1392, 19:23 عصر
برای شناسایی مرورگر خیلی پست زده شده بهتره یک بررسی بکنید و به نظر من بهتره از javascript استفاده کنید مثلا کد زیر اعلام میکنه مرورگر ie هستش !


if (document.all){
alert("browser is IE"); // do what ever you want here !
}

mahdivita
سه شنبه 13 فروردین 1392, 05:14 صبح
دوستان اگه کسی بلد هست لطفا اگه میشه کدش رو بزارین
دونفر دقیقا یک سئوال رو پرسیدن

thinkdiff
سه شنبه 13 فروردین 1392, 10:44 صبح
دوست عزیز "unique" کد شما کارکرد ولی دو مسئله وجود دارد یکی اینکه پیغام بد چاپ میشه و باید راست چین بشه
و یکی اینکه من میخوام قسمتی از پیغام لینک داشته باشه لطفا راهنمایی کنید

اگر کد php معرفی کنید خیلی بهتره


ممنون

mahdivita
سه شنبه 13 فروردین 1392, 11:16 صبح
سلام thinkdiff
لطفا اون کدی که خودت نوشتی و اجرا شده رو قرار بده من هم دقیقا مشکل شما رو دارم
ممنون

siavashsay
سه شنبه 13 فروردین 1392, 11:36 صبح
دوستان عزیز ! این مبحث فوق العاده پیش پا افتادس !
اگر دوستان برنامه نویس فقط یکم زبان انگلیسی خودشونو تقویت کنن به راحتی میتونن جواب 90 درصد سوال هاشون رو توی اینرنت و از طریق گوگل بگیرن ! بخدا اینطوری هم زبانتون تقویت میشه هم اینکه در موقع جستجو به یه سری مباحث آموزشی دیگه به صورت ناخواسته دست پیدا میکنید !
به هر حال از این کد میتونید به راحتی استفاده کنید :

<?php
class Browser
{
private $props = array("Version" => "0.0.0",
"Name" => "unknown",
"Agent" => "unknown") ;

public function __Construct()
{
$browsers = array("firefox", "msie", "opera", "chrome", "safari",
"mozilla", "seamonkey", "konqueror", "netscape",
"gecko", "navigator", "mosaic", "lynx", "amaya",
"omniweb", "avant", "camino", "flock", "aol");

$this->Agent = strtolower($_SERVER['HTTP_USER_AGENT']);
foreach($browsers as $browser)
{
if (preg_match("#($browser)[/ ]?([0-9.]*)#", $this->Agent, $match))
{
$this->Name = $match[1] ;
$this->Version = $match[2] ;
break ;
}
}
}

public function __Get($name)
{
if (!array_key_exists($name, $this->props))
{
die ("No such property or function $name") ;
}
return $this->props[$name] ;
}

public function __Set($name, $val)
{
if (!array_key_exists($name, $this->props))
{
SimpleError("No such property or function.", "Failed to set $name", $this->props) ;
die ;
}
$this->props[$name] = $val ;
}

}
$Browser = new Browser;
?>

<?php //usage
echo "$Browser->Name $Browser->Version" ;
?>
این هم یک کد دیگه - تشخیص مرورگر + سیستم عامل ! مثال ( firefox - windows 7 )

<?php

$user_agent = $_SERVER['HTTP_USER_AGENT'];

function getOS() {

global $user_agent;

$os_platform = "Unknown OS Platform";

$os_array = array(
'/windows nt 6.2/i' => 'Windows 8',
'/windows nt 6.1/i' => 'Windows 7',
'/windows nt 6.0/i' => 'Windows Vista',
'/windows nt 5.2/i' => 'Windows Server 2003/XP x64',
'/windows nt 5.1/i' => 'Windows XP',
'/windows xp/i' => 'Windows XP',
'/windows nt 5.0/i' => 'Windows 2000',
'/windows me/i' => 'Windows ME',
'/win98/i' => 'Windows 98',
'/win95/i' => 'Windows 95',
'/win16/i' => 'Windows 3.11',
'/macintosh|mac os x/i' => 'Mac OS X',
'/mac_powerpc/i' => 'Mac OS 9',
'/linux/i' => 'Linux',
'/ubuntu/i' => 'Ubuntu',
'/iphone/i' => 'iPhone',
'/ipod/i' => 'iPod',
'/ipad/i' => 'iPad',
'/android/i' => 'Android',
'/blackberry/i' => 'BlackBerry',
'/webos/i' => 'Mobile'
);

foreach ($os_array as $regex => $value) {

if (preg_match($regex, $user_agent)) {
$os_platform = $value;
}

}

return $os_platform;

}

function getBrowser() {

global $user_agent;

$browser = "Unknown Browser";

$browser_array = array(
'/msie/i' => 'Internet Explorer',
'/firefox/i' => 'Firefox',
'/safari/i' => 'Safari',
'/chrome/i' => 'Chrome',
'/opera/i' => 'Opera',
'/netscape/i' => 'Netscape',
'/maxthon/i' => 'Maxthon',
'/konqueror/i' => 'Konqueror',
'/mobile/i' => 'Handheld Browser'
);

foreach ($browser_array as $regex => $value) {

if (preg_match($regex, $user_agent)) {
$browser = $value;
}

}

return $browser;

}


$user_os = getOS();
$user_browser = getBrowser();

$device_details = "<strong>Browser: </strong>".$user_browser."<br /><strong>Operating System: </strong>".$user_os."";

print_r($device_details);

echo("<br /><br /><br />".$_SERVER['HTTP_USER_AGENT']."");

?>
موفق باشید

mahdivita
سه شنبه 13 فروردین 1392, 11:43 صبح
سلام
ممنون
فقط یه سئوال من میخوام فقط اگر با مرورگر کروم وارد سایتم شد پیغام بده که برای نمایش صحیح سایت از مرورگر فایرفاکس استفاده کنین؟؟؟
اون چطوری هست؟؟

siavashsay
سه شنبه 13 فروردین 1392, 11:48 صبح
دوست عزیز این دیگه چه سوالی بود ؟ :)) وقتی متغیر معلوم و مشخص هست این موضوع دیگه کاری نداره !
ازین کد استفاده کنید :

<?php //usage
$BrsName=strtolower($Browser->Name);
if($BrsName=="chrome"){
echo "You Are Using Chrome , Please Use Firefox Browser!" ;
}else{
echo "Welcome";
}
?>

mahdivita
سه شنبه 13 فروردین 1392, 11:56 صبح
منظورم این هستش که با دستورalert پیغام رو نمایش بده و اعلام کنه که از مرورگر فایر فاکس استفاده کنه

mahdivita
سه شنبه 13 فروردین 1392, 11:59 صبح
خط 3 ارور میده :متفکر:

mahdivita
سه شنبه 13 فروردین 1392, 12:07 عصر
کـــــــــــــــــــــمــ ــــــــــــــــــــــک

siavashsay
سه شنبه 13 فروردین 1392, 12:50 عصر
<?php //usage
$BrsName=strtolower($Browser->Name);
if($BrsName=="chrome"){
?>
<script> alert("Please Use FireFox");</script>
<?php
}else{
?>
<script> alert("Welcome");</script>
<?php
}
?>

mahdivita
سه شنبه 13 فروردین 1392, 13:00 عصر
این خط ارور میده


$BrsName=strtolower($Browser->Name);

Unique
سه شنبه 13 فروردین 1392, 13:56 عصر
تازگیها یک پست فورا کلی جواب بهش داده میشه ! کد جناب سیاوش خان سمت سررو هست و با توجه به اینکه user-agent را اینطوری میشه براحتی fake کرد من اصلا این روش را توصیه نمیکنم و باز هم میگم از جاوا اسکریپت استفاده کنید. این را هم در نظر داشته باشین اینجا انجمن php هست و اگه سوال را در انجام مربوطه یعنی توسعه وب مطرح کنید اونجا خیلی فوری به جواب میرسین.\


دوست عزیز "unique" کد شما کارکرد ولی دو مسئله وجود دارد یکی اینکه پیغام بد چاپ میشه و باید راست چین بشه
و یکی اینکه من میخوام قسمتی از پیغام لینک داشته باشه لطفا راهنمایی کنید

در مورد IE بله این کد کار میکنه اما alert در هر حالت راست به چپ نشون نمیده و خیلی روش نمیشه مانور داد ! برای اینکه alert زیبا و با قابلیت تغییر محتوا داشته باشین باید از modal dialog ها استفاده کنید ،‌این یک نمونه خوبش هست (http://www.ericmmartin.com/projects/simplemodal-demos/).