在我的php文件中,我正在创建一个登录,进入极端细节,所以我不会发布它但我也是php的新手,我需要帮助一件事。我不确定$_SESSION
是否适用于此,但如果确实如此,我将不知道该怎么做。
这就是我想知道的...... 如果我有人登录我可以有一个变量(有用户名,所以我不在乎它是否以某种方式存储在URL中。)从页面传递到页面并通过调用它读入每个文件。那么我也可以将变量清空
还有一个更简单的问题......我怎么能在php中创建一个文件夹?
我的目录仍无效
if (is_writable('/users')) {
if (mkdir('/users/$finalusername')) {
// success
}
}
$myFile = "/users/$finalusername/$finalusername.txt";
$fh = fopen($myFile, 'w') or die("There was an error in creating your account. <br />");
$stringData = "$finalusername\n";
fwrite($fh, $stringData);
$stringData = "$finalpass\n";
fwrite($fh, $stringData);
$stringData = "$finalemail\n";
fwrite($fh, $stringData);
fclose($fh);
}
答案 0 :(得分:3)
不要在URL查询字符串中传递任何类型的身份验证值。如果通过这种方式,用户篡改他们的设置(或其他用户的设置)将是微不足道的。
$_SESSION
更适用于此类事情,并且易于实施。成功登录后,为用户设置会话变量:
// Must be called to initiate session
session_start();
// Login was successful
$_SESSION['username'] = $the_username;
// On other pages:
session_start();
if (isset($_SESSION['username'])) {
// user is logged in
}
else // show the login form
要注销用户:
// Method 1 only unsets the username to log out the user
session_start();
unset($_SESSION['username']);
// Alternatively you can destroy the whole session, if
// you are not using it for anything else the user may need again
// despite not being logged in (maybe his preferred language, for example)
session_destroy();
unset($_SESSION);
要使用PHP创建目录,请使用mkdir()
。 Web服务器用户帐户必须具有对创建新目录的目录的写访问权。
if (is_writable('/path/to/parentdir')) {
if (mkdir('/path/to/parentdir/new_directory')) {
// success
}
else {
// handle error
}
}
else // This directory has to be writable by the web server!
答案 1 :(得分:1)
我会给你一个每个问题的链接
Simple Login Form in PHP with Sessions
请不要使用get变量将您的用户名显示在地址中。尝试$ _SESSION和$ _POST组合以获得良好的结果。
想象一下,如果我将地址从www.yourpage.com?username=kypros
更改为www.yourpage.com?username=administrator
,会不会立即成为管理员?
关于第二个问题,你想要的是什么 mkdir() function to create new folders
答案 2 :(得分:0)
$_SESSION
是您的最佳答案。它的工作原理是在客户端上存储cookie(作为HTTP响应的一部分发送),并具有唯一的会话ID。然后将其从客户端发送到您的服务器的每个请求发回,直到cookie未设置为止。然后,服务器将关联信息存储在临时会话变量中。在服务器端销毁会话(通过超时或通过代码)也意味着用户将被注销(没有为会话存储信息)。
答案 3 :(得分:0)
mkdir()
是用于创建目录的函数。
理想情况下,您将使用数据库来存储用户登录详细信息。然后使用某人可以输入用户名和密码的表单。当他们点击提交按钮时,表单会将人员输入的值发布到登录脚本。然后登录脚本将搜索数据库以查看用户名和密码是否与dababase中的任何用户名和密码匹配。如果他们这样做,您可以使用session_start()
创建会话,并可以创建一个等于用户输入的用户名的$_SESSION
变量。
在您希望显示内容的所有网页上使用session_start()
功能,具体取决于此人是否已登录。
您可以使用if()
循环查看$_SESSION['username']
是否存在,如果存在,则显示内容。
要结束会话,请使用session_destory()
功能。