2 jinshengxi JinShengXi 于 2014.11.30 22:51 提问

onsubmit触发事件把表单数据发送到相关php处理问题

问题详情:onsubmit触发事件把表单数据发送到相关php处理但是如何避免数据有问题时也会触发事件呢?

function dosubmit() { window.open('num3.php?cf='+window.form.cf.value+'&cf1='+window.form.cf1.value); }


<?php

require_once('appvars.php');
require_once('connectvars.php');

if(isset($_POST['submit'])){ //第10行

$name=$_POST['name'];
$score=$_POST['score'];
$st=$_FILES['st']['name'];
$st_type=$_FILES['st']['type'];
$st_size=$_FILES['st']['size'];
$output_form=false;

if( empty($name) || empty($score) || empty($st))
{
echo'Something is wrong !
';
$output_form=true;
}
//第20行
else{

if( (($st_type=='image/gif')||($st_type=='image/jpeg')||($st_type=='image/pjeg')||($st_type=='image/png')) && ($st_size >0) && ($st_size <=MAX_FILE_SIZE) )
{

if($_FILES['st']['error']==0){

$target=GW_UPLOADPATH .$st;
//第30行

if(move_uploaded_file($_FILES['st']['tmp_name'],$target)){

$dbc=mysqli_connect(HOST,USER,PASSWORD,NAME);

$st=$_FILES['st']['name'];
$query="INSERT INTO b (date,st,score,name)".
"VALUES(NOW(),'$st','$score','$name')";
//第40行

mysqli_query($dbc,$query)
or die('UU');

echo'You are success to add dates to Mysql '.'<br>';
echo 'Name :'.$name.'<br>';
echo 'Score : '.$score.'<br>';
echo 'Photo :'.'<img src="'.GW_UPLOADPATH.$st.'" >';
                //第50行          
echo'<p><a href="index.php">Back to index page</a></p>';

//clear the score datas
$name="";
$score="";
$st="";

mysqli_close($dbc);

}//if(move_uploaded_f

else
{
echo $_FILES['st']['error'];
echo'
文件没有移动成功 !!';//第60行

}

}//if($_FILES['st']['error']

else
echo'There is something wrong to upload the file ! Plese upload it agian.';

}//if(($st_type=='image/gif'

else echo'

The screen pic must be a GIF,JPEG, or PNG image and the file '.'size must fit '.'(MAX_FILE_SIZE/1024)'.'KB.

';
}//else
                //第70行

//Try to delete the temporary screen shot image file.

@unlink($_FILES['st']['tmp_name']);

}else $output_form=true;

if($output_form){
?>

Your name:
Your score:
Your Photo:
商品交易; 商品互换;

<?php } ?>


3个回答

caozhy
caozhy   Ds   Rxr 2014.12.01 02:55

在处理函数的开头加上一些前置检查,如果不符合就不再继续执行,直接返回,提示数据不合法就行了呗。

xuzuning
xuzuning   Ds   Rxr 2014.12.01 09:30

当 onsubmit 触发事件的处理函数返回 false 时,表单不会被提交

showbo
showbo   Ds   Rxr 2014.12.01 10:47

表单onsubmit事件检查你的数据,不通过return false
<br> function check(f){<br> if(f.un.value==&#39;&#39;){alert(&#39;请输入用户名!&#39;);f.un.focus();return false}<br> //...其他的<br> }<br>




Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!