PHP变量传入网页
在我的php文件中,我创建了一个登录名,非常详细,所以我不会发布它,但我也是php新手,我需要一件事的帮助。我不确定PHP变量传入网页,php,session,variables,Php,Session,Variables,在我的php文件中,我创建了一个登录名,非常详细,所以我不会发布它,但我也是php新手,我需要一件事的帮助。我不确定$\u SESSION是否可以解决这个问题,但如果可以,我不知道如何解决 这就是我想知道的。。。 如果有人登录,我可以有一个变量(有用户名,所以我不在乎它是否以某种方式存储在url中。)从一页传递到另一页,并通过调用它读取到每个文件中。那么我也可以把变量清空吗 还有一个更简单的问题…如何在php中创建文件夹 我的目录仍然不工作 if (is_writable('/users'))
$\u SESSION
是否可以解决这个问题,但如果可以,我不知道如何解决
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);
}
if(可写('/users')){
if(mkdir('/users/$finalusername')){
//成功
}
}
$myFile=“/users/$finalusername/$finalusername.txt”;
$fh=fopen($myFile,'w')或die(“创建帐户时出错。
);
$stringData=“$finalusername\n”;
fwrite($fh,$stringData);
$stringData=“$finalpass\n”;
fwrite($fh,$stringData);
$stringData=“$finalemail\n”;
fwrite($fh,$stringData);
fclose($fh);
}
我会给你每个问题的链接
请不要使用get变量将您的用户名显示在地址中。尝试将$\u SESSION和$\u POST组合在一起以获得良好的结果
想象一下,如果我将我的地址从www.yourpage.com?username=kypros
更改为www.yourpage.com?username=administrator
,我会立即成为管理员吗
至于第二个问题,你想要的是
不要在URL查询字符串中传递任何种类的身份验证值。如果通过这种方式,用户篡改他们的设置(或其他用户的设置)将是微不足道的
$\u 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!
$\u会话
是您的最佳答案。它的工作原理是在客户机上存储一个具有唯一会话id的cookie(作为HTTP响应的一部分发送)。然后,该cookie将与从客户机发送到服务器的每个请求一起发送回,直到cookie被取消设置。然后,服务器将相关信息存储在临时会话变量中。在服务器端(通过超时或通过代码)销毁会话也意味着用户将注销(没有存储会话信息)。mkdir()
是用于创建目录的函数
理想情况下,您应该使用数据库来存储用户登录详细信息。然后使用一个表单,其中有人可以输入他们的用户名和密码。当他们点击submit按钮时,表单会将用户输入的值发布到登录脚本中。然后,登录脚本将搜索数据库,查看用户名和密码是否与数据库中的任何用户名和密码匹配。如果是这样,则可以使用session\u start()
创建会话,并可以创建一个等于用户输入的用户名的$\u会话
变量
根据用户是否登录,在所有要显示内容的网页上使用session\u start()
功能
您可以使用if()
循环来确定$\u会话['username']
是否存在,如果存在,则显示内容。
要结束会话,请使用
session\u destory()
函数。我确实解决了它,但当我联机时它就不起作用了。我让每个页面从一个文本文件中读取一个变量,该变量在有人登录时设置,在有人注销时销毁,但如果一次有多人登录,则该变量不起作用。老实说,我不知道如何使用$session如果你尝试了一些东西,然后发布一些代码并解释为什么它不起作用。堆栈溢出不是根据命令为您提供代码的站点。你必须付出一些努力。我尝试了$SESSION start获取你的信息,但我没有成功,这是一个获取帮助的网站…我正在做的是为什么你要评论…我尝试了传递变量,但在你的问题中有一些实际的代码。我没有和相关的代码,因为我在这方面完全失败了谢谢:)和很好的一点在网址上。。。我也不知道为什么,但是mkdir()之前对我不起作用。如果它不起作用,我猜你在服务器上的写入权限会有问题,或者是某种拼写错误,因为这是一条非常直接的命令,所以要注销?会话_end()$_会话['username']=$用户名;要注销:session_start();会话_destroy();取消设置($_会话)代码>您必须在注销页面上启动会话,然后才能销毁它。@Spencer可能会看到上面的添加-两种注销方法。@Spencer可能会大笑,我真的不需要升级投票。如果您满意,请将答案标记为已接受,欢迎使用Stack Overflow。