私は現在login.htmlとprocesslogin.phpを持っています。セッションを使用してlogin.htmlからuseridをprocesslogin.phpに保存します。その後、私はindex.htmlに歓迎の "userid"を表示したいと思います。私はそれが可能かどうか、どうすればいいのかを知りたい。現在、processlogin.phpはpostメソッドを使用してlogin.htmlからデータを取得し、データベースにユーザがデータベースに入っているかどうかをチェックしています。セッションにユーザーIDを保存
login.htmlと
User id: <input type ="text" name = "userid" required>
Password: <input type = "password" name = "password" required>
processlogin.php
<?php
$mysqli = new mysqli("localhost", "root", null, "shoes");
$stmt = $mysqli->prepare("SELECT password FROM user WHERE userid=?");
$stmt->bind_param("s", $userid);
$stmt->execute();
$stmt->bind_result($p);
$stmt->fetch();
if($p == $password)
{
echo header('Location: index.html');
}
else
{
echo '<p><h1>Login unsuccessful!</h1>';
echo "Please <a href='login.html'>Click Here</a> to go back to login.";
}
$stmt->close();
$mysqli->close();
?>
htmlページにphp変数を表示することはできません。 ajaxを使用してセッション値を取得するか、.phpファイルを作成してecho $ _SESSIONを使用して値を取得する必要があります – Shubhranshu
セッションを使用してフォームデータを送信することはできません。セッションはクライアント上ではなくサーバー上にのみ存在します。 'processlogin.php'は、フォームを処理した後でセッション変数を設定し、それを他のスクリプトで使うことができます。しかし、ユーザIDをサーバに送るには 'POST'変数を使わなければなりません。 – Barmar
@Barmarフォームを処理した後、どのようにセッション変数を設定するのですか? –