欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

php编程求助:同一时间如何控制session打开

程序员文章站 2024-01-09 19:04:10
...
我有连个问题,求教诸位。谢先!

问题一:
我想使我的网站在同一时间只允许一个会话。例如,用户已从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文件,写入以下保存即可。

RewriteEngine OnRewriteRule ^(.*)\.html$ $1.php [NC]

关于rewrite,在网站根目录建一个.htaccess文件,写入以下保存即可。

RewriteEngine OnRewriteRule ^(.*)\.html$ $1.php [NC]


楼上会不会写错了?
用这段代码,扩展名.php没变成.html不说,扩展名是.html的文件却全以.php来调用,报错:index.php was not found on this server

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