2011-04-19 7 views
0

psw index.php 부분이 제대로 작동하는 것으로 보이지만 처리기가 내부 서버 오류 (500)를 발생시킵니다.Two-File PHP 문의 양식

index.php를

<div id="contact"> 
     <h1>Contact us</h1> 
     <form id="ContactForm" method="post" action="submit.php"> 
      <p> 
       <label>Name<span>(optional)</span></label> 
       <input id="name" name="name" class="inplaceError" maxlength="120" type="text" autocomplete="on"/>`enter code here` 
       <span class="error" style="display:none;"></span> 
      </p> 
      <p> 
       <label>Email<span>(optional)</span></label> 
       <input id="email" name="email" type="text" /> 
      </p> 
      <p> 
       <label>Subject<span>(optional)</span></label> 
       <input id="website" name="website" /> 
      </p> 
      <p> 
       <label>Your message<br /> <span>700 characters allowed</span></label> 
       <textarea id="message" name="message" cols="6" rows="5"></textarea> 
      </p> 
      <p class="submit"> 
       <input id="send" type="submit" value="Submit" name="submit"/> 
       <span id="loader" class="loader" style="display:none;"></span> 
      </p> 
    <input id="newcontact" name="newcontact" type="hidden" value="1"></input> 
     </form> 

submit.php --> 


if(isset($_POST['submit'])) { 
    $name = $_POST['name']; 
    $email = $_POST['email']; 
    $website = $_POST['website']; //subject 
    $message = $_POST['message']; 

    $connection = mysql_connect ("localhost", "root", "pswd") or die ('DB connection fail:' .mysql_error()); 
    mysql_select_db ("contactform"); 
    $query = "INSERT INTO contact (pk_contact, name, email, website, message, added_date)VALUES ('NULL','$name','$email','$sub','$msg','NULL')"; 
    //good to know about the quotes, but the page still insist there's an error 
    mysql_query($query) or die ('Error uploading DB'); 
    mysql_close($connection); 
    echo "<span id="success_message" class="success">YAY! It worked.</span>"; 
} else { 
    echo "<span class='error'>Try again.</span>"; 
} 
+1

로그를 확인하고 PDO를 사용하여 FAQ를 읽어보십시오. – Brad

+3

게시물에서 루트 암호를 제거 할 수 있습니다. – Mikecito

+0

@ 미케시토, 너 NSA에 우리 끼리만 불었 니? –

답변

2

나는 당신이 당신의 쿼리 문자열에 오류가있어 생각합니다. 모양은 다음과 같아야합니다

$query = "INSERT INTO contact (name, email, website, message, added_date)VALUES ('$name','$email','$sub','$msg',NULL)"; 

큰 따옴표가 문자열을 분리하고 다른 부분이 연결되지 않았습니다.

+0

기본 키 가져 오기 주셔서 감사합니다. 내 관심. 나는 문제가 데이터베이스와 함께 생각하지 않았지만 기본 및 날짜 열에 DEFAULT 값을 추가하면 완벽하게 작동했습니다. – TwoRoses

0

Mikecito 언급. NULL 주위의 따옴표를 제거해야합니다.

$query = "INSERT INTO contact (pk_contact, name, email, website, message, added_date)VALUES (NULL,'$name','$email','$sub','$msg',NULL)"; 

added_date 필드는 MySQL의 오류가 발생합니다 테이블에 'NULL'를 입력하려고 MySQL의 타임 스탬프 형식입니다, 그래서 당신은 당신에게 MySQL의 테이블을 설정 한 가정.

또한 pk_contactadded_date 필드에 mysql 테이블에 null 값을 입력 할 수 있는지 확인하십시오.