2012-08-13 3 views
0

나는 PHP 프로그래밍에서 꽤 괜찮은 사람이고, 이런 유형의 오류가 내가 뭔가를 놓치고 있다는 것을 알지만, 내가 누락 된 부분을 찾아 낼 수가 없다. 나는 모든 괄호와 세미콜론을 사용해야한다. 왜이 오류가 표시되는지 모르겠습니다.왜이 구문 분석 오류가 표시됩니까?

구문 분석 오류 : 구문 오류, C에서 예상치 못한 T_VARIABLE : \의 Program Files (x86) \ EasyPHP-5.3.9 www가 \ 웹 사이트 물건 \ Form.php \ 행에 44

<?php 
error_reporting (E_ALL^E_NOTICE); 

$to = "[email protected]"; 
$subject = "Submitions from College/University Admission Services Form"; 

$Sname = $_POST["Sname"]; 
$Fname = $_POST["Fname"]; 
$Mname = $_POST["Mname"]; 
$Lname = $_POST["Lname"]; 
$email = $_POST["email"]; 
$history = $_POST["history"]; 
$age = $_POST["age"]; 
$sex = $_POST["sex"]; 
$country = $_POST["country"]; 
$SchoolsAttended = $_POST["SchoolsAttended"]; 
$CriminalRecord = $_POST["CriminalRecord"]; 
$record = $_POST["record"]; 
$status = $_POST["status"]; 

$body = <<<EMAIL 

Form submitted from $Fname $Lname. 

Surname field: $Sname 
First name field: $Fname 
Middle name field: $Mname 
Last name field: $Lname 
History field: $history 
Age: $age 
Sex: $sex 
Country: $country 
Schools Attended: $SchoolsAttended 
Criminal Record: $CriminalRecord 
If yes was selected, list of details: $record 
Marital Status: $status 

From, $Fname 

EMAIL; 

$header = "From: $email"; 
if($_POST){ 
    if($Sname == '' || $Fname == '' $Mname == '' || $Lname == '' $email == '' || $history == '' $age == '' || $sex == '' $country == '' || $SchoolsAttended == '' $CriminalRecord == '' || $status == ''){ 
    $feedback = "Fill out all the fields please before submitting"; 
}else{ 
mail($to, $subject, $body, $header); 
$feedback ="Thanks for your submition! Your form has been sent!"; 
} 
    } 
    ?> 
    <p id="feedback"><?php echo $feedback; ?></p> 
<form style="padding: 10px;" method="post" action="?"> 
    Surname: <input type="text" maxlength="12" name="Sname"><br /><br /> 
    First Name: <input type="text" maxlength="12" name="Fname"><br /><br /> 
    Middle Name: <input type="text" maxlength="12" name="Mname"><br /><br /> 
    Last Name: <input type="text" maxlength="36" name="Lname"><br /><br /> 
    Email: <input type="text" maxlength="36" name="email"><br /><br /> 
    History: <input type="text" maxlength="50" name="history"><br /><br /> 
    Age: <input type="text" size="1" maxlength="2" name="age"><br /><br /> 
    Sex: <input type="radio" value="Male" name="sex">Male<input type="radio" value="Female" name="sex">Female<br /><br /> 
    Country of Origin: <select name="country"> 
     <option value="Select">-Select a Country-</option> 
    <option value="United States">United States</option> 
    <option value="Africa">Africa</option> 
    <option value="Canada">Canada</option> 
      </select><br /><br /> 
    Schools Attended: <input type="text" name="SchoolsAttended"><br /><br /> 
    Do you have a criminal record? <input type="radio" value="yes" name="CriminalRecord">Yes <input type="radio" value="no" name="CriminalRecord">No<br /><br /> 
    If yes was selected, please list them in the field provided: <input type="text" name="record"><br /><br /> 
    Marital Status: <select name="status"> 
    <option value="select">-Select your status-</option> 
    <option value="single">Single</option> 
    <option value="married">Married</option> 
    <option value="divorced">Divorced</option> 
    <option value="widowed">Widowed</option> 
     </select><br /><br /> 
    <input class="button" type="submit" value="submit" name="submit"> <input class="button" type="reset" value="Reset" name="reset" /> 
    </form> 
여기에 아래의 코드는

도움 주셔서 감사합니다! 아마 사소한 문제 일 겁니다! -TechGuy24

+1

, 당신은 XSS 및 HTML 인젝션에 대해 배울 필요가있다. – hakre

+0

^이외에, 이것을 아주주의 깊게 읽으십시오. http://stackoverflow.com/questions/60174/best-way-to-prevent-sql-injection-in-php – Sgarz

+0

Protip : 오류는 아마도 44 번 줄에 있었을 것입니다. – Andrew

답변

8

||의 무리가 누락되었습니다. 예를 들어

:

$history == '' $age == '' 

은 다음과 같아야합니다

는 구문 오류가 무엇인지 이해 한
$history == '' || $age == '' 
+0

그건 확실히 고쳐졌고, 어떻게 나는 그것을 놓쳤다 ... 나는 내가 간단한 것들을 간과 한 코드를 너무 오랫동안보고 있었다고 생각한다. 인내심에 감사드립니다! – WebDeVGuy24

관련 문제