我有一个表单/页面似乎在页面加载时提交表单数据。如果单击“添加记录”,它将加载页面并在不输入任何信息的情况下在数据库中创建新条目。如果您填写表格,它会按照需要运作,但会创建并附加记录。什么会导致表单提交“加载”?此外,我对网站的其他区域使用相同的表格没有问题,但数据存储在不同的表中。
我的代码
<?
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 :(得分:1)
您的INSERT
查询超出了if(isset($_POST['title']))
声明。使用空值在每个页面加载时插入一行。
答案 1 :(得分:0)
是否有可能在php方面你没有检查表单是否被提交并且每次页面加载时只是盲目地从空数据创建一条新记录?
编辑:完全正确。 mysql查询运行没有什么。在它周围放一个if以确保表单被提交。