0
데이터베이스에 데이터를 추가하는 양식을 작성 중입니다. 필드가 비어 있거나 유효하지 않은 경우 사용자에게 알려주는 유효성 검사가 있습니다. 일단 모두 유효성이 확인되면 데이터베이스에 제출하고 싶습니다. 현재 사용중인 코드는 데이터의 유효성을 검사 하나 관계없이 제출합니다. 이것은 아마도 내 논리의 결함이며, 그 밖의 문장 일지라도 제대로 작동하지 않는 것 같습니다.PHP가 유효성을 검사 할 때 데이터베이스에 제출
다음은 일부 유효성 검사 및 INSERT 문을 포함하는 코드의 일부입니다.
// Quantity
if (empty($_POST["qtyAdd"]))
{
$qtyErr = "Please enter a product quantity";
}
else
if (!is_numeric($year))
{
$qtyErr = "Data entered was not numeric";
}
else
if (strlen($number) != 3)
{
$qtyErr = "The number entered was not 3 digits long";
}
else
{
$qty = test_input($_POST["yearAdd"]);
}
// Featured
if (empty($_POST["featuredAdd"]))
{
$featuredErr = "Feature Item?";
}
else
{
$featured = test_input($_POST["featuredAdd"]);
}
//Add to database
{
$sql = "INSERT INTO tbl_products (product_name, product_description, product_price, product_year, product_show, product_type, product_signed, product_quantity, product_featured, product_img) VALUES ('$name', '$desc', '$price', '$year', '$show', '$cat', '$signed', '$qty', '$featured', $img)";
mysql_query($sql);
}
}
물론입니다. 고맙습니다. – user3521635
질문이 하나 더 있습니다. 내가 한 것처럼 $ qtyErr = $ featuredErr = ""; 오류가 없는지 확인하기 위해 Err이 항상 설정됩니다.이 메서드로 사용할 수있는 isset 이외의 것이 있습니까? – user3521635
'empty()'를 사용할 수 있습니다. 빈 문자열은 true이고, 거기에 오류 메시지가 있으면 false가됩니다. 'if (empty ($ qtyErr) && empty ($ featuredErr)) {' –