Heim  >  Artikel  >  Backend-Entwicklung  >  为什么我的表单每次刷新或者进入网站都会自动先发送一次

为什么我的表单每次刷新或者进入网站都会自动先发送一次

WBOY
WBOYOriginal
2016-06-23 14:15:41920Durchsuche

 















$name = isset($_POST['uname'])?$_POST['uname']:"";
$phone = isset($_POST['phone'])?$_POST['phone']:"";
$company = isset($_POST['company'])?$_POST['company']:"";
$message = isset($_POST['message'])?$_POST['message']:"";
$msg =  "name:".$name."
"."phone:".$phone."
"."company:".$company."
"."message:".$message;
$to = "long.cheng@freshds.com";
$subject = "Soriana Contact";
$from = $name;
$headers = "From: {$name}";
if(mail($to,$subject,$msg,$headers)){
echo "<script>alert('Thanks for your support')</script>";
}else{
echo "<script>alert('Failed')</script>";
return false;
}

?>

回复讨论(解决方案)

这要看你的提交判断方式

if(mail($to,$subject,$msg,$headers)){
echo "<script>alert('Thanks for your support')</script>";
}else{
echo "<script>alert('Failed')</script>";
return false;
}

这里不管你有没有值,都会跳出提示框,你并没有在这之前做个判断

这要看你的提交判断方式

if(mail($to,$subject,$msg,$headers)){
echo "<script>alert('Thanks for your support')</script>";
}else{
echo "<script>alert('Failed')</script>";
return false;
}

这里不管你有没有值,都会跳出提示框,你并没有在这之前做个判断


function formcheck(){
if(document.info.uname.value ==''||document.info.company.value ==''||document.info.phone.value ==''){
alert("The fields with * is required") ;
return false;
}

}

是这个

The fields with * is required

是弹出这个?

是直接表单发送出去了

是直接表单发送出去了

你这样写没做任务的判断,当然是直接发送出去了

if($_SERVER['REQUEST_METHOD'] != "POST") return;
你原来的 php 代码

得先做个判断先 要不然就会两次重复咯。。

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn