ログイン時にユーザーにuser_IDがあり、これがURL内に表示されます。しかし、次のフォーム(thesis.php)が保存されているときに 'myaccount.php'からページに移動するとき、同じIDがURLに残っているはずです。したがって、入力した正しいデータは、データベース内の自分のIDでなければなりません。ページの変更中にセッション(ユーザーID)を同じに維持する
$err = array();
$result = mysql_query("SELECT `id` FROM `users` WHERE `banned` = '0' ORDER BY
`id` DESC");
if(isset($_SESSION['user_id']))
if(empty($_SESSION['$user_id'])) { // user not logged in; redirect to somewhere else }
if (!empty($_POST['doThesis']) && $_POST['doThesis'] == 'Save')
{
list($id) = mysql_fetch_row($result);
session_start();
// this sets variables in the session
$_SESSION['user_id'] = $id;
foreach($_POST as $key => $value)
$stamp = time();
$ckey = GenKey();
mysql_query("update users set `ctime`='$stamp', `ckey` = '$ckey' where id='$id'")
or die(mysql_error());
$row = mysql_fetch_array($result);
print_r($row);
if(empty($err)) {
$thesis_Name = mysql_real_escape_string($_POST['thesis_Name']);
$abstract = mysql_real_escape_string($_POST['abstract']);
$sql_insert = "INSERT into `thesis`
(`user_id`,`thesis_Name`,`abstract`)
VALUES
('$id','$thesis_Name','$abstract') ";
mysql_query($sql_insert,$link) or die("Insertion Failed:" . mysql_error());
}
header("Location: myaccount.php?id=' . $_SESSION[user_id] .'");
exit();
}
}
HTML::私はあなたがでsession_startを(呼び出す必要があると考えてい
<p align="center">
<input name="doThesis" type="submit" id="doThesis" value="Save">
</p>
を使用していますが、明確にするために、URLのid VARを渡したい場合は
は、あなたがURLにIDを渡す必要はありません。各ページの一番上にsession_start()をインクルードし、$ _SESSION ['user_id']は最初に設定した後にユーザーの周りをたどります。セッションは、クライアント側でセッションIDを保存するためにCookieを使用してPHPによって管理されます。 –