CSV 파일에 쓰는 우리 회사의 컨테스트 양식이 있습니다. 가계 당 하나의 항목 일 뿐이므로 제출시 제출 된 주소가 작성되기 전에 이미 csv 파일에 입력되었는지 확인하고 싶습니다. 당신이 데이터베이스 사용을 선택 할 수있는 나는 보았다,하지만 난 여기에 .csv
와 함께 할 방법을 모르는 코드 :PHP - CSV 파일에 쓰기 전에 중복 확인
if($_POST['formSubmit'] == "Enter Now") {
$errorMessage = "";
$aClass = "";
if(empty($_POST['name'])){$errorMessage .= "<li>You forgot to enter your name!</li>";}
if(empty($_POST['email'])){$errorMessage .= "<li>You forgot to enter your email!</li>";}
if(empty($_POST['address1'])){$errorMessage .= "<li>You forgot to enter your address!</li>";}
if(empty($_POST['city'])){$errorMessage .= "<li>You forgot to enter your city!</li>";}
if(empty($_POST['postcode'])){$errorMessage .= "<li>You forgot to enter your zip code!</li>";}
$name = $_POST['name'];
$email = $_POST['email'];
$address1 = $_POST['address1'];
$city = $_POST['city'];
$state = $_POST['state'];
$postcode = $_POST['postcode'];
$csvData = $name . "," . $email . "," . $address1 . "," . $city . "," . $state . "," . $postcode ."\n";
if(empty($errorMessage)){
$fs = fopen("contest.csv","a");
fwrite($fs,$csvData);
fclose($fs);
header("location: thank you");
exit;
}
}
내가 대신에 r+
내 fopen을 변경할 생각하고 a
을 입력 한 다음 csv 파일을 읽어 주소를 확인하십시오. 그런 다음 '중복 발견'을 중계하는 다른 if 문을 입력하거나 fwrite
정보를 보내고 감사 페이지로 보냅니다.
여기서 DB를 사용할 수 있습니까? – Kit
csv 파일을 읽고 각 행을 구문 분석하여 해당 변수가 일치하는지 확인해야합니다. [SQLite] (http://www.sqlite.org)를 살펴 보았습니까? 텍스트 파일을위한 SQL 메커니즘을 제공합니다. 그런 다음 전체 데이터베이스를 CSV로 내 보내어 나중에 스프레드 시트로 가져올 수 있습니다 –
플랫 파일은 특정 상황에서 용도가 있지만이 중 하나가 아닙니다. –