0

好的,所以我遇到的问题是我有一个简单的文本区域,应该将输入的内容发送到另一个页面,提交时应该说“谢谢”,如果没有输入,应该提示输入,但是,当我什么都不输入时它仍然说“谢谢”

我相信它会很简单。这是我的 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 中使用上述代码,但“状态”变量出现错误。

当我问时,我将如何在主页上出现弹出错误而不是重定向到 translate.php

4

4 回答 4

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看看它实际上包含什么?

于 2013-04-25T09:55:29.213 回答
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>
于 2013-04-25T09:59:01.493 回答
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.";
}
?>
于 2013-04-25T10:00:15.327 回答
0

带上岂不是更好<textarea name="status" cols="50" rows="5">

您还为 textarea 设置了一个值,因此如果您不删除“What's on your mind?”,这意味着您正在通过状态发送该值,因此它不为空。

如果在您删除该值时它仍然显示“谢谢”,则可能存在其他问题。

于 2013-04-25T09:56:06.657 回答