2013-05-28 60 views
0

好吧,所以我有一個非常基本的形式,曾經工作。PHP後變量不再工作

<form action="index.php#enquiry" method="post" id="quickform"> 
    <input type="hidden" name="submit" value="yes"> 
    <label class="labels">Name</label> 
    <input type="text" id="reqname" name="reqname" /><br/> 
    <label class="labels">Tel</label> 
    <input type="text" class="validate[required] input" name="num" id="valiphone" /><br/> 
    <label class="labels">Email</label> 
    <input type="email" class="custom[email] input" name="useremail" id="valiemail" />  
    <label class="labels">Enquiry</label> 
    <textarea id="textarea" rows="7" name="messtxt" class="validate[required]"></textarea> 
    <button type="submit" style="border: 0; background: transparent" id="sendButton" > 
    <img src="images/send.png" alt="submit" /> 
    </button> 
</form> 

這種自我提交,如果語句加載時應該打一個簡單的PHP:

if (isset($_POST['submit'])) { 

Do thing A 

}else{ 

Do thing B 

} 

事情永遠不會被執行。

我知道自己的提交和打PHP,因爲我可以重複一個字符串

我已經這樣做了一百萬次,我100%肯定這個腳本工作了前兩天,所以,除非我有些東西不能偶然看到。頁面沒有發佈時是否有可能出錯?服務器明智還是其他?我注意到我的上傳腳本存在類似的問題。

+0

你有未封閉的textarea標記 – Atber

+0

是一個複製和粘貼錯誤,它在實際腳本上關閉並更正了問題 – TryingToBeZen

+3

嘗試在$ _POST上運行var_dump()並查看獲得的結果。這至少會告訴你,如果沒有任何東西獲得POSTED或者其他事情是錯誤的。 – Funktr0n

回答

1

檢查您的.htaccess文件。可能是罪魁禍首。

+0

原來就是這個問題!幹得不錯! – pattyd

1

PHP $ _POST假設輸入到括號中的數據是元素的名稱。在你的情況你還沒有命名您的提交按鈕「提交」,這是你告訴PHP ...
只需更改按鈕,這樣的:

<button type="submit" style="border: 0; background: transparent" id="sendButton" name="submit"> 
    <img src="images/send.png" alt="submit" /> 
</button> 

我只是說name="submit"。你也應該擺脫名爲提交的隱藏輸入。這應該解決問題!

+2

他已經有一個隱藏的輸入名稱 – Funktr0n

+0

閱讀我的編輯...我也覆蓋了...現在看起來像一個不同的問題。 Thx指出了這一點! – pattyd