2013-08-13 5 views
0

제출 버튼에 양식이있는 PHP 페이지를 작성했습니다. 조치를 PHP 양식 페이지로 설정했습니다.PHP와 SQL 한 페이지를 데이터베이스에 삽입하십시오.

<form id="form1" method="post" action="../control_lbs/lbs_trace.php"> 

INSERT INTO는 데이터베이스에 대한 기본 SQL로드 정보입니다.

문제는 제가 열 때 빈 정보를 보내는 페이지를 열 때마다 있습니다. 이 일이 벌어지는 것을 막을 수 있습니까?

$sql = "INSERT INTO lbs_trace_etrack (lbs_msisdn, lbs_req_by, lbs_date_req,  
lbs_reason, lbs_station, lbs_cas, lbs_traced_by) 
     VALUES  
    ('$_POST[lbs_msisdn]','$_POST[lbs_req_by]','$_POST[lbs_date_req]','$_POST[lbs_reason]' 
,'$_POST[lbs_station]','$_POST[lbs_cas]','$_POST[lbs_traced_by]')"; 

는 여전히 나에게 데이터베이스

에 빈 정보를 제공합니다 내가 새로 고침 또는 페이지 항목에

if ($con = mysql_connect($host, $username, $password)) { 
    if (!empty($_POST["send"])) { 

     $sql = "INSERT INTO lbs_trace_etrack (lbs_msisdn, lbs_req_by, lbs_date_req, lbs_reason, lbs_station, lbs_cas, lbs_traced_by) 
     VALUES ('$_POST[lbs_msisdn]','$_POST[lbs_req_by]','$_POST[lbs_date_req]','$_POST[lbs_reason]','$_POST[lbs_station]','$_POST[lbs_cas]','$_POST[lbs_traced_by]')"; 
     if (mysql_query($sql, $con)) { 
      $insertSuccessful = true; 
     } else { 
      echo $sql; 
      echo "\n" . mysql_error($con); 
      echo "mysql err no : " . mysql_errno($con); 
     } 

를 사용하는이 새로운 코드와 전체 코드 내 PHP 액션 코드

입니다

+0

양식은 당신의 SQL을 실행하기 전에 제출되었는지 확인 페이지에 수표를 추가 . – andrewsi

+0

코드를 다음과 같이 수정하십시오. if (isset ($ _ POST [ 'submit_button_name']) {/ * insert query here * /} –

+0

http://stackoverflow.com/q/13045279/1288198 –

답변

0

isset()을 사용하여 $ _POST 변수가 설정되어 있는지 확인해야합니다. 나는 아래의 예에서 $_POST를 사용했습니다, 나는 isset($_POST['example']) (example 같은) 당신이 submitbutton 이름을 지정 제안 및 사용

if(isset($_POST)){ 
    $sql = "INSERT INTO lbs_trace_etrack (lbs_msisdn, lbs_req_by, lbs_date_req, lbs_reason, lbs_station, lbs_cas, lbs_traced_by) 
      VALUES(
       '".$_POST['lbs_msisdn']."', 
       '".$_POST['lbs_req_by']."', 
       '".$_POST['lbs_date_req']."', 
       '".$_POST['lbs_reason']."', 
       '".$_POST['lbs_station']."', 
       '".$_POST['lbs_cas']."', 
       '".$_POST['lbs_traced_by']."' 
      )"; 
    echo $sql; // echo it to see if it has any values 
    // print_r($_POST); // in case the query is still empty, uncomment this. It will show you the values in the POST array 
} 
+0

필자의 편집 내용과 같이 변경되었지만 여전히 데이터베이스에 아무 것도 출력하지 않는다. –

+0

따옴표와 관련이있을 수 있으며, 필자의 대답을 읽기 쉬운 형식으로 업데이트했다. 또한 에코를 추가하면 실제 쿼리가 무엇인지 알 수 있습니다. 값이 비어 있으면 게시물 배열에 값이 없습니다. – Martijn

+0

그 덕분에 큰 도움이되었습니다. –

관련 문제