2012-10-17 104 views
1

我有一個表單/頁面似乎在頁面加載時提交表單數據。如果您單擊「添加記錄」,它將加載頁面並在數據庫中創建一個新條目,而不輸入任何信息。如果你完成表格,它會按需要工作,但會創建並記錄額外的記錄。什麼會導致表單「上載」?此外,我也使用這種相同的形式爲網站的其他領域沒有問題,但數據存儲到不同的表。提交數據按鈕被按下之前提交數據

我的代碼

<? 

    if(isset($_POST['title'])) { 
     if(isset($_POST['gallery_1'])) { 
      $gallery_1 = $_POST['gallery_1']; 
     } 
     if(isset($_POST['gallery_2'])) { 
      $gallery_2 = $_POST['gallery_2']; 
     } 
      if(isset($_POST['gallery_3'])) { 
      $gallery_3 = $_POST['gallery_3']; 
     } 
      if(isset($_POST['gallery_4'])) { 
      $gallery_4 = $_POST['gallery_4']; 
     } 
      if(isset($_POST['gallery_5'])) { 
      $gallery_5 = $_POST['gallery_5']; 
     } 

      if(isset($_POST['download_1'])) { 
      $download_1 = $_POST['download_1']; 
     } 

      if(isset($_POST['download_2'])) { 
      $download_2 = $_POST['download_2']; 
     } 

      if(isset($_POST['download_3'])) { 
      $download_3 = $_POST['download_3']; 
     } 

     $title = $_POST['title']; 
     $title_gallery = $_POST['title_gallery']; 
     $date = $_POST['date']; 
     $introduction = $_POST['introduction']; 
     $download_1_title = $_POST['download_1_title']; 
     $download_2_title = $_POST['download_2_title']; 
     $download_3_title = $_POST['download_3_title']; 
     $dropbox_title = $_POST['dropbox_title']; 
     $dropbox_info = $_POST['dropbox_info']; 
     $dropbox_link = $_POST['dropbox_link']; 
     $video_title = $_POST['video_title']; 
     $video = $_POST['video']; 


     $handle = new Upload($_FILES['gallery_1']); 
      if ($handle->uploaded) { 
       $handle->file_max_size = 4000000; 
       $handle->image_resize = true; 
       $handle->image_ratio = true; 
       $handle->image_ratio_crop = true; 
       $handle->image_y = 407; 
       $handle->image_x = 460; 
       $handle->allowed = array('image/pjpeg','image/jpeg', 'image/jpg'); 
       $handle->Process($dir_dest); 
       if ($handle->processed) { 
        echo 'issue image 1 uploaded ' . round(filesize($handle->file_dst_pathname)/256)/4 . 'KB<br /><br />'; 
        $gallery_1 = $dir_pics.'/' . $handle->file_dst_name ; 
       } else { 
        echo ' the following error occurred while uploading image 1<br />'; 
        echo ' Error: ' . $handle->error . '<br /><br />'; 
       } 
       $handle-> Clean(); 
      } 



      $handle2 = new Upload($_FILES['gallery_2']); 
      if ($handle2->uploaded) { 
       $handle2->file_max_size = 4000000; 
       $handle2->image_resize = true; 
       $handle2->image_ratio = true; 
       $handle2->image_ratio_crop = true; 
       $handle2->image_y = 307; 
       $handle2->image_x = 460; 
       $handle2->allowed = array('image/pjpeg','image/jpeg', 'image/jpg'); 
       $handle2->Process($dir_dest); 
       if ($handle2->processed) { 
        echo 'issue image 2 uploaded ' . round(filesize($handle2->file_dst_pathname)/256)/4 . 'KB<br /><br />'; 
        $gallery_2 = $dir_pics.'/' . $handle2->file_dst_name ; 
       } else { 
        echo ' the following error occurred while uploading image 2<br />'; 
        echo ' Error: ' . $handle2->error . '<br /><br />'; 
       } 
       $handle2-> Clean(); 
      } 

      $handle3 = new Upload($_FILES['gallery_3']); 
      if ($handle3->uploaded) { 
       $handle3->file_max_size = 4000000; 
       $handle3->image_resize = true; 
       $handle3->image_ratio = true; 
       $handle3->image_ratio_crop = true; 
       $handle3->image_y = 307; 
       $handle3->image_x = 460; 
       $handle3->allowed = array('image/pjpeg','image/jpeg', 'image/jpg'); 
       $handle3->Process($dir_dest); 
       if ($handle3->processed) { 
        echo 'issue image 3 uploaded ' . round(filesize($handle3->file_dst_pathname)/256)/4 . 'KB<br /><br />'; 
        $gallery_3 = $dir_pics.'/' . $handle3->file_dst_name ; 
       } else { 
        echo ' the following error occurred while uploading image 3<br />'; 
        echo ' Error: ' . $handle3->error . '<br /><br />'; 
       } 
       $handle3-> Clean(); 
      } 

      $handle4 = new Upload($_FILES['gallery_4']); 
      if ($handle4->uploaded) { 
       $handle4->file_max_size = 4000000; 
       $handle4->image_resize = true; 
       $handle4->image_ratio = true; 
       $handle4->image_ratio_crop = true; 
       $handle4->image_y = 307; 
       $handle4->image_x = 460; 
       $handle4->allowed = array('image/pjpeg','image/jpeg', 'image/jpg'); 
       $handle4->Process($dir_dest); 
       if ($handle4->processed) { 
        echo 'main image for issue uploaded ' . round(filesize($handle4->file_dst_pathname)/256)/4 . 'KB<br /><br />'; 
        $gallery_4 = $dir_pics.'/' . $handle4->file_dst_name ; 
       } else { 
        echo ' the following error occurred while uploading the main image<br />'; 
        echo ' Error: ' . $handle4->error . '<br /><br />'; 
       } 
       $handle4-> Clean(); 
      } 

      $handle5 = new Upload($_FILES['gallery_5']); 
      if ($handle5->uploaded) { 
       $handle5->file_max_size = 4000000; 
       $handle5->image_resize = true; 
       $handle5->image_ratio = true; 
       $handle5->image_ratio_crop = true; 
       $handle5->image_y = 307; 
       $handle5->image_x = 460; 
       $handle5->allowed = array('image/pjpeg','image/jpeg', 'image/jpg'); 
       $handle5->Process($dir_dest); 
       if ($handle5->processed) { 
        echo 'map image for issue uploaded ' . round(filesize($handle5->file_dst_pathname)/256)/4 . 'KB<br /><br />'; 
        $gallery_5 = $dir_pics.'/' . $handle5->file_dst_name ; 
       } else { 
        echo ' the following error occurred while uploading the map image<br />'; 
        echo ' Error: ' . $handle5->error . '<br /><br />'; 
       } 
       $handle5-> Clean(); 
      } 


      $handle6 = new Upload($_FILES['download_1']); 
      if ($handle6->uploaded) { 
       $handle6->file_max_size = 4000000; 
       $handle6->allowed = array('application/*', 'image/*'); 
       $handle6->Process($dir_dest); 
       if ($handle6->processed) { 
        echo 'download one uploaded' . round(filesize($handle6->file_dst_pathname)/256)/4 . 'KB<br /><br />'; 
        $download_1 = $dir_pics.'/' . $handle6->file_dst_name ; 
       } else { 
        echo ' the following error occurred while uploading download one<br />'; 
        echo ' Error: ' . $handle6->error . '<br /><br />'; 
       } 
       $handle6-> Clean(); 
      } 

      $handle7 = new Upload($_FILES['download_2']); 
      if ($handle7->uploaded) { 
       $handle->file_max_size = 4000000; 
       $handle->allowed = array('application/*', 'image/*'); 
       $handle7->Process($dir_dest); 
       if ($handle7->processed) { 
        echo 'download two uploaded' . round(filesize($handle7->file_dst_pathname)/256)/4 . 'KB<br /><br />'; 
        $download_2 = $dir_pics.'/' . $handle7->file_dst_name ; 
       } else { 
        echo ' the following error occurred while uploading download two<br />'; 
        echo ' Error: ' . $handle7->error . '<br /><br />'; 
       } 
       $handle7-> Clean(); 
      } 

      $handle8 = new Upload($_FILES['download_3']); 
      if ($handle8->uploaded) { 
       $handle->file_max_size = 4000000; 
       $handle->allowed = array('application/*', 'image/*'); 
       $handle8->Process($dir_dest); 
       if ($handle8->processed) { 
        echo 'download three uploaded' . round(filesize($handle8->file_dst_pathname)/256)/4 . 'KB<br /><br />'; 
        $download_3 = $dir_pics.'/' . $handle8->file_dst_name ; 
       } else { 
        echo ' the following error occurred while uploading download three<br />'; 
        echo ' Error: ' . $handle8->error . '<br /><br />'; 
       } 
       $handle8-> Clean(); 
      } 


     } 

     $query = mysql_query("INSERT INTO news (
id , 
title , 
title_gallery , 
date , 
introduction , 
gallery_1 , 
gallery_2 , 
gallery_3 , 
gallery_4 , 
gallery_5 , 
download_1 , 
download_2 , 
download_3 , 
download_1_title , 
download_2_title , 
download_3_title , 
dropbox_title , 
dropbox_info , 
dropbox_link , 
video_title , 
video 
) VALUES 

(NULL, 
'$title', 
'$title_gallery', 
'$date', 
'$introduction', 
'$gallery_1', 
'$gallery_2', 
'$gallery_3', 
'$gallery_4', 
'$gallery_5', 
'$download_1', 
'$download_2', 
'$download_3', 
'$download_1_title', 
'$download_2_title', 
'$download_3_title', 
'$dropbox_title', 
'$dropbox_info', 
'$dropbox_link', 
'$video_title', 
'$video');"); 

if($query) { 
      $message = $title . " has been added"; 
     }else{ 
      $message = "an error occurred while updating this entry"; 
     } 


    ?> 
    </p> 

    <? if(isset($_POST['title'])) { ?> 
      <div id="content_holder"> 
       <p style="text-align:center;padding-top:20px;"> 
       <strong><? echo $message; ?></strong><br/> 
       <span class="error"><? if($error_message) { echo $error_message; } ?></span> 
       Add another <a href="add.php">Record/Item</a></p> 
      <!-- end content_holder --> 
      </div> 
     <? }else{ ?> 

形式...和右括號...

+0

我不認爲這是可能的。你能發佈代碼嗎? – enenen

+0

您使用的是Javascript嗎?那將是我想象中唯一的罪魁禍首。 – MatthewMcGovern

+0

你在檢查提交按鈕是否被按下?如果(isset($ _ POST ['Submit'])){檢查其他值併發送到數據庫} – nytrm

回答

1

您的INSERT查詢不在您的if(isset($_POST['title']))聲明中。每行加載時都會插入一行空值。

+0

Bingo!謝謝您的幫助。 – pixelJockey

0

是否有可能對事物如果形式submited你不檢查PHP端和盲目創建每次頁面加載時都會從空數據創建新記錄?

編輯:完全。 mysql查詢不運行什麼。把它放在一邊,以確保表單被冒充。

+0

我添加了代碼 – pixelJockey