PHP变量传递在网页中

时间:2012-01-25 21:10:43

标签: php session variables

在我的php文件中,我正在创建一个登录,进入极端细节,所以我不会发布它但我也是php的新手,我需要帮助一件事。我不确定$_SESSION是否适用于此,但如果确实如此,我将不知道该怎么做。

  1. 这就是我想知道的...... 如果我有人登录我可以有一个变量(有用户名,所以我不在乎它是否以某种方式存储在URL中。)从页面传递到页面并通过调用它读入每个文件。那么我也可以将变量清空

  2. 还有一个更简单的问题......我怎么能在php中创建一个文件夹?

  3. 我的目录仍无效

    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);
    }
    

4 个答案:

答案 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()功能。