2013-04-25 87 views
0

好吧,所以我遇到的问题是,我有一个简单的textarea,应该发送什么输入到另一个页面,它应该说'谢谢'时提交,并应提示输入,如果没有但是,当我输入什么,它仍然说'谢谢'

我确定它会很简单。这是从我的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

+1

'如果((isset($ _ POST [ '状态']))&&($ _ POST [ '状态'] = ''))'感谢 – Waygood 2013-04-25 09:55:24

+0

,如果能够工作的话,会得到第一名,但现在无论我输入什么, – 2013-04-25 10:01:56

+2

都会要求您提供状态,因为Ashwini Agarwal建议您更新表格! – Waygood 2013-04-25 10:02:53

回答

2

1.You忘了写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.Try echo $status看到它实际上包含什么?

+0

我已经更改了textarea名称,只是为了查看是否导致问题。我已经添加了和如果但仍然只是说谢谢,当我什么也没有输入,“你在想什么? – 2013-04-25 09:59:45

+0

'增加了和如果不''和'它'或'。 – 2013-04-25 10:01:04

+1

对延迟感到抱歉。我接受了你的建议并删除了默认文本,并且我从if语句中删除了声明,说明或“你在想什么”,它的工作原理是完美的。非常感谢。 – 2013-04-25 18:40:54

0

<textarea name="status" cols="50" rows="5">会不会更好?

你也为textarea设置了一个值,所以如果你不删除“你在想什么?”,这意味着你通过状态发送该值,因此它不是空的。

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

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> 
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."; 
} 
?> 
+1

逻辑是错误的方式。说感谢,如果没有设置或空 – Waygood 2013-04-25 10:06:05

+0

更新,谢谢 – 2013-04-25 10:18:58