ホームページ  >  記事  >  バックエンド開発  >  フォームを更新したり、Web サイトにアクセスしたりするたびに、最初にフォームが自動的に送信されるのはなぜですか?

フォームを更新したり、Web サイトにアクセスしたりするたびに、最初にフォームが自動的に送信されるのはなぜですか?

WBOY
WBOYオリジナル
2016-06-23 14:15:41886ブラウズ

 















$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."
"."電話:".$phone."
"."会社:".$company."
"."メッセージ:".$message;
$to = "long.cheng@freshds.com";
$subject = "ソリアナの連絡先";
$from = $name;
$headers = "From: {$name}";
if(mail($to,$subject,$msg,$headers)){
echo "<script>alert('ご支援ありがとうございます')</script>";
}else{
echo "<script>alert('Failed')</script>";
false を返します。
}

?>


回复论(解决方案)

这要看你的提交判断方式

if(mail($to,$subject,$msg,$headers)){
echo "<script>alert('Thanksあなたのサポートのために')</script>";
}else{
echo "<script>alert('Failed')</script>";
false を返します。
}

这里不管你有無し值、都市跳出提示框、你并無し在这之前做个判断

要視你的提交判断方式

if(mail($to,$subject,$msg, $headers)){
echo "<script>alert('ご支援ありがとうございます')</script>";
}else{
echo "<script>alert('Failed')</script>";
false を返します。
}

这里不管你有没有值、都市跳出示唆框、你并没有在这之前做个判断


function formcheck(){
if(document.info.uname.value ==''||document .info.company.value ==''||document.info.phone.value ==''){
alert("* が付いているフィールドは必須です") ;
false を返します。
}

}

はこれです

* が付いているフィールドは必須です

は弹出ですか?

は直接表单送信出去了

は直接表单送信出去了

你这样写没做任务的判断、もちろん直接送信出去了

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

最初に判断を下す必要があります。そうしないと、判断が 2 回繰り返されます。 。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。