Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Wysyłanie formularza z polami opcjonalnymi i obowiązkowymi

Załóżmy, że mam pola name , email , note gdzie pierwsze 2 są wymagane, a ostatnie nie.

Oto jeden ze sposobów, aby to zrobić:

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

Dla note Użyłem operatora potrójnego:

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

Który zasadniczo jest jednym linijką if/else, co można by zapisać jako:

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

Upewnij się również, że oczyściłeś swoje dane w swoim przypadku za pomocą mysql_real_escape_string aby zapobiec wstrzykiwaniu 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. Wiele aplikacji Rails, pojedyncza baza danych MySQL

  2. Tworzenie połączonej listy lub podobnej kolejki w MySQL?

  3. Formularz Ajax Prześlij z przyciskiem prześlij

  4. Formatuj ciąg znaków z wieloma parametrami, aby MySQL mógł je przetworzyć

  5. Przygotowane oświadczenie z ON DUPLICATE KEY