Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/67.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 登录后显示mysql行_Php_Mysql - Fatal编程技术网

Php 登录后显示mysql行

Php 登录后显示mysql行,php,mysql,Php,Mysql,你好,这是我在这里的第一篇帖子,我非常需要帮助。 我正在为一家会员旅游和度假公司开发一个网站,在用户成功登录并重定向到search-flights.php后,我想使用登录详细信息在my-account.php中显示用户详细信息,以检索特定的mysql行。我该怎么做呢?我已经对此进行了很长一段时间的研究,但我还没有找到任何与我需要做的事情相距甚远的解决方案 这是我的一些代码,请记住,我对php和mysql相当陌生 <form method="POST" id="login-form"

你好,这是我在这里的第一篇帖子,我非常需要帮助。 我正在为一家会员旅游和度假公司开发一个网站,在用户成功登录并重定向到search-flights.php后,我想使用登录详细信息在my-account.php中显示用户详细信息,以检索特定的mysql行。我该怎么做呢?我已经对此进行了很长一段时间的研究,但我还没有找到任何与我需要做的事情相距甚远的解决方案 这是我的一些代码,请记住,我对php和mysql相当陌生

    <form method="POST" id="login-form" action="./Scripts/checklogin.php">
  <fieldset class="userdata">
    <p id="form-login-username">
      <label for="modlgn-username">User Name</label>
      <input id="modlgn-username" name="myusername" class="inputbox" size="18" type="text">
      <p id="form-login-password">
        <label for="modlgn-passwd">Password</label>
        <input id="modlgn-passwd" name="mypassword" class="inputbox" size="18" type="password">
        </p>
    <p id="form-login-remember">
      <label for="modlgn-remember">Remember Me</label>
      <input id="modlgn-remember" name="remember" class="inputbox" value="yes" type="checkbox">
      </p>
    <input type="image" class="move" value="Login" src="images/Login.png" alt="Log in Button" title="Log in" />
    <input name="option" value="com_users" type="hidden">
    <input name="task" value="user.login" type="hidden">
    <input name="return" value="aW5kZXgucGhwP0l0ZW1pZD00MzU=" type="hidden">
    <input name="e4b8befc8354bc2ee27d826c9dcc850f" value="1" type="hidden"> </fieldset>        
  </form>   



     <?php
// check-login.php
$host="localhost"; // Host name
$username="********"; // Mysql username
$password="********"; // Mysql password
$db_name="choliday_members"; // Database name
$tbl_name="members"; // Table name
// Connect to server and select databse.
mysql_connect("$host", "$username", "$password")or die("cannot connect");
mysql_select_db("$db_name")or die("cannot select DB");
// username and password sent from form
$myusername=$_POST['myusername'];
$mypassword=$_POST['mypassword'];
// To protect MySQL injection (more detail about MySQL injection)
$myusername = stripslashes($myusername);
$mypassword = stripslashes($mypassword);
$myusername = mysql_real_escape_string($myusername);
$mypassword = mysql_real_escape_string($mypassword);
$sql="SELECT * FROM $tbl_name WHERE username='$myusername' and password='$mypassword'";
$result=mysql_query($sql);
// Mysql_num_row is counting table row
$count=mysql_num_rows($result);
// If result matched $myusername and $mypassword, table row must be 1 row
if($count==1){
// Register $myusername, $mypassword and redirect to file "login_success.php"
session_register("myusername");
session_register("mypassword");
header("location:../members/search-flights.php");
}
else {
echo "Wrong Username or Password";
}
?>

用户名

暗语

记得我吗


会话\u寄存器已弃用

改用$\u会话[];)

比如:

$_SESSION['username'] = $myusername;

然后。。。如果你管理好会话,在“我的帐户”中,你可以使用$\u会话,其值为login…

我们不会为你编写代码,但为了给你一点帮助,以下是你的代码的错误:

  • 不要
    选择*
    ,选择你需要的,仅此而已
  • 不存储密码,而是散列
  • 使用或代替mysql
  • 如果用户的密码中有斜杠怎么办
  • 如果你真的因为做这项工作而得到报酬,请先获得更多的知识。了解如何创建一个像样的web应用程序。自学一些概念,比如等等。像你这样的代码给PHP和web开发带来了坏名声
  • 执行正确和故障保护错误处理

  • 祝你学习PHP好运

    对用户进行身份验证后,您需要为此用户会话生成一个唯一密钥,并将其保存

    $\u会话['key]=“aksbh7823b5iubsvd874bosidhvjbi3i4btv”

    通常,这是一个唯一的字符串,您可以将其与用户标识(主键)一起存储在会话表中

    通过将此唯一键放置在全局
    $\u会话
    范围中,现在可以从另一个请求获取此值,前提是会话仍然存在

    <?php
      session_start();
    
      $key = $_SESSION['key'];
      $sql = "
        SELECT b.* FROM sessions AS a
        INNER JOIN users AS b ON b.id = a.user_id
        WHERE key = '" . $key ."'
      ";
      $result = mysql_query($sql);
    ?>
    

    将用户ID存储到会话中,并在需要时使用它从sql中调用用户详细信息。那么多刚接触PHP和MySQL的人是如何在编写需要这种专业技能的网站时不断获得工作的?这就像我今晚看到的第20个问题。请注意,mysql方法被弃用,取而代之的是PDO和/或mysqli@Barmar:是的,有时我感觉更像DailyWTF。问题在于重定向或选择行?
    
    <?php
      session_start();
    
      $key = $_SESSION['key'];
      $sql = "
        SELECT b.* FROM sessions AS a
        INNER JOIN users AS b ON b.id = a.user_id
        WHERE key = '" . $key ."'
      ";
      $result = mysql_query($sql);
    ?>