【问题标题】:Where is the words in ' ' located?' ' 中的单词在哪里?
【发布时间】:2017-03-31 01:45:13
【问题描述】:

我正在学习php,(绝对初学者)并且想知道''中的单词在哪里。我从网上下载了一个登录系统的代码,并试图了解它是如何工作的。这是代码部分:

<?php

// any HTML input *must* be HTML-escaped to prevent the user from injecting malicious JavaScript code
function html_escape($raw_input, $encoding)
{
return htmlspecialchars($raw_input, ENT_QUOTES | ENT_SUBSTITUTE, $encoding);
}

/* Displays user information and some useful messages */
session_start();

if ($_SESSION['logged_in'] != 1) {
$first_name = 'Guest, Please Login or Sign Up to Play!';
$last_name = '';
}
else {
// Makes it easier to read
$first_name = $_SESSION['first_name'];
$last_name = $_SESSION['last_name'];
}
?>

所以它在哪里说“if ($_SESSION['logged_in'] != 1) {”,当它说logged_in时,它会在哪里定义?它是在另一个文件中用$logged_in 定义的,还是什么?

另外,我发现了一些文件,上面写着“$_SESSION['logged_in'] = true;”,但我不知道这是否意味着什么,如果有,请告诉我!

非常感谢。

(我是初学者,请放轻松)

【问题讨论】:

  • 作为初学者并不妨碍你在谷歌上搜索php $_SESSION
  • 我试过了,但我似乎无法理解它:)
  • if ($_SESSION['logged_in'] != 1) 检查用户是否登录实际上这不是登录表单,整个代码只是检查用户是否登录登录与否,通常包含在您网站的每个页面的顶部
  • 某个文件的某处是代码$_SESSION['logged_in']=1;
  • 如果你是初学者,那么你应该从学习变量开始,如果语句不以登录表单开头,因为这需要 mysql

标签: php mysql html server windows-10


【解决方案1】:

您可以将数据存储在session_start(); 之后的$_SESSION 变量中,并通过以下方式为其赋值:

$_SESSION['keyname'] = 'value';

您可以写撇号 (') 或双引号 (") 来保存字符串变量。 更多信息在这里:http://php.net/manual/de/reserved.variables.session.php

您的代码 if ($_SESSION['logged_in'] != 1) 只是一个布尔检查 $_SESSION['logged_in'] 是否设置为 1 (true) 或 0 (false)。 因此,如果设置了 1,它会使用键 logged_in 检查您的 $_SESSION 数组。

希望我能帮到你?

【讨论】:

    【解决方案2】:

    在您显示的代码中,这是登录过程中的检查登录步骤。在登录过程中,我们需要做两步:

    1. 检查登录:确定当前会话是否已登录。如果没有,显示/重定向到登录页面。
    2. 登录页面:用于输入用户名和密码并检查输入值。如果用户名和密码正确,我们将值保存到$_SESSION 以标记此用户已登录。

    要了解$_SESSION['logged_in'] 的设置方式,您必须在下载的代码中找到检查登录部分。

    一般来说,这可以很简单:

    if ($_POST['username'] == 'abc' && $_POST['password'] == 'xyz') {
        $_SESSION['logged_in'] = 1;
        // some code to refresh or redirect to main content
    }
    

    希望对你有帮助!

    【讨论】:

    • 为什么有人反对这个答案?这对我帮助很大!
    【解决方案3】:

    假设您的表单在 HTML 中包含“用户名”和“密码”字段:

    <form action='login.php' method='post'>
      <input type='text' name='username'>
      <input type='password' name='password'>
      <input type='submit' value='Login'>
    </form>
    

    点击“登录”按钮后,您将运行 login.php:

    <?php
      $allowedUser = 'johnny';
      $allowedPass = 'mypassword';
    
      session_start();
      if (($_POST['username']!= '') && ($_POST['password'] !=''))
      {
         if (($_POST['username'] == $allowedUser) && ($_POST['username'] ==  $allowedPass))
         $_SESSION['is_loged'] = 1; // session variable will be set when you have allowed credentials
      }
    ?>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-09-17
      • 1970-01-01
      • 1970-01-01
      • 2018-12-05
      • 1970-01-01
      • 2023-04-02
      • 2012-09-22
      相关资源
      最近更新 更多