私のコードには間違いなく簡単に思えるかもしれないエラーがありますが、何時間も見てきましたが、まだ問題を特定できませんでした。
データベースレコードを編集するには、私が編集ページにレコードIDを渡すには次のリンクを使用します。
<a href="edit_short.php?id=<?php echo $short->id; ?>">Edit</a>
...と、ここにedit_short.php
ファイルです:
$title = "";
$short_text = "";
$id = 0;
if (isset($_GET['id'])) {
$id=$_GET['id'];
$short = (object)Short::find_by_id($id);
$title = $short->title; //my problem is the scope of $title and $short_text
$short_text = $short->short_text; //is limited within this if statement
}
if (isset($_POST['edit_short_btn'])) {
echo $title."<br/>";
echo $short_text."<br/>";
}
この送信するフォームです:
<form method="POST" action="edit_short.php" id="post_form">
<table>
<tr>
<td><input type="text" name="title" value="<?php echo $title; ?>" class="textField" placeholder="Title of short"></td>
</tr>
<tr>
<td><textarea name="short_text" id="short_text" placeholder="Short text"><?php echo $short_text; ?></textarea></td>
</tr>
<tr>
<td><input type="submit" name="edit_short_btn" value="Update short"></td>
</tr>
</table>
</form>
送信されたIDが設定されていることを確認することができます$_GET['id']
と私はedit_short.php
の$ idにその値を渡すことができますが、レコードを取得して$ titleと$ short_text変数を設定すると、if (isset($_POST['edit_short_btn']))
ステートメントでアクセスできません。
がどのように私は$_GET['id']
と$_POST['edit_short_btn']
はまだ設定されており、両方の任意の助けあなたのコードに基づいて
申し訳ありません私の質問の始めに表示されたリンクをクリックして表示される表は、この 'id'とは何の関係もないので、隠された入力として' id'を渡すことによって何を意味するのかまだ分かりません。 –
フォームは 'edit_short.php'ファイルにあり、更新されるべきレコードの以前の値を含むはずです。フォームは 'edit_short.php'に提出され、' id'は前のページからです(申し訳ありませんが、私はそれを含めませんでした) –
今あなたの意見を見ています。おかげさまで、私は確認する必要はありません。それは動作します –