Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Bagaimana cara $_POST nilai yang ditetapkan secara dinamis dalam PHP?

Alih-alih menempatkan beberapa data dalam name atribut, buat name atribut sesuatu yang Anda ketahui dan gunakan value atribut data yang tidak diketahui, nama dalam hal ini.

Jadi

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

menjadi

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

Sekarang di PHP Anda tahu apa yang harus dicari. Jadi yang perlu kita perbaiki sekarang adalah SQL Injection Attack masalah, kami melakukannya dengan menyiapkan kueri dengan parameter dan kemudian mengikat nilai ke parameter seperti ini

<?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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Manajemen inventaris dengan opsi saham

  2. Kesalahan MySQL 1093 - Tidak dapat menentukan tabel target untuk pembaruan dalam klausa FROM

  3. Menggunakan fungsi password_hash dan password_verify PHP 5.5

  4. Praktik terbaik untuk sistem Janji Temu/Pemesanan PHP/MySQL

  5. Migrasi Django :tidak membuat tabel