Mysql
 sql >> база данни >  >> RDS >> Mysql

Публикуване на формуляр с незадължителни и задължителни полета

Да кажем, че имам полетата name , email , note където първите 2 са задължителни, а последният не е.

Ето един начин да го направите:

<?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";
    }
}

За note Използвах троичен оператор:

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

Което по същество е един ред if/else, който би могъл да бъде записан като:

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

Също така се уверете, че дезинфекцирате данните си във вашия случай, като използвате mysql_real_escape_string за предотвратяване на 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

  2. MySQL Получава време на вмъкване на стар запис?

  3. Как мога да направя фатални грешки на ВСИЧКИ mysql предупреждения?

  4. Как да сравня (И) два низа, които представляват двоична маска в mysql?

  5. Копиране/дублиране на база данни без използване на mysqldump