0

ユーザーはログイン時に user_ID を持っており、これが URL 内に表示されます。ただし、次のフォーム (thesis.php) が保存されているときに「myaccount.php」からページに移動すると、同じ ID が URL に残っている必要があるため、入力した正しいデータはデータベース内の自分の ID の下にあるはずです。現時点では、thesis.php ページは次のコードで更新されるだけです。

$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:

<p align="center">
<input name="doThesis" type="submit" id="doThesis" value="Save">
      </p>
4

2 に答える 2

2

isset($_SESSION['blah']) を実行する前に、session_start() を呼び出す必要があると思います。

session_start(); をシフトしてみてください。ファイルの先頭へ

<?php
session_start();
.....
the rest of your code
于 2012-04-13T20:49:48.273 に答える
0

session_start(); 一番上にある必要があります。

URL で id 変数を渡したい場合は、

<a href='myaccount.php?id=<? echo $id; ?>'>
于 2012-04-13T20:49:58.530 に答える