第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

PHP 的 isset 函數(shù)問題

PHP 的 isset 函數(shù)問題

PHP
largeQ 2023-07-08 21:44:37
我正在為我的網(wǎng)站制作一個聯(lián)系表單,該表單使用 php 將輸入的信息發(fā)送到我的電子郵件。我的問題是 isset php 函數(shù)返回 false。我不知道這是為什么。這是我的php代碼(輸出結(jié)果是“未發(fā)送”)<?phpif (isset($_POST['submit'])){    $name = $_POST['name'];    $subject = $_POST['subject'];    $mailFrom = $_POST['mail'];    $message = $_POST['message'];    $mailTo = "btrorapps@gmail.com";    $headers = "From: " .$mailFrom;    $txt = "You have received an email from " .$name.".\n\n".$message;    if (mail($mailTo, $subject, $txt, $headers)){        echo "<h1>sent successfully</h1>";    } else {        echo "<h1>something went wrong</h1>";    }} else {    echo "not sent";}?>這是我的表單代碼<form action="contactform.php" method="post" enctype="text/plain">     <label for="name">Name</label>     <input type="text" name="name" placeholder="Full name.." maxlength="20" required>     <label for="mail">Email</label>     <input type="text" name="mail" placeholder="Your email.."       pattern="[a-z0-9._%+-]+@[a-z0-9.-]+\.[a-z{2,}$" required>     <label for="subject">Subject</label>     <input type="text" name="subject" maxlength="25" placeholder="Subject..">     <label for="message">Message</label>     <input type="text" name="message" placeholder="Message.." style="height:170px"       maxlength="150" required>     <input type="submit" value="submit" name="submit"></form>
查看完整描述

2 回答

?
慕的地10843

TA貢獻(xiàn)1785條經(jīng)驗 獲得超8個贊

功能上沒有什么問題isset。這甚至不是 PHP 相關(guān)的問題。

這都是關(guān)于表單提交編碼的。表單有 3 種有效的編碼類型:

  1. application/x-www-form-urlencoded(默認(rèn))

  2. multipart/form-data

  3. text/plain

您正在使用第三個,其記錄如下:

使用該text/plain格式的有效負(fù)載旨在便于人類閱讀。它們無法被計算機可靠地解釋,因為格式不明確(例如,無法區(qū)分值中的文字換行符和值末尾的換行符)。

您沒有獲得任何POST變量,因為 PHP$_POST在使用enctype="text/plain".

在 superglobal的文檔中$_POST

application/x-www-form-urlencoded當(dāng)使用或?multipart/form-data作為請求中的 HTTP Content-Type時,通過 HTTP POST 方法傳遞到當(dāng)前腳本的變量的關(guān)聯(lián)數(shù)組。


話雖如此,您仍然可以從請求正文中讀取原始數(shù)據(jù)。

$data?=?file_get_contents('php://input');

但您將獲得字符串(純文本)形式的整個數(shù)據(jù)。

最后但并非最不重要的一點是,要小心,php://input不適用于enctype="multipart/form-data".


查看完整回答
反對 回復(fù) 2023-07-08
?
浮云間

TA貢獻(xiàn)1829條經(jīng)驗 獲得超4個贊

isset($_POST['submit'])如果表單上有多個提交按鈕,則不要使用引用提交按鈕,因為該按鈕并不總是被按下。這在過去給我?guī)砹藛栴}。

在任何字段上按 Enter 鍵將提交表單,并且第一個提交按鈕可用。

使用其中一個字段。在你的情況下你可以使用if (isset($_POST['name'])){


查看完整回答
反對 回復(fù) 2023-07-08
  • 2 回答
  • 0 關(guān)注
  • 151 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號