本文实例讲述了PHP+Apache实现二级域名之间共享cookie的方法。分享给大家供大家参考,具体如下:
简介
login.koastal.com设置domain为koastal.com,则www.koastal.com即可访问该cookie。
也就是说二级域名(或者三级域名)之间可以通过这种方式共享cookie。
其实cookie的domain属性的用法跟path有些类似,比如我们将cookie的path设置为/,则/user目录下也可以访问该cookie。
实践
Apache同一端口对应不同域名
httpd-vhosts.conf
VirtualHost 127.0.0.1:80>
ServerName koastal.com
ServerAlias www.koastal.com
DocumentRoot D:\wamp64\vhosts\www
Directory "D:\wamp64\vhosts\www">
Options +Indexes +Includes +FollowSymLinks +MultiViews
AllowOverride All
Require local
/Directory>
/VirtualHost>
VirtualHost 127.0.0.1:80>
ServerName login.koastal.com
DocumentRoot D:\wamp64\vhosts\login
Directory "D:\wamp64\vhosts\login">
Options +Indexes +Includes +FollowSymLinks +MultiViews
AllowOverride All
Require local
/Directory>
/VirtualHost>
修改本机hosts
windows
C:WINDOWS/system32/drivers/etc/hosts
linux
vim /etc/hosts
在最后添加
127.0.0.1 www.koastal.com login.koastal.com
编写php代码进行测试
D:\wamp64\vhosts\www\index.php
?php
if(isset($_COOKIE['username'])){
echo "welcome to ".$_COOKIE['username'];
var_dump($_COOKIE);
}else{
?>
h1>a href='http://login.koastal.com'>Login/a>/h1>
?php
}
D:\wamp64\vhosts\login\index.php
form action="#" method="post">
p>username:input type="text" name="username">/p>
p>password:input type="password" name="password">/p>
p>input type="submit" name="submit" value="submit">/p>
/form>
?php
if(isset($_POST['submit'])){
setcookie('username',$_POST['username'],0,'/','koastal.com');
setcookie('password',$_POST['password'],0,'/','koastal.com');
header('Location:http://www.koastal.com');
}
亲测可用,全文完~
更多关于PHP相关内容感兴趣的读者可查看本站专题:《PHP中cookie用法总结》、《PHP数组(Array)操作技巧大全》、《PHP基本语法入门教程》、《PHP运算与运算符用法总结》、《PHP网络编程技巧总结》及《php字符串(string)用法总结》
希望本文所述对大家PHP程序设计有所帮助。
您可能感兴趣的文章:- PHP的cookie与session原理及用法详解
- PHP实现cookie跨域session共享的方法分析
- PHP cookie,session的使用与用户自动登录功能实现方法分析
- PHP CURL中传递cookie的方法步骤
- php更新cookie内容的详细方法