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

PHPで動的に割り当てられた値を$_POSTする方法は?

    一部のデータをnameに配置する代わりに 属性、nameを作成します 知っていることを特定し、valueを使用します 不明なデータ(この場合は名前)の属性を指定します。

    だから

    <input type='hidden' name='" . $tab[$x][1] . "' />
    

    になります
    <input type='hidden' name="thename" value='" . $tab[$x][1] . "' />
    

    これで、PHPで何を探すべきかがわかります。したがって、今修正する必要があるのは、SQLインジェクション攻撃 だけです。 問題が発生した場合は、パラメータを使用してクエリを準備し、次のように値をパラメータにバインドすることでこれを行います

    <?php
    session_start();
    
    if ($_SERVER['REQUEST_METHOD'] == 'POST' && isset($_POST["delete-submit"])) 
    {
        require "dbh.ext.php";
    
        // add a parameter to the query and not a concatenated value        
        $sql = "DELETE FROM `persons` WHERE `name` = ?";
    
        $stmt = $conn->prepare($sql);
        
        // bind the value to the parameter
        $stmt->bind_param('s', $_POST['thename']);
        $res = $stmt->execute();
    
        if (!$res) {
            header("Location: ../persons/persons.php?error=sqlerror");
            exit;
        } else {
            header("Location: ../persons/persons.php");
            exit();
        }
    }
    



    1. SQLiteクエリ結果をコンマ区切りのリストとしてフォーマットする

    2. SQL Serverで先頭の空白を削除する方法– LTRIM()

    3. java-スタンドアロンアプリケーションのデータソース-アプリケーションサーバーなし

    4. MySQLで完全外部結合をシミュレートする効率的な方法は?