【问题标题】:PHP and MySQL code syntax issue with script [closed]脚本的PHP和MySQL代码语法问题[关闭]
【发布时间】:2011-10-13 19:39:24
【问题描述】:

我需要这个以便使用登录的用户 ID,并且只有该用户可以使用 PHP 从 SQL 查询中查看他/她自己的数据,而不是所有数据我可以根据请求提供更多信息

(寻找

<center>
<title>J~Net Balance Accounts</title>
 <?php 
 // Connects to your Database 
 mysql_connect("localhost", "root", "password") or die(mysql_error()); 
 mysql_select_db("messages") or die(mysql_error()); 
 $data = mysql_query("SELECT * FROM users WHERE id=$id") <<<<
 or die(mysql_error()); 
 Print "<table border cellpadding=3>"; 
 while($info = mysql_fetch_array( $data )) 
 { 
 Print "<tr>"; 
 Print "<th>User:</th> <td>".$info['user_name'] . "</td> "; 
 Print "<th>Balance:</th> <td>".$info['balance'] . " </td></tr>"; 
 } 
 Print "</table>"; 
 ?> 

【问题讨论】:

  • 你没有在任何地方定义$id,是吗?
  • $id 设置在哪里?它输出所有行吗?如果$id 未设置,您将在编写查询时遇到 sql 语法错误。
  • 当用户登录时 - 保存他们的 id(或根据登录名/密码从数据库中提取)并将其存储在 Session (w3schools.com/php/php_sessions.asp) 中,然后在查询中使用它。也看看stackoverflow.com/questions/3180375/select-vs-select-column
  • 问题出在哪里? $id 应该是用户的会话?
  • 旁注,你的html有点乱,那里的'border'是什么,你为什么把'th'和'td'混在一起?

标签: php mysql


【解决方案1】:
<?php //
echo "<h3>Member Log in</h3>";
$error = $user = $pass = "";

if (isset($_POST['user'])){
    $user = sanitizeString($_POST['user']);
    $pass = sanitizeString($_POST['pass']);

    if ($user == "" || $pass == ""){
        $error = "Not all fields were entered<br />";
    }else{
        $token = md5("$pass");
        $query = "SELECT name,pass FROM users WHERE name='$user' AND pass='$token'";

        if (mysql_num_rows(queryMysql($query)) == 0){
            $error = "Username/Password invalid<br />";
        }else{

            $_SESSION['user']    = $user;
            $_SESSION['pass']    = $token;
            header("Location: index.php");
        }
    }
}

echo <<<_END
<form method='post' action='login.php'>$error
Username <input type='text' maxlength='16' name='user' value='$user' /><br />
Password <input type='password' maxlength='16' name='pass'value='$pass' /><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
<input type='submit' value='Login' />
</form>
_END;

这是一个要求用户名和密码的表单。登录后,它会将用户 ID 存储在 $_SESSION['user'] 中。 现在您可以在需要时在其他页面中引用此变量。

【讨论】:

  • 用 where $id = id 对这个问题进行了排序
  • 我已经定义为 $id = $_SESSION['user_id'];
  • 我自己解决了这个问题,如果你喜欢它,请给我 + 代表,如果你不喜欢它,请随意使用代码,这是什么尝试哈哈...
猜你喜欢
  • 1970-01-01
  • 2014-11-10
  • 2015-10-19
  • 1970-01-01
  • 2014-08-12
  • 2018-06-22
  • 1970-01-01
  • 2017-01-17
  • 2011-12-18
相关资源
最近更新 更多