2017-02-04 22 views
0

私は現在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(); 
?> 
+0

htmlページにphp変数を表示することはできません。 ajaxを使用してセッション値を取得するか、.phpファイルを作成してecho $ _SESSIONを使用して値を取得する必要があります – Shubhranshu

+0

セッションを使用してフォームデータを送信することはできません。セッションはクライアント上ではなくサーバー上にのみ存在します。 'processlogin.php'は、フォームを処理した後でセッション変数を設定し、それを他のスクリプトで使うことができます。しかし、ユーザIDをサーバに送るには 'POST'変数を使わなければなりません。 – Barmar

+0

@Barmarフォームを処理した後、どのようにセッション変数を設定するのですか? –

答えて

0

私たちは、HTMLページ内の任意のPHP変数を使用し印刷することはできません。

UserIdを取得するにはログインページで、ログインに成功した後、login.htmlをlogin.php にリダイレクトするか、index.phpにリダイレクトする必要があります。 ユーザーIDをPHPセッション変数に保存します。 例: - $ _SESSION ['user_id'] = $ userId;

+0

ですから、processlogin.phpで$ _SESSION ['user_id'] = $ userid;を追加する必要があります。 ?私は$ _SESSION ['user_id'] = $ _POST ['userid'];を追加してはいけません。 ? –

+0

@EddieLee私はあなたのための実現可能な解決策は、HTMLページをPHPに変換することだと思います。その後、あなたはHimaniによって提案されたセッション変数にアクセスできます。 –

関連する問題