iT邦幫忙

6

JavaScript 透過 Cookie傳值給 PHP

分享一個以前用過的方法
JavaScript 跟 PHP 互相傳值有很多方法,最常看到的是用 Post 的方式,不過我個人卻是比較喜歡使用Cookie,這裡就跟大家分享一個以前的案例。

本案例中,先利用 JavaScript 取得Client端的螢幕解析,然後寫到Cookie中,
PHP程式再借由讀取Client端的Cookie取得。

<script language="javascript">
var the_cookie = screen.width +"x"+ screen.height;

function Set_Cookie( name, value, expires, path, domain, secure ) 
{
// 先取得目前時間
var today = new Date();
today.setTime( today.getTime() );

/*
設定expires times
*/
if ( expires )
{
expires = expires * 1000 * 60 * 60 * 24;
}
var expires_date = new Date( today.getTime() + (expires) );

document.cookie = name + "=" +escape( value ) +
( ( expires ) ? ";expires=" + expires_date.toGMTString() : "" ) + 
( ( path ) ? ";path=" + path : "" ) + 
( ( domain ) ? ";domain=" + domain : "" ) +
( ( secure ) ? ";secure" : "" );
}
// 如果已經存在cookie,則取得該值
function Get_Cookie( name ) {
	
var start = document.cookie.indexOf( name + "=" );
var len = start + name.length + 1;
if ( ( !start ) &&
( name != document.cookie.substring( 0, name.length ) ) )
{
return null;
}
if ( start == -1 ) return null;
var end = document.cookie.indexOf( ";", len );
if ( end == -1 ) end = document.cookie.length;
return unescape( document.cookie.substring( len, end ) );
}
//設定Cookie
if ( Get_Cookie( 'users_resolution' )==null ) 
{
	Set_Cookie("users_resolution",the_cookie);
}
</script>

接著在PHP程式中只要只用下列方式就可以取得Cookie

<?php
if(isset($_COOKIE["users_resolution"]))
{
	$screen_res = $_COOKIE["users_resolution"];
}
?>

尚未有邦友留言

立即登入留言