0
게시 할 때 작은 스크립트를 실행하는 데이터 양식을 만들었습니다. 간헐적 인 버그가 있습니다. 스크립트는 항목을 데이터베이스에 기록하거나 죽은 다음 세부 정보가 포함 된 전자 메일을 보내야합니다. 나는 이메일의 100 %를 얻지 만 항목의 약 90 % 만 실제로 db에 기록됩니다. 어떤 사람이 여기에서 문제를 식별 할 수 있습니까? 감사합니다 -데이터 양식을위한 프로세스 스크립트 - 간헐적 인 버그
$name=$_POST[name];
$email=$_POST[email];
$state=$_POST[state];
$phone=$_POST[phone];
$comments=$_POST[comments];
$today = date("F j, Y, g:i a");
include("config.php");
$link = mysqli_connect("$db_host" , "$db_user" , "$db_password" , "$db") or die();
mysqli_select_db($link, $db) or die();
mysqli_query($link,"INSERT INTO form (name,email,state,phone,comments,date)
VALUES ('$name','$email','$state','$phone','$comments','$today')");
$Body= " \n";
$Body .= "Contact Request From my_site.com\n\n";
$Body .= "Name: $name\n";
$Body .= "Email: $email\n";
$Body .= "State: $state\n";
$Body .= "Telephone: $phone\n";
$Body .= "Comments: $comments\n";
$Body .= "\n";
mail ("[email protected]_site.com", "Contact Request From my_site.com", $Body, "From: $email");
header("Location: https://www.my_site.com/thank-you/");
die();
당신은 오류를 검사하지 않습니다. mysqli_error()를 호출하면 신비가 풀릴 것이다. –
나중에 검토 할 수 있도록 db에 오류를 기록하는 방법은 무엇입니까? 언급했듯이 시간의 약 10 % 만 실패합니다. – BradM
POST 매개 변수를 벗어나지 않습니다. 이들 중 하나에 따옴표가 포함되어 있으면 SQL에 구문 오류가 발생합니다. 당신은'bind_param'을 사용하거나'mysqli_real_escape_string'을 사용하지 않아야한다. – Barmar