Giả sử tôi có các trường name
, email
, note
trong đó 2 cái đầu tiên là bắt buộc và cái cuối cùng thì không.
Đây là một cách để làm điều đó:
<?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";
}
}
Đối với note
Tôi đã sử dụng toán tử bậc ba:
isset($_POST['note']) ? $_POST['note'] : ''
Về cơ bản, nó là một chữ lót if / else, có thể được viết là:
if (isset($_POST['note']))
{
$note = $_POST['note'];
}
else
{
$note = '';
}
Ngoài ra, hãy đảm bảo rằng bạn làm sạch dữ liệu trong trường hợp của mình bằng cách sử dụng mysql_real_escape_string
để ngăn chặn SQL Injection.