Heim > Artikel > Backend-Entwicklung > php编程求助:同一时间如何控制session打开
我有连个问题,求教诸位。谢先!
问题一:
我想使我的网站在同一时间只允许一个会话。例如,用户已从Firefox登录到我的网站,如果该用户想同时在同一台计算机的不同浏览器,或不同计算机上再次登录,新session将被吊销。而最初的在Firefox打开的那个session保持,如果它仍然是一个会话。
问题二:在Apache+MySQL 环境下,想让php程序运行时,从浏览器上,看不到其参数,且扩展名不是.php 而是.html,不知应如何设置环境参数/变量
一个账户只能有一个session被保存到数据表中。用户发送过来的session值不在表中就清掉所有cookie让他去填表登录。
1、不同的浏览器进程,必然产生新的会话,更不要说不同的机器了
你的问题应该是:如何使一个用户只登录一次
这个问题已讨论多次了,你搜索一下就可以了。但还有一个伴随问题:如果用户没有注销该如何处理?这始终没有满意的答案
2、你可以启用 urlrewrite 重写.html为.php
也可以给apache添加一个类型
addtype application/x-httpd-php .html
让 php 去处理 html 文件(实际是php程序)
1、如何使一个用户只登录一次
2、你可以启用 urlrewrite 重写.html为.php
也可以给apache添加一个类型
addtype application/x-httpd-php .html
让 php 去处理 html 文件(实际是php程序)
thank you so much!!
不好意思,第一个问题,我在本版没有搜到相关讨论贴;
第二个问题,如果我用的是wampServer,如何启用urlrewrite 重写.html; addtype 应该加到哪个配置文件中呢?
关于rewrite,在网站根目录建一个.htaccess文件,写入以下保存即可。
<IfModule mod_rewrite.c>RewriteEngine OnRewriteRule ^(.*)\.html$ $1.php [NC]</IfModule>
关于rewrite,在网站根目录建一个.htaccess文件,写入以下保存即可。
<IfModule mod_rewrite.c>RewriteEngine OnRewriteRule ^(.*)\.html$ $1.php [NC]</IfModule>
convert .php extension to .html extension in subdirectory using .htaccess file (convert .php extension to .html extension for all files in particular folder using .htaccess file)
RewriteEngine onRewriteBase /subdirectory nameExampleRewriteEngine onRewriteBase /galleryRewriteCond %{THE_REQUEST} (.).phpRewriteRule ^(.).php $1.html [R=301,L]RewriteCond %{THE_REQUEST} (.).htmlRewriteRule ^(.).html $1.php [L]
url用.php 实际文件是.html?
这样除了rewrite,还要在httpd.conf加入addtype application/x-httpd-php .html
不然解释不了。
url用.php 实际文件是.html?
这样除了rewrite,还要在httpd.conf加入addtype application/x-httpd-php .html
不然解释不了。
实际文件是.php, url用.html
url用.php 实际文件是.html?
这样除了rewrite,还要在httpd.conf加入addtype application/x-httpd-php .html
不然解释不了。
实际文件是.php, url用.html
那??可以啊
RewriteEngine On
RewriteRule ^(.*)\.html$ $1.php [NC]
http://domain/1.html ??是 http://domain/1.php
url用.php 实际文件是.html?
这样除了rewrite,还要在httpd.conf加入addtype application/x-httpd-php .html
不然解释不了。
实际文件是.php, url用.html
那??可以啊
RewriteEngine On
RewriteRule ^(.*)\.html$ $1.php [NC]
http://domain/1.html ??是 http://domain/1.php
那怎么在我这儿就是不行呢?我的所有程序在folder里都是.php, 比如默认实际调用了index.php, 而用户在浏览器里看到的却是index.html
你是把.htaccess文件放在根目录还是应用目录里
你是把.htaccess文件放在根目录还是应用目录里
起?demo??下
.htaccess
test.php
??
http://domain/test.html 看看能不能正常?出。
你是把.htaccess文件放在根目录还是应用目录里
起?demo??下
.htaccess
test.php
??
http://domain/test.html 看看能不能正常?出。
能正常?出, 但由test.html 出发再调用其它php程序, 浏览器里看到的依然是.php,我是要让所有的.php文件看起来都是.html
那你需要在html?出??成 test.html 而非test.php,因?你?了test.php就不受上面rewrite?理。
例如:test 要改成 test
你需要??url_reponse()的方法包住。然後在url_response里面转。这样方便修改。
简单例子。
function url_response($url){
return str_replace('.php','.test',$url);
}
">test