亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

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

each() 函數已棄用

each() 函數已棄用

PHP
瀟湘沐 2023-04-21 09:51:52
我的舊聯系表格在發送時顯示此錯誤:Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /kunden/273982_79100/webseiten/kontakt/index.php on line 126這是聯系表格的 PHP 代碼:<?php$Empfaenger = "[email protected]";$headers .= "Content-Type: text/plain; charset = \"UTF-8\";\n";$headers .= "Content-Transfer-Encoding: 8bit\n";$headers .= "\n";if($_POST['Send']) {    if(empty($_POST['vornameundnachnachme']) || empty($_POST['adresse']) || empty($_POST['plzort']) || empty($_POST['email']) || empty($_POST['betreff']) || empty($_POST['datenschutz'])) {        echo"<p style='margin-top: 40px;'><div id='alert'>Ihre Online-Anfrage wurde nicht versendet.<ul style='margin-bottom: 0px;'><li>rot markierte Felder müssen ausgefüllt werden</li></ul></div></p>";    } else {        $Mailnachricht = "Question \n\n";        while(list($Formularfeld, $Wert)=each($_POST) {            if($Formularfeld!="Send") {                $Mailnachricht .= $Formularfeld.": ".$Wert."\n";            }        }        $Mailnachricht .= "\nDatum/Zeit: ";        $Mailnachricht .= date("d.m.Y H:i:s");        $Mailbetreff = "Anfrage";        $Mailbetreff .= $_POST['Emailadresse'];        mail($Empfaenger, $Mailbetreff, $Mailnachricht, "From: ".$_POST['Emailadresse']);        echo"<p style='margin-top: 40px;'><div id='sent'><h2><i class='fal fa-thumbs-up'></i> Gesendet!</h2></div></p>";    }}?>我已經閱讀了一些解決方法,但對我沒有任何幫助。我想我在其中一行中犯了一個錯誤......不知道在哪里......也許任何人都可以幫助我!多謝!亞歷克斯
查看完整描述

2 回答

?
飲歌長嘯

TA貢獻1951條經驗 獲得超3個贊

這list($Formularfeld, $Wert)=each($_POST)是一個過時的結構,不應再使用 - 我只能假設您在某個地方找到了一個非常古老的教程。


正確的方法是預處理 $_POST 全局變量并用它創建一個合適的數組,然后使用它遍歷它foreach


foreach($_POST as $formularfeld => $wert) {

    $mailinfo[$formularfeld] = $value; //Do NOT forget validation here, huge security problem

}

這樣,我們就有了一個很好的數組,$mailinfo我們可以稍后使用它,就像這樣:


foreach($mailinfo as $formularfeld => $wert) {

    if($formularfeld != "Send") {

        $Mailnachricht .= $formularfeld.": ".$wert."\n";

    }

}


查看完整回答
反對 回復 2023-04-21
?
喵喔喔

TA貢獻1735條經驗 獲得超5個贊

不再支持該功能。您可以在函數前面加上“@”來禁用警告。

更好的方法是使用像 foreach 這樣的替代函數


查看完整回答
反對 回復 2023-04-21
  • 2 回答
  • 0 關注
  • 160 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號