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

Memposting formulir dengan bidang opsional dan wajib

Katakanlah saya memiliki bidang name , email , note di mana 2 yang pertama diperlukan dan yang terakhir tidak.

Berikut adalah salah satu cara untuk melakukannya:

<?php
$error = array();
if (!isset($_POST['name']))
{
    $error[] = "The field name was not filled!";
}

if (!isset($_POST['email']))
{
    $error[] = "The field email was not filled!";
}

if (sizeof($error) == 0)
{
    // insert the data
    $query = sprintf("INSERT INTO users VALUES ('%s', '%s', '%s')",
                     mysql_real_escape_string($_POST['name']),
                     mysql_real_escape_string($_POST['email']),
                     mysql_real_escape_string((isset($_POST['note']) ? $_POST['note'] : '')));

    $result = do_query($query);
    echo "<p>¡El laboratorio ha sido añadido exitosamente!</p>";
}
else
{
    // print the error
    foreach ($error as $msg)
    {
        echo $msg, "<br>\n";
    }
}

Untuk note Saya menggunakan operator ternary:

isset($_POST['note']) ? $_POST['note'] : ''

Yang pada dasarnya adalah if/else satu baris, yang dapat ditulis sebagai:

if (isset($_POST['note']))
{
    $note = $_POST['note'];
}
else
{
    $note = '';
}

Pastikan juga Anda membersihkan data Anda dalam kasus Anda menggunakan mysql_real_escape_string untuk mencegah Injeksi SQL.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Mysql Gabung DAN SUM

  2. Tidak dapat menginstal permata mysql2

  3. Terowongan C# SSH ke server MySQL

  4. Butuh saran dan umpan balik tentang pengkodean hubungan banyak:banyak di MySQL

  5. Datetime sama atau lebih besar dari hari ini di MySQL