다음은 데이터를 테이블에 삽입하는 스크립트입니다. 내 질문은 PHP에서 폼 유효성 검사에만 관한 것입니다. 여기 PHP 폼 유효성 확인
내 PHP 코드입니다 :<?php
//Here I have defined an error variable for each of the variables in the project
$nameErr = $productErr = $priceErr = $catErr = $regionErr = "";
$product_name = $product_cond = $product_price = $product_cat = $product_region = "";
$con=mysqli_connect("localhost","*****","*****","my_project");
if (mysqli_connect_errno())
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
// here in this elseif, I check the number of characters in the field and then it is suppose to send an error (on the same page) if it does not match
elseif (strlen($_POST['product_name']) < 5) {
$productErr = "name is too short";
}
elseif (strlen($_POST['product_name']) > 10) {
$productErr = "name is too long";
}
elseif (empty($_POST['product_cond'])) {
$productErr = "product condition required";
}
else
{
$sql= "INSERT INTO Product (product_name, product_cond, product_price, product_cat, product_region, email, phone_num)
VALUES
('$_POST[product_name]','$_POST[product_cond]','$_POST[product_price]','$_POST[product_cat]','$_POST[product_region]','$_POST[Email]','$_POST[PhoneNumber]')";
if (!mysqli_query($con,$sql))
{
echo 'Error: ' . mysqli_error($con);
}
else
{
echo "1 record added";
}
}
mysqli_close($con);
?>
여기 내 HTML 페이지 :
<html>
<body>
<h3> Please enter your product information bellow: </h3>
<form action="insert_data.php" method="post">
Product name: <input type="text" name="product_name" >
// here I added this line that is suppose to do echo the error message:
<span class="error">* <?php echo $nameErr;?></span>
Condition:
<select name="product_cond">
<option value="" >SELECT</option>
<option value="Used" >Used </option>
<option value="new" >New</option>
</select>
Category:
<select name="product_cat">
<option value="" >SELECT</option>
<option value="books" >books</option>
<option value="Computers" >Computers</option>
<option value="Hardware/Tools" >Hardware/Tools </option>
<option value="Cars" >Cars</option>
<option value="home Appliances" >home Appliances</option>
</select>
Region:
<select name="product_region">
<option value="Oulu" >Oulu</option>
<option value="Turku" >Turku</option>
<option value="Helsinki" >Helsinki </option>
<option value="Tornio" >Tornio</option>
<option value="Tampere" >Tampere</option>
<option value="Kemi" >Kemi</option>
</select>
Product price: <input type="text" name="product_price">
<input type="submit">
</form>
</body>
</html>
문제이 방법은 아직 데이터가 테이블에 삽입 할 수 있지만하지 않도록한다는 것입니다 대신 나에게 오류를주지 마라, 그것은 단지 나에게 빈 화면을 준다. 문제는 무엇입니까. PHP 코드 아래
보십시오 : (http://www.w3schools.com/php/showphp.asp?filename=demo_form_validation_required 나는 w3school에서 제공하는이 예제를 사용하고 있습니다) 각 조건에서 변수 $ productErr을 반향합니다. –
당신은'$ productErr'에 오류를 저장하고 있습니다 만, 당신은 어디에서도'$ productErr'을 참조하거나 에코하지 않습니다. –
에코 에러가 아닌 다이로 검사 해보고, 문자열 변수를 만들고 if 문으로 본문 어딘가에 출력하면 –