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

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

如何在 PHP 中添加換行符以將表單輸出彼此分開(kāi)

如何在 PHP 中添加換行符以將表單輸出彼此分開(kāi)

PHP
UYOU 2023-08-11 16:25:39
我對(duì) PHP 完全陌生,隨著我的高中學(xué)位臨近,我決定為我們的年鑒中的個(gè)人描述制作一個(gè) HTML 表單。但是當(dāng)我的 PHP 文件處理表單 POST 時(shí),我無(wú)法弄清楚如何分離不同的輸入,它只是在一行中輸出所有內(nèi)容。我的 PHP 代碼是這樣的<?php$filename = substr(str_shuffle("0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"), 0, 6) . '.txt';if ( !file_exists($filename) ) {   //File put contents stuff here   if(isset($_POST['fname'])){$data=$_POST['fname'];$fp = fopen($filename, 'a');fwrite($fp, $data);}if(isset($_POST['lname'])){$data=$_POST['lname'];$fp = fopen($filename, 'a');fwrite($fp, $data);}}?>我的 HTML 代碼是:<!DOCTYPE html><html>    <head>        <title>Erstelle deinen Steckbrief</title>        <meta charset="UTF-8">        <meta name="viewport" content="size=device-width, initial-scale=1.0">        <meta http-equiv="X-UA-Compatible" content="IE=7">        <link rel="stylesheet" href="style.css">    </head><body>    <div id="all">   <header>       <div id="ueberschrift">        <h1>Erstelle deinen Steckbrief für die Abizeitung</h1>        <p>Dies ist das Formular für das erstellen deiner Seite für die Abizeitung</p>    </div>    </header>    <div class="form">        <form name="" method="post" action="upload.php">            <label for="fname">Vorname:</label><br>            <input type="text" name="fname" id="fname"><br>            <br>            <label for="lname">Nachname:</label><br>            <input type="text" name="lname" id="lname"><br>            <br>            <label for="dateofbirth">Geburtsdatum:</label><br>            <input type="text" name="dateofbirth" id="dateofbirth"><br>我將從 HTML 中刪除上傳圖片代碼,因?yàn)樗坪跻膊黄鹱饔谩K踔敛辉俅嬖谟?PHP 文件中。
查看完整描述

4 回答

?
Smart貓小萌

TA貢獻(xiàn)1911條經(jīng)驗(yàn) 獲得超7個(gè)贊

您可以使用\n,PHP_EOL或如前所述,chr(10)為文本添加新行,但在我看來(lái),\n當(dāng)與如下內(nèi)容一起使用時(shí),使用可能是最簡(jiǎn)單的:


<?php

    

    if( $_SERVER['REQUEST_METHOD']=='POST' ){

        

        $filename = substr( str_shuffle( "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" ), 0, 6) . '.txt';

        

        if ( !file_exists( $filename ) ) {

            foreach( $_POST as $field => $value ){

                /*

                    `sprintf` can be used to create a formatted string where 

                    variables are substituted for certain placeholders.

                    

                    the `FILE_APPEND` flag ensures the file is written to

                    several times with previous data retained.

                */

                file_put_contents( $filename, sprintf( "%s: %s\n", $field, $value ), FILE_APPEND );

            }

        }

    }


?>

免責(zé)聲明:


在 PHP 字符串中使用\n時(shí)始終確保它用雙引號(hào)引起來(lái),例如:


echo "Some text with new line at the end \n";

如果您將其與單引號(hào)一起使用


echo 'Some text with new line at the end \n';

\n它將在最后輸出字符串。


查看完整回答
反對(duì) 回復(fù) 2023-08-11
?
慕森卡

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

你可以使用一個(gè)實(shí)例chr(10)

$data=$_POST['fname'] . chr(10);


查看完整回答
反對(duì) 回復(fù) 2023-08-11
?
aluckdog

TA貢獻(xiàn)1847條經(jīng)驗(yàn) 獲得超7個(gè)贊

正如其他人所說(shuō),添加\n換行符是您所缺少的。阿布朗修斯教授通過(guò)將您的逐一寫(xiě)入變成循環(huán),使您的生活變得更輕松。不要一一重復(fù)代碼,假設(shè)您打算保存所有$_POST提交的字段!


還有其他兩個(gè)簡(jiǎn)單的選擇可供考慮。首先,保存為 JSON:


$data = json_encode($_POST, JSON_PRETTY_PRINT);

file_put_contents($filename, $data);

這將為您提供一個(gè)包含以下內(nèi)容的文件:


{

    "rname": "Arr Name",

    "fname": "Foo Name"

}   

...您以后可以借助 輕松地重復(fù)使用這些數(shù)據(jù)json_decode()。


如果您確實(shí)不需要數(shù)組鍵,這是迄今為止最簡(jiǎn)單的方法:


$data = implode("\n", $_POST);

file_put_contents($filename, $data);

無(wú)需循環(huán)它,或在單獨(dú)的調(diào)用中將每個(gè)字段寫(xiě)入文件。(無(wú)論如何,您fopen只需要調(diào)用一次。這里我們只是使用file_put_contents。)此方法將為您提供一個(gè)包含以下內(nèi)容的文件:


Arr Name

Foo Name

如果您不想包含所有$_POST字段,可以使用以下方法過(guò)濾帖子數(shù)據(jù):


$allowed = ['rname', 'fname'];

$fields = array_intersect_keys($_POST, array_fill_keys($allowed, ''));

然后,您可以$fields像使用一樣使用$_POST,實(shí)現(xiàn)這些“批量保存”方法中最適合您的用例的方法。


注意:使用批量方法進(jìn)行用戶(hù)輸入提交。惡意用戶(hù)可能會(huì)調(diào)整表單/提交的數(shù)據(jù)并添加字段,從而將字段列入白名單 - 指定如上所述;或者可能通過(guò)從表單定義中提取它們,因?yàn)樗鼈円呀?jīng)在某處拼寫(xiě)出來(lái) - 如果您打算重新使用提交的數(shù)據(jù),建議這樣做。您可能還想驗(yàn)證/清理實(shí)際內(nèi)容,但這是另一天的主題。


PS雖然我們通常添加\n換行符,但這是 Linux 和 MacOS 標(biāo)準(zhǔn)。Windows 使用\r\n,如果您在 Windows 上下文中執(zhí)行此操作,則可能需要使用本機(jī)行結(jié)尾。任何像樣的代碼編輯器,以及自 2018 年以來(lái)的記事本(參考),都可以使用其中任何一個(gè),但較舊的軟件可能會(huì)起作用并將行融合在一起。


PPSPHP_EOL關(guān)于使用 來(lái)產(chǎn)生行結(jié)束的注釋。根據(jù)手冊(cè),PHP_EOL (string): The correct 'End Of Line' symbol for this platform.即。\n或\r\n取決于您的操作系統(tǒng)。假設(shè)您在 Windows 上進(jìn)行開(kāi)發(fā),但后來(lái)部署到 Linux 服務(wù)器,您最好只選擇一個(gè) ( \n) 并堅(jiān)持使用,以避免數(shù)據(jù)具有混合換行符標(biāo)準(zhǔn)。


查看完整回答
反對(duì) 回復(fù) 2023-08-11
?
郎朗坤

TA貢獻(xiàn)1921條經(jīng)驗(yàn) 獲得超9個(gè)贊

在 PHP 中,您可以使用PHP_EOL添加換行符。


<?php

$filename = substr(str_shuffle("0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"), 0, 6) . '.txt';

if ( !file_exists($filename) ) {

   //File put contents stuff here


   if(isset($_POST['fname']))

   {

      $data=$_POST['fname'];

      $fp = fopen($filename, 'a');

      fwrite($fp, $data);

   }

   if(isset($_POST['lname']))

   {

      $data=$_POST['lname'];

      $fp = fopen($filename, 'a');

      fwrite($fp, PHP_EOL . $data);

   }

}



?>


查看完整回答
反對(duì) 回復(fù) 2023-08-11
  • 4 回答
  • 0 關(guān)注
  • 201 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢(xún)優(yōu)惠詳情

幫助反饋 APP下載

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

公眾號(hào)

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