ユーザーがabc.php?uid = 5のようにシステムにログインしたときに、ユーザーIDをエコーしてURL view db structure hereに表示しようとしています私は様々なコードを試しましたが、それを達成することができませんでした。私はログインしたユーザーがログインしたユーザーが、自分のuser_idを使って自分の詳細をフィードビューページに表示するように投稿するときに、下のコードを実行すると、反応がなく、ログインページに固執します。 Pls私は助けが必要です。url(アドレスバー)にログインしたユーザーIDを含めることができません
<?php
session_start();
include_once('queryclass.php');
$error = false;
if(isset($_POST['btn-login'])){
$username = trim($_POST['username']);
$username = htmlspecialchars(strip_tags($username));
$password = trim($_POST['password']);
$password = htmlspecialchars(strip_tags($password));
if(empty($username)){
$error = true;
$errorUsername = 'Please Input Username';
}
if(empty($password)){
$error = true;
$errorPassword = 'Please Input Password';
}elseif(strlen($password)< 6){
$error = true;
$errorPassword = 'Password must be at least six characters';
}
if(!$error){
$password = md5($password);
$sql = "select * from company where username='$username' ";
$result = mysqli_query($conn, $sql);
$count = mysqli_num_rows($result);
$row = mysqli_fetch_assoc($result);
if($count==1 && $row['password'] == $password){
$_SESSION['username'] = $row['username'];
function do_user_directory(){
$users = $this->load_all_user_objects();
foreach($users as $user){?>
header('location: loggedin.php?uid=<?php echo $user->id;?>');
<?php
}
}
}else{
$errorMsg = 'Invalid Username or Password';
}
}
}
?>
This is the queryclass.php
<?php
require_once('connectdb.php');
function load_user_object($user_id){
global $db;
$table = 'users';
$query = "
SELECT * FROM $table
WHERE ID = $user_id
";
$obj = $db->select($query);
if(!$obj) {
return "No user found";
}
return $obj[0];
}
function load_all_user_objects(){
global $db;
$table = 'users';
$query = "
SELECT * FROM $table
";
$obj = $db->select($query);
if(!$obj) {
return "No user found";
}
return $obj;
}
?>
ないあなたの質問への答えが、PHPのSQLインジェクションの脆弱性を検索してください。 –
ユーザIDを '$ _SESSION ['uid']'に保存し、 '$ _GET'配列から渡さずにそのデータを操作するのはなぜですか? – num8er
そのプロトタイプ...私があなたが指摘したことをよく知っています。 –