特定の文字列値を html のフォームに挿入しています (実際には php です。html をエコーしています)。数日前、「ああ」と言ってみましょう。今、何か他のものを挿入しようとしていますが、それでも古い値が表示されます。ブラウザのキャッシュではなく、コードの値が間違っているわけでもありません。
フォームは次のようになります。
# form for adding a notice
echo "<form name='formAdd' action='controller.php' method='post'>";
echo "<input type='text' name='data' size='50'/>";
echo "<input type='hidden' name='user' value='$user' />";
echo "<input type='submit' name='submit' value='Add notice'/>";
echo "</form>";
私は3つのphpファイルを持っています。functions.php、controller.php、およびコンテンツを表示し、上記のフォームを作成するメイン ファイル。controller.php に渡す $user は、挿入する必要がある正しい値です (印刷して問題ありません)。
controller.php で、ユーザーを取得します
if($_POST["user"]!=NULL){
# HERE he actually comes in, but gets another value from before.
$user = $_POST["user"];
}
挿入関数を呼び出した後、更新された値を表示する必要があるメイン ファイルにリダイレクトしますが、代わりに間違った値が表示されます。
何か案は?
追加情報:
これにより、メイン スクリプトで正しいユーザーが取得されます。
# get username
$sql = "select username from user_auth where id=" . $_SESSION["sess_user_id"];
$result = mysql_query($sql) or die (mysql_error());
$name = mysql_fetch_array($result);
$user = $name['username'];
echo $user;
functions.php は次のようになります。
#cacti DB specifications
$database = "cacti";
$hostname = "localhost";
$username = "xxxxxx";
$password = "xxxxxx";
$port = "xxxx";
mysql_connect($hostname,$username,$password);
mysql_select_db($database);
function addNotice($data,$user,$date){
$sql = "INSERT INTO lalalal (data,user,date) VALUES ('$data','$user','$date')";
$result = mysql_query($sql) or die (mysql_error());
}
function deleteNotice($id){
$sql = "DELETE FROM lalalala WHERE id='$id'";
$result = mysql_query($sql) or die (mysql_error());
}
controller.php は次のようになります。
$user = NULL;
if($_POST["user"]!=NULL){
$user = $_POST["user"];
}
ini_set("display_errors", 1);
include_once("/var/www/html/cacti/plugins/lalala/functions.php");
$id = NULL;
$data = NULL;
$date = date('d.m.Y');
if($_POST["data"]!=NULL && $_POST["id"]==NULL){
$data = $_POST["data"];
addNotice($data,$user,$date);
}