PHP $ POST如果声明

时间:2013-04-25 09:50:51

标签: php facebook post

好吧,我所遇到的问题是我有一个简单的textarea应该将输入的内容发送到另一个页面,它应该在提交时说“Thanks”,如果没有输入则应该提示输入,但是,当我没有输入它仍然说'谢谢'

我相信它会很简单。这是我的index.php

中的代码
<form method="POST" action="translate.php">
<name="status" cols="50" rows="5">
What's on your mind?
</textarea><br>
<input type="submit" value="Translate my Status" />

和我的translate.php

<?php

$status = $_POST['status'];
if($status == ""){
echo "Please enter a status.";
}
else {
echo "Thanks";
}

?>

我尝试在index.php中使用上面的代码,但是'status'变量出错。

我问的是,我怎么会在主页上出现弹出错误,而不是重定向到translate.php

4 个答案:

答案 0 :(得分:2)

1.您忘了写textarea

<textarea name="status" cols="50" rows="5">
What's on your mind?
</textarea><br>

2.Textarea默认为What's on your mind?。所以你应该检查..

if(($status == "") || ($status == "What's on your mind?"))

3.试试echo $status以查看它实际包含的内容?

答案 1 :(得分:1)

 <form name="frm" method="POST" action="translate.php">
 <script language="javascript">
 function submitData()
 {
       if(document.frm.status.value == "")
          alert("Please enter a status.");
       else
          frm.submit();
 }
 </script>
 What's on your mind?
 <textarea name="status" cols="50" rows="5"></textarea><br>
 <input type="button" value="Translate my Status" onclick="submitData()"/>
 </form>

答案 2 :(得分:1)

if语句不合适,它实际上并不符合您的预期。 这是您的代码更新:

<form method="POST" action="translate.php">
<textarea name="status" cols="50" rows="5">
What's on your mind?
</textarea><br>
<input type="submit" value="Translate my Status" />
</form>

和你的translate.php

<?php
$status = $_POST['status'];
if(isset($status) && strlen($status)>0){
echo "Thanks";
}
else {
echo "Please enter a status.";
}
?>

答案 3 :(得分:0)

使用<textarea name="status" cols="50" rows="5">会不会更好。

您还为textarea设置了一个值,因此如果您不删除“您在想什么?”,则表示您通过状态发送该值,因此它不为空。

如果删除该值时仍显示“谢谢”,则可能还有其他问题。