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。对于其他所有内容,表达式将解析为真,因此条目将被写入。
我在一个网站上工作,用户将在其中填写表格,表格将被打印到 .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。对于其他所有内容,表达式将解析为真,因此条目将被写入。