0

ログインするユーザーのセッションを作成する方法に行き詰まっています。ログイン情報がデータベース情報と一致していることを確認する部分を確認しましたが、メールアドレスを取得して保存する方法に行き詰まっていますセッション。これが私のphpコードです。

<?php include '../View/header.php';
session_start();
require('../model/database.php');
$email = $_POST['username'];
$password = $_POST['password'];
$sql = "SELECT emailAddress FROM customers WHERE emailAddress ='$email' AND password = '$password'";
$result = mysql_query($sql, $db);

if (!$result) {
    echo "DB Error, could not query the database\n";
    echo 'MySQL Error: ' . mysql_error();
    exit;
}

while ($row = mysql_fetch_assoc($result)) {
    echo $row['emailAddress'];
}

mysql_free_result($result);

?>
4

4 に答える 4

0

ヘッダー ファイルは何らかの出力を行いますか? その場合、session_startヘッダーを設定できるように、その前に配置する必要があります。そうしないと、セッション データは保持されません。

次に、セッションにデータを保存するには、$_SESSIONスーパーグローバルを使用します

$_SESSION['email'] = $row['emailAddress'];
于 2013-11-03T21:49:35.073 に答える
0
  1. コンテンツを印刷する前にセッションを開始する
  2. $_SESSION を使用してユーザーデータを保存する

例:

session_start();
include '../View/header.php';
require ('../model/database.php');
$email= $_POST['username'];
$password= $_POST['password'];  
$sql    = "SELECT emailAddress FROM customers WHERE emailAddress ='$email' AND password = '$password'";
$result = mysql_query($sql, $db);

if (!$result) {
    echo "DB Error, could not query the database\n";
    echo 'MySQL Error: ' . mysql_error();
    exit;
}

if ($row = mysql_fetch_assoc($result)) {
     $_SESSION['user_address'] = $row['emailAddress'];
}

mysql_free_result($result);
于 2013-11-03T21:51:42.490 に答える
0

まず最初に、SQL-Injections ( http://de.wikipedia.org/wiki/SQL-Injection )を読んでください。あなたのコードには重大なセキュリティ上の問題があります。

次に、session_start();ヘッダーを含める前に呼び出す必要があります。呼び出す前にブラウザーに何かが送信されていると、機能しません。

于 2013-11-03T21:52:37.177 に答える