誰かが私の問題の別の解決策を持っていますか?最初のフォームsubmit insert rowその後の投稿同じ行を更新する
私の送信ボタンを最初にクリックすると、その行をMYSQLデータベースに挿入します。しかし、フォームはエラーの入力を検証するので、エラーが見つかると、ユーザーは送信ボタンを再度クリックする必要があります。今私はデータベースの行を更新したいと思います。
これを達成するためにセッション変数を使用していましたが、ウェブサイトがRealex支払いゲートウェイを使用しているため、今はできません。このコードがサイトにあるため、支払いが成功したときにセッションを解除する方法はありません。だからここ
は私が持っていたものです:
if(!isset($_SESSION['jid']))
{
$sql = "INSERT INTO ...";
$result = $db->query($sql);
if($result === false)
sql_failure_handler($sql, $db->error);
$jid = $db->insert_id;
$_SESSSION["jid"] = $jid;
}
else
{
$sql = "UPDATE ... WHERE ID = '$_SESSION['jid']";
$result = $db->query($sql);
if($result === false)
sql_failure_handler($sql, $db->error);
}
}
このコードは、私は必要なもののアイデアを与えることです。
if(empty($_POST['jid'])) // insert on first click of one of the buttons
{
$sql = "INSERT INTO table ...";
$result = $db->query($sql);
if($result === false)
sql_failure_handler($sql, $db->error);
$jid = $db->insert_id;
}
else
{
$sql = "UPDATE table SET ... WHERE ID = '" . $db->real_escape_string($_POST['jid']) . "'";
$result = $db->query($sql);
if($result === false)
sql_failure_handler($sql, $db->error);
}
をして、隠れ変数を持っていますが、これは動作しますかわからない。
私はポスト変数を使用して考えていました。 jid値を最初に設定するjqueryですか?