PHP fwrite 和变量 isset

PHP fwrite and variable isset

我在一个网站上工作,用户将在其中填写表格,表格将被打印到 .txt 文件中。

一切正常,但我想知道如何做到当用户将一个输入框留空时,它不会显示在文本文件中。

我的代码(index.php):

<form action="sendinfo.php" method="post">
Your Name:<br />
<input type="text" name="name"><br />
Your Message:<br />
<textarea name="message"></textarea><br />
<input type="submit" value="Send Info">
</form>

我的代码(sendinfo.php)

    <?php
    //variables
    $name = $_POST['name'] >
    $message = $_POST['message'] 

    //code i need to know
    if (!isset()){

    }
    ?>

    <?php
        //write text file.
        $file = fopen("Test.txt","w");
        fwrite($file, "Name: " . $name . "\r\n");
        fwrite($file, "Message: " . $message . "\r\n");
    ?>

你想的太复杂了。试试这个:

<?php

//variables
$name = $_POST['name'];
$message = $_POST['message']; 

//write text file.
$file = fopen("Test.txt","w");
if ($name) fwrite($file, "Name: " . $name . "\r\n");
if ($message) fwrite($file, "Message: " . $message . "\r\n");
?>

这样做的原因是 php 处理这种情况的方式:它会将表达式解析为 false "falsy",所以一个未设置的变量,一个空变量和一个变量包含 false 或 null。对于其他所有内容,表达式将解析为真,因此条目将被写入。