でユーザーIDを保存することはできませんデータベース。私はそれをすべてに非常に新しいんだと、私は非常にラフなログインページを持って、親切にしてください!私は物事の異なる組み合わせの多くを試みたが、私が現在持っているもの、私はオンライン見てきた答え、で行くことはかなり近いはずです。もし誰でも私に何か指針を与えることができれば、大きな助けになるでしょう。ありがとうございました!は、ユーザーが何かを送信したときに、私はに服従するユーザーIDを追加することができるように私には、ログインしているユーザーのユーザーIDを取得し、セッション内に格納しようとしているセッション
ログインページ
<?php
session_start();
//Connection and select database go in here
// username and password sent from form
$myusername=$_POST['Email'];
$mypassword=$_POST['User_Password'];
// To protect MySQL injection
$myusername = stripslashes($myusername);
$mypassword = stripslashes($mypassword);
$myusername = mysql_real_escape_string($myusername);
$mypassword = mysql_real_escape_string($mypassword);
$sql="SELECT User_ID, Email, User_Password FROM $tbl_name WHERE Email='$myusername' and User_Password='$mypassword'";
$result=mysql_query($sql);
// Mysql_num_row counts table row
$count=mysql_num_rows($result);
// If result matched $myusername and $mypassword, table row must be 1 row
if($count==1){
// is_auth to make sure they can view other pages that need credentials.
$_SESSION['is_auth'] = true;
$_SESSION['User_ID'] = $result->User_ID;
// Once the sessions variables have been set, redirect them to the landing page/home page.
header('location: ../View/main.php');
exit;
}
else {
$error = "Please enter an email and password to login.";
}
header("location:../View/mainUnauthenticated.php");
ユーザーが認証されているかどうかを確認するページ。私はこれは私が、私は(私が思っていた!)格納されたユーザIDをつかむことができるようにしたいページのいずれかからの抜粋であるすべての関連ページ
<?php
session_start();
echo $_SESSION['User_ID'];
// Test the session to see if is_auth flag was set (meaning they logged in successfully)
// If test fails, send the user to homepage and prevent rest of page being shown.
if (!isset($_SESSION["is_auth"])) {
header("location: ../View/mainUnauthenticated.php");
exit;
}
else if (isset($_REQUEST['logout']) && $_REQUEST['logout'] == "true") {
// At any time we can logout by sending a "logout" value which will unset the "is_auth" flag.
// We can also destroy the session if so desired.
unset($_SESSION['is_auth']);
session_destroy();
// After logout, send them back to homepage
header("location: ../View/mainUnauthenticated.php");
exit;
}
?>
の開始時にこれを呼び出します。今の私は、それが働いて表示するようにテキストフィールドに表示するために取得しようとしています。
<?php include('../Controller/is_auth.php')
?>
<p>
<input type="text" name="User_ID" id="User_ID" value="<?php echo $_SESSION['User_ID'];?>"/>
</p>
mysqlを使用しないでください。代わりに 'mysqli'または' PDO'を使用してください。あなたは 'mysql injection'でも広く開いています。 – Nytrix
私は今、仕事にそれを持っていると思います。問題は私のセッションの開始位置でした。私はログインページの一番上に置いていましたが、SQLクエリの後に移動して動作しました!ヘルプとコメントNytrixとFilip Macekに感謝します。 –