导航:首页 > 编程语言 > php5cookie

php5cookie

发布时间:2023-01-11 14:14:31

1. php5,cookie中不能存数组吗

  1. cookie不像session那么灵活,session几乎可存储任何的数据格式,包括数组

  2. cookie只能存储单个的参数,像单纯存用户名,存密码,但用户名和密码要是放一个数组里面存储,是存不了的

2. php5实现网页间数据传递,可以使用哪些方法

get,post,ajax.这三种是最常见的。当然还可以用cookie和session。

3. Php5使用哪种身份验证技术和变量传递技术最好 - PHP进阶讨论

默认的Session
ID是存储在Cookie中的,Session是以文件方式存储在服务器上的,当你读取的时候才会读到内存中,Cookie也是在读取的时候才会放进内存相对来说Session的存储是在服务端要比放在客户端的Cookie方便一些,但是没有Cookie的灵活,例如Javascript等客户端脚本就无法读取Session

4. php设置cookie的问题

你问这样的问题说明你不懂cookie。cookie是保存在客户端的,一般情况下只要是同一域名都可以访问,而不是以文件夹来分。就算是同一文件夹,当你设置好,并用不同的域名访问时也是不行的,比如你用127.0.0.1和localhost访问同一文件夹,cookie肯定不一样。浏览器请求时会将请求的该域名下的所有cookie发送给服务器。php有专门读取和设置cookie的函数,同一域名下随便读。

5. php 设置cookie并传递其它变量

得不到var的值吗???
把cookie的值通过表单提交过来啊,可能没有理解你的意思。。。

那在得到要设置cookie变量的时候就设置cookie,或者session,并设置过期时间,这样你每个页面都可以用了。。。

我是php5,可是一直用$_POST['var']啊
你只要做一下处理,这样是可以的啊。。。

6. PHP5里禁用cookie后SESSION还能用吗权威的来,详细点谢谢!

可以的,cookie被禁止了之后,可以通过url传递cookie那个数来进行传递。只是这样做比较麻烦一些,而且安全性不好,需要在需要限制的页面的url中都加上sessionid,而且如果其他人获取到这个sessionid的话,在有效期内,别的电脑也可以登录。
这种url传递sessionid的方法,开发中很少有人用到,服务器端在get到这个sessionid之后,在session_start之前,设置一下session_id(get到的id);这样就可以和用户进行关联,效果和cookie存sessionid一样。

7. ThinkPHP5设置Cookie有何讲究

Cookie::set()
在设置cookie 的时候它的值是经过序列化+base64_encode加密后存储的
cookie()则是直接写入cookie的
在做Thinkphp和UC同步的时候,刚开始应用登陆同步UC是很正常的,但是反过来的时候却出现了uc.php不能写入cookie的情况。后来发现原来是作用域在作怪。
setcookie('uid', base64_encode(serialize($uid)), time() + 3600, '/');
base64_encode(serialize($uid))这么写的原因是我网站获取cookie的时候用的是Cookie::get("uid");!

8. 如何使用PHP操作cookie

PHP setcookie() 函数向客户端发送一个 HTTP cookie。cookie 是由服务器发送到浏览器的变量。cookie 通常是服务器嵌入到用户计算机中的小文本文件。每当计算机通过浏览器请求一个页面,就会发送这个 cookie。cookie 的名称指定为相同名称的变量。例如,如果被发送的 cookie 名为 "name",会自动创建名为 $user 的变量,包含 cookie 的值。
必须在任何其他输出发送前对 cookie 进行赋值。如果成功,则该函数返回 true,否则返回 false。

setcookie(name, value, expire, path, domain, secure)
name 必需。规定 cookie 的名称。
value 必需。规定 cookie 的值。
expire 可选。规定 cookie 的有效期。
path 可选。规定 cookie 的服务器路径。
domain 可选。规定 cookie 的域名。
secure 可选。规定是否通过安全的 HTTPS 连接来传输 cookie。
可以通过 $HTTP_COOKIE_VARS["user"] 或 $_COOKIE["user"] 来访问名为 "user" 的 cookie 的值。在发送 cookie 时,cookie 的值会自动进行 URL 编码。接收时会进行 URL 解码。如果不需要这样,可以使用 setrawcookie() 代替。

程序1:
设置并发送 cookie:
1 <?php
2 $value = "my cookie value";
3 // 发送一个简单的 cookie
4 setcookie("TestCookie",$value);
5 ?>
01 <html>
02 <body>
03 ...
04 ...
05 <?php
06 $value = "my cookie value";
07 // 发送一个 24 小时候过期的 cookie
08 setcookie("TestCookie",$value, time()+3600*24);
09 ?>
10 <html>
11 <body>

程序2:
检索 cookie 值的不同方法:
01 <html>
02 <body>
03 <?php
04 // 输出个别的 cookie
05 echo $_COOKIE["TestCookie"];
06 echo "<br />";
07 echo $HTTP_COOKIE_VARS["TestCookie"];
08 echo "<br />";
09 // 输出所有 cookie
10 print_r($_COOKIE);
11 ?>
12 </body>
13 </html>
程序输出:
1 my cookie value
2 my cookie value
3 Array ([TestCookie] => my cookie value)

程序3:
通过把失效日期设置为过去的日期/时间,删除一个 cookie:
1 <?php
2 // 把失效日期设置为一小时前
3 setcookie ("TestCookie", "", time() - 3600);
4 ?>

程序4:
创建一个数组 cookie:
01 <?php
02 setcookie("cookie[three]","cookiethree");
03 setcookie("cookie[two]","cookietwo");
04 setcookie("cookie[one]","cookieone");
05 // 输出 cookie (在重载页面后)
06 if (isset($_COOKIE["cookie"]))
07 {
08 foreach ($_COOKIE["cookie"] as $name => $value)
09 {
10 echo "$name : $value <br />";
11 }
12 }
13 ?>
程序输出:
1 three : cookiethree
2 two : cookietwo
3 one : cookieone

程序5:
view sourceprint?
1 /**
2 * 01.cookie设置
3 * */
4 function ssetcookie($var, $value, $life=0) {
5 global $_SGLOBAL, $_SC, $_SERVER;
6 setcookie($_SC['cookiepre'].$var, $value, $life?($_SGLOBAL['timestamp']+$life):0, $_SC['cookiepath'],$_SC['cookiedomain'], $_SERVER['SERVER_PORT']==443?1:0);
7 }

9. ThinkPHP5设置Cookie有何讲究

Cookie::set()
在设置cookie 的时候它的值是经过序列化+base64_encode加密后存储的
cookie()则是直接写入cookie的

在做Thinkphp和UC同步的时候,刚开始应用登陆同步UC是很正常的,但是反过来的时候却出现了uc.php不能写入cookie的情况。后来发现原来是作用域在作怪。

setcookie('uid', base64_encode(serialize($uid)), time() + 3600, '/');

base64_encode(serialize($uid))这么写的原因是我网站获取cookie的时候用的是Cookie::get("uid");

10. php4的版本下cookie的设置与php5下的设置有什么区别

PHP5 中的对象已经进行了较系统、较全面的调整,现在的样子可能看起来会有些类似于 Java。本小节着重讲述 PHP5 中新的对象模式,并举了一些较简易的例子来说明。就让本节成为你的 PHP5 之旅的一个新起点吧。:)* 构造函数和析构函数
* 对象的引用
* 对象的克隆
* 对象中的私有、公共及受保护模式
* 接口 (Interfaces)
* 抽象类
* __call
* __set 和 __get
* 静态成员
构造函数和析构函数在 PHP4 中,当函数与对象同名时,这个函数将成为该对象的构造函数,并且在 PHP4 中没有析构函数的概念。
在 PHP5 中,构造函数被统一命名为 __construct,并且引入了析构函数的概念,被统一命名为 __destruct。例一:构造函数和析构函数class foo {
var $x;
function __construct($x) {
$this->x = $x;
}
function display() {
print($this->x);
}
function __destruct() {
print("bye bye");
}
}
$o1 = new foo(4);
$o1->display();
?>
在上面的例子中,当你终止调用 foo 类的时候,其析构函数将会被调用,上例中会输出 “bye bye”。
对象的引用众所周知,在PHP4 中,传递变量给一个函数或方法,实际是把这个变量做了一次复制,也就意味着你传给函数或方法的是这个变量的一个副本,除非你使用了引用符号 “&” 来声明是要做一个引用,而不是一个 Copy。在 PHP5 中,对象总是以引用的形式存在的,对象中的赋值操作同样也都是一个引用操作。例二:对象的引用
class foo {
var $x;
function setX($x) {
$this->x = $x;
}
function getX() {
return $this->x;
}
}
$o1 = new foo;
$o1->setX(4);
$o2 = $o1;
$o1->setX(5);
if($o1->getX() == $o2->getX()) print("Oh my god!");
?>对象的克隆如上所述,当一个对象始终以引用的形式来被调用时,如果我想得到该对象的一个副本,该怎么办呢?PHP5 提供了一个新的功能,就是对象的克隆,语法为 __clone。例三:对象的克隆
class foo {
var $x;
function setX($x) {
$this->x = $x;
}
function getX() {
return $this->x;
}
}
$o1 = new foo;
$o1->setX(4);
$o2 = $o1->__clone();
$o1->setX(5); if($o1->getX() != $o2->getX()) print("Copies are independant");
?>
对象克隆的方法在其它很多应用程序语言中都是存在的,所以你不必担心它的稳定性。:)
对象中的私有、公共及保护模式PHP4 中,一个对象的所有方法和变量都是公共的,这意味着你可以在一个对象的外部操作其中的任意一个变量和方法。PHP5 引入了三种新的用来控制这种存取权限的模式,它们是:公共的(Public)、受保护的(Protected)及私有的(Private)。公共模式(Public):允许在对象外部进行操作控制。
私有模式(Private):只允许本对象内的方法对其进行操作控制。
受保护模式(Protected):允许本对象及其父对象对其进行操作控制。例四: 对象中的私有、公共及受保护模式class foo {
private $x;
public function public_foo() {
print("I'm public");
}
protected function protected_foo() {
$this->private_foo(); //Ok because we are in the same class we can call private methods
print("I'm protected");
}
private function private_foo() {
$this->x = 3;
print("I'm private");
}
}
class foo2 extends foo {
public function display() {
$this->protected_foo();
$this->public_foo();
// $this->private_foo(); // Invalid! the function is private in the base class
}
} $x = new foo();
$x->public_foo();
//$x->protected_foo(); //Invalid cannot call protected methods outside the class and derived classes
//$x->private_foo(); //Invalid private methods can only be used inside the class $x2 = new foo2();
$x2->display();
?>
提示:对象中的变量总是以私有形式存在的,直接操作一个对象中的变量不是一个好的面向对象编程的习惯,更好的办法是把你想要的变量交给一个对象的方法去处理。
接口 (Interfaces)众所周知,PHP4 中的对象支持继承,要使一个对象成为另一个对象的派生类,你需要使用类似 “class foo extends parent” 的代码来控制。 PHP4 和 PHP5 中,一个对象都仅能继承一次,多重继承是不被支持的。不过,在 PHP5 中产生了一个新的名词:接口,接口是一个没有具体处理代码的特殊对象,它仅仅定义了一些方法的名称及参数,此后的对象就可以方便的使用 'implement' 关键字把需要的接口整合起来,然后再加入具体的执行代码。例五:接口interface displayable {
function display();
}
interface printable {
function doprint();
}class foo implements displayable,printable {
function display() {
// code
} function doprint() {
// code
}
}
?>
这 对提高代码的可读性及通俗性有很大的帮助,通过上面的例子可以看到,对象 foo 包含了 displayable 和 printable 两个接口,这时我们就可以清楚的知道,对象 foo 一定会有一个 display() 方法和一个 print() 方法,只需要去了解接口部分,你就可以轻易的操作该对象而不必去关心对象的内部是如何运作的。抽象类抽象类不能被实例化。
抽象类与其它类一样,允许定义变量及方法。
抽象类同样可以定义一个抽象的方法,抽象类的方法不会被执行,不过将有可能会在其派生类中执行。例六:抽象类abstract class foo {
protected $x;
abstract function display();
function setX($x) {
$this->x = $x;
}
}
class foo2 extends foo {
function display() {
// Code
}
}
?>__callPHP5 的对象新增了一个专用方法 __call(),这个方法用来监视一个对象中的其它方法。如果你试着调用一个对象中不存在的方法,__call 方法将会被自动调用。例七:__callclass foo {
function __call($name,$arguments) {
print("Did you call me? I'm $name!");
}
} $x = new foo();
$x->doStuff();
$x->fancy_stuff();
?>
这个特殊的方法可以被用来实现“过载(overloading)”的动作,这样你就可以检查你的参数并且通过调用一个私有的方法来传递参数。例八:使用 __call 实现“过载”动作class Magic {
function __call($name,$arguments) {
if($name=='foo') {
if(is_int($arguments[0])) $this->foo_for_int($arguments[0]);
if(is_string($arguments[0])) $this->foo_for_string($arguments[0]);
}
} private function foo_for_int($x) {
print("oh an int!");
} private function foo_for_string($x) {
print("oh a string!");
}
} $x = new Magic();
$x->foo(3);
$x->foo("3");
?>__set 和 __get这是一个很棒的方法,__set 和 __get 方法可以用来捕获一个对象中不存在的变量和方法。例九: __set 和 __getclass foo {
function __set($name,$val) {
print("Hello, you tried to put $val in $name");
}
function __get($name) {
print("Hey you asked for $name");
}
}
$x = new foo();
$x->bar = 3;
print($x->winky_winky);
?>类型指示在 PHP5 中,你可以在对象的方法中指明其参数必须为另一个对象的实例。例十:类型指示class foo {
// code ...
}
class bar {
public function process_a_foo(foo $foo) {
// Some code
}
}
$b = new bar();
$f = new foo();
$b->process_a_foo($f);
?>
可以看出,我们可以显性的在参数前指明一个对象的名称,PHP5 会识别出这个参数将会要是一个对象实例。

阅读全文

与php5cookie相关的资料

热点内容
无线已加密不可上网是怎么了 浏览:464
什么app可以免费做手机 浏览:373
异性下载什么app 浏览:680
51单片机程序单步视频 浏览:239
家庭宽带如何连接服务器 浏览:117
汽车高压泵解压 浏览:770
上门正骨用什么app 浏览:758
安卓为什么免费使用 浏览:397
加密货币都有哪些平台 浏览:625
python和matlab难度 浏览:388
python爬虫很难学么 浏览:572
小米解压积木可以组成什么呢 浏览:816
为什么滴滴出行app还能用 浏览:564
怎么升级手机android 浏览:924
php权威编程pdf 浏览:995
扣扣加密技巧 浏览:722
苹果如何创建服务器错误 浏览:497
软考初级程序员大题分值 浏览:475
js压缩视频文件 浏览:580
linux如何通过命令创建文件 浏览:991