sql >> データベース >  >> RDS >> Mysql

PHPでGETリクエストを介して入力の名前を渡す方法

    <form>はありません 入力のカプセル化 要素。さらに、<input type="submit" ... >を使用しています ユーザーの入力データをitemedit.phpに送信するための、アンカータグの代わりの要素 ページ。したがって、forを変更してください 次のようにループします

    for($i=1;$i<=$menuSet->GetMenuItems();$i++){ 
        $func = "GetMenuLink".$i;
        ?>
            <tr>
                <form action="itemedit.php?i=<?php echo $i; ?>" method="post">
            <td>$i</td>
            <td><input type='text' name='e' value='<?php echo $menuSet->$func(); ?>'/></td>
            <td>
                <input type='submit' value='Edit' class='glyphicon glyphicon-pencil' />&nbsp; 
                </form>
                <a title='Remove' href='itemdelete.php?i=<?php echo $i; ?>'><span class='glyphicon glyphicon-remove'></span></a>
            </td>
            </tr>
        <?php
    }
    

    そしてitemedit.php ページで、フォームの送信データを次のように処理します。

    if (isset($_GET['i'])){
        $i = $_GET['i'];
        $e = $_POST['e'];
        $editItem = new Menus();
        // update the menu items
        $editItem->EditMenuItem($i,$e);
        ...
    

    Update(1):

    プリペアドステートメントとbindParam() メソッド呼び出しも間違っています。それらは次のようになります:

    $adm = $this->db->prepare("UPDATE menu_nav SET menu_link_$i = ?");
    $adm->bindParam(1, $e, PDO::PARAM_STR);
    



    1. MySQLでJSON_EXTRACTを使用して、引用符なしの文字列を取得するにはどうすればよいですか?

    2. 透過的なデータ暗号化と常に暗号化

    3. Perl DBI fetchall_hashref

    4. MariaDBで連結演算子としてパイプ(||)を有効にするための7つのオプション