양식 유효성 검사 및 db 삽입 스크립트가 작동하도록 시도하고 있지만 다시 문제가 발생합니다. 다음을 수행하기 위해 elseif 문을 사용하고 있습니다.
사용자가 제출 버튼을 클릭하여 양식을 실제로 제출했는지 확인하고 경고하지 않으면 모든 데이터 필드가 완료되었는지 확인하고 양식 페이지로 다시 리디렉션합니다 (이 부분이 작동하는 것으로 보이는 유일한 부분 임).
양식이 완전히 완성되고 제출 버튼을 클릭하면 mysql 서버에 연결하고 db 또는 die를 선택하고 오류 메시지를 표시합니다.
데이터베이스에 연결되어 있으면 양식 데이터를 테이블에 삽입하십시오.
빈 필드의 입력을 막을 수는 있지만 그게 전부입니다. 이유를 알 수없는 것 같습니다. tail -f /var/log/apache2/error.log
아무것도 표시하지 않습니다. 아마도 나는 복잡한 일을 겪었을 것입니다. 나는이 사이트를 참조로 사용하고 elseif 구문에 대해 http://www.w3schools.com/php/php_if_else.asp 를 사용 하고 있지만 초보자는 여전히 일을 망치고 있습니다.
다음은 코드입니다.
<?php
//Form fields passed to variables
$manu = mysql_real_escape_string($_POST['inputManu']);
$model = mysql_real_escape_string($_POST['inputModel']);
$desc = mysql_real_escape_string($_POST['inputDesc']);
//Connect to database using $conn
include ('connection.php');
//Insert record into table
$sql = "INSERT INTO gear (`id`,`manu`,`model`,`desc`)
VALUES (NULL,'$manu','$model','$desc')";
//Check for empty fields
if ($_POST['submit'])
{
foreach($_POST as $val)
{
if(trim($val) == '' || empty($val))
{
die();
echo "Please complete all form fields!";
echo "<meta http-equiv='Refresh' content='3; URL=../add.php'>";
//header("Location: ../add.php?error=empty_fields");
}
}
}
elseif (!mysqli_query($conn,$sql))
{
die('Error: ' . mysqli_error($conn));
}
else
{
//echo "1 record added";
echo "Success, You added the ".$manu." ".$model."";
echo "<meta http-equiv='Refresh' content='3; URL=../index.php'>";
}
mysqli_close($conn);
?>
쿼리 실행 부분을 첫 번째 if 내부로 이동해야합니다. 전체 코드는 다음과 같아야합니다.
<?php
//Connect to database using $conn
include ('connection.php');
//Form fields passed to variables
$manu = mysqli_real_escape_string($_POST['inputManu']);
$model = mysqli_real_escape_string($_POST['inputModel']);
$desc = mysqli_real_escape_string($_POST['inputDesc']);
//Insert record into table
$sql = "INSERT INTO gear (`id`,`manu`,`model`,`desc`)
VALUES (NULL,'$manu','$model','$desc')";
//Check for empty fields
if (isset($_POST['submit']))
{
foreach($_POST as $val)
{
if(trim($val) == '' || empty($val))
{
die();
echo "Please complete all form fields!";
echo "<meta http-equiv='Refresh' content='3; URL=../add.php'>";
//header("Location: ../add.php?error=empty_fields");
}
}
if (!mysqli_query($conn,$sql))
{
die('Error: ' . mysqli_error($conn));
}
else
{
//echo "1 record added";
echo "Success, You added the ".$manu." ".$model."";
echo "<meta http-equiv='Refresh' content='3; URL=../index.php'>";
}
}
else
{
echo "some error";
}
mysqli_close($conn);
?>
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다