2013-04-25 89 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