在PHP和MySQL中检查用户名
我有一个类似Facebook用户名的小应用程序。当我转到链接在PHP和MySQL中检查用户名,php,mysql,.htaccess,redirect,Php,Mysql,.htaccess,Redirect,我有一个类似Facebook用户名的小应用程序。当我转到链接localhost/pretty url/index.php?id=100000001时,我将使用.htaccess成功重定向到localhost/pretty url/myusername 但是在重定向之前,我需要检查id是否已经在MySQL数据库中。如果是这样的话,那就是我重定向它的时候了 我的问题是,如果用户输入localhost/pretty-url/myusername,我如何检查用户名myusername是否存在,它是否不是
localhost/pretty url/index.php?id=100000001
时,我将使用.htaccess
成功重定向到localhost/pretty url/myusername
但是在重定向之前,我需要检查id是否已经在MySQL数据库中。如果是这样的话,那就是我重定向它的时候了
我的问题是,如果用户输入localhost/pretty-url/myusername
,我如何检查用户名myusername
是否存在,它是否不是目录或文件?如果数据库中不存在,则不会有目录或文件将其重定向到404页面
顺便说一句,这是我的.htaccess
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteRule ^([^/]+)/?$ index.php?id=$1 [L,QSA]
ErrorDocument 404 /404.php
当我尝试localhost/pretty-url/usernotexist
时,我没有被重定向到404页面,但当我放置类似于localhost/pretty-url/usernotexist/dfdg
的内容时,我就被重定向了。实际上,用户名usernotexist
在我的数据库中不存在。我怎样才能修好它
提前感谢..您不能从htaccess文件检查数据库,我要做的是使用php检查用户名,并使用header()调用重定向。
Htaccess不能为您的数据库设置规则,在这种情况下,您必须使用PHP代码进行检查。这可能是一个很大的安全漏洞,因为用户可以输入一个他想要的有效用户ID,并被重定向到myusername页面。如果他使用一个有效的用户ID,那么它将被重定向到一个有这样一个用户ID的个人资料页面。但是,我也限制了一些东西。。非常不推荐。我知道我不能使用htaccess检查数据库。但是知道
usernotexist
是文件还是目录有帮助吗?