次の更新フォームは、事前に定義されたアンケートの回答に基づいて、パスワードで保護された領域内の各ユーザーの食べ物の好みに関するデータを更新します。
例えば、
質問: 好きな食べ物は何ですか?
答え:
- チーズ
- 肉
- サラダ
$trigger
次のフォームの送信ボタンは、ユーザーが送信するときに変数の定義済みの値に基づいて永久に無効にする必要があります。
$trigger = '1';
if ((isset($_POST["MM_update"])) && ($_POST["MM_update"] == "formX")) {
$updateSQL = sprintf("UPDATE foodtable SET food_preference=%s, trigger=%s, WHERE food_id=%s",
GetSQLValueString($_POST['food_preference'], "text"),
GetSQLValueString(trim($trigger), "int"),
GetSQLValueString($_POST['food_id'], "int"));
mysql_select_db($database_XYZ, $XYZ);
$Result1 = mysql_query($updateSQL, $XYZ) or die(mysql_error());
$updateGoTo = "preference.php";
if (isset($_SERVER['QUERY_STRING'])) {
$updateGoTo .= (strpos($updateGoTo, '?')) ? "&" : "?";
$updateGoTo .= $_SERVER['QUERY_STRING'];
}
header(sprintf("Location: %s", $updateGoTo));
exit ();
}
<form action="<?php echo $editFormAction; ?>" method="post" name="formX" id="formX">
<table align="center">
<tr valign="baseline">
<td align="right" nowrap="nowrap">Update Food Name:</td>
<td><input type="text" name="food_name" value="" size="32" /></td>
</tr>
<tr valign="baseline">
<td nowrap="nowrap" align="right">
<input type="hidden" name="MM_update" value="formX" />
<input type="hidden" name="trigger" value="<?php echo "$trigger"; ?>" />
</td>
<td>
<input type="submit" value="Update Food Name" />
</td>
</tr>
</table>
</form>
純粋なphp条件文でそれを実行する方法は? HTMLフォームコードにも変更を加える必要がありますか? 任意の参照または提案をいただければ幸いです。
編集
次の更新フォームは、パスワードで保護されたユーザー領域で個々のユーザーの食べ物の好みを更新します。
$trigger = '1';
//note: default value of $trigger= '0'; when user submits data using insert form primarily. when they update data using this update form the value changes to `1`
if ((isset($_POST["MM_update"])) && ($_POST["MM_update"] == "formX")) {
$updateSQL = sprintf("UPDATE foodtable SET food_name=%s, trigger=%s WHERE food_id=%s",
GetSQLValueString($_POST['food_name'], "text"),
GetSQLValueString(trim($trigger), "int"),
GetSQLValueString($_POST['food_id'], "int"));
mysql_select_db($database_XYZ, $XYZ);
$Result1 = mysql_query($updateSQL, $XYZ) or die(mysql_error());
$updateGoTo = "preference.php";
if (isset($_SERVER['QUERY_STRING'])) {
$updateGoTo .= (strpos($updateGoTo, '?')) ? "&" : "?";
$updateGoTo .= $_SERVER['QUERY_STRING'];
}
header(sprintf("Location: %s", $updateGoTo));
exit ();
}
<form action="<?php echo $editFormAction; ?>" method="post" name="formX" id="formX">
<table align="center">
<tr valign="baseline">
<td align="right" nowrap="nowrap">Update Food Name:</td>
<td><input type="text" name="food_name" value="" size="32" /></td>
</tr>
<tr valign="baseline">
<td nowrap="nowrap" align="right">
<input type="hidden" name="MM_update" value="formX" />
<input type="hidden" name="food_id" value="<?php echo $query['food_id']; ?>" />
<input type="hidden" name="trigger" value="<?php echo "$trigger"; ?>" />
</td>
<td>
< ?php
$disabled = "disabled";
if (isset (which conditional statement shall disable the form permanently based on $trigger = '1'; ?)) {
echo "<input type='submit' value='Update Food Name' " . $disabled . "/>";
}else{
echo "<input type='submit' value='Update Food Name'/>";
}
?>
</td>
</tr>
</table>
</form>
ちなみに、送信ボタンを無効にするための列の値を取得するには、次のmysql構文を使用します。
$query = "SELECT food_id, food_name, trigger FROM foodtable WHERE food_id > 0 AND trigger = '1'";
この編集された投稿のhtml部分に示されているように、フォームを無効にするためにどの条件付きphpステートメントを使用する必要がありますか?
長い方法で解決できますが、合理的な方法を期待していました。
私の質問で十分に理解していると思われる場合は、返信をお待ちしております。