2017-09-08 77 views
0

我想在表單提交後回顯一些內容。但是,當我點擊提交按鈕,似乎該頁面只是刷新自己,我沒有看到我寫在回聲部分的單詞。這裏是我的代碼:檢查表單是否有效不起作用

<?php 
if (isset($_POST['submit'])) { 
    echo "submitted"; 
} 

?> 
<h3>Post your form here</h3> 
<form method="post" action="<?php $_SERVER['PHP_SELF']; ?>"> 
    <label>Insert a title here</label><br> 
    <input name="title" type="text" placeholder="add a title"><br><br> 
    <label>Insert the body here</label><br> 
    <textarea name="body" placeholder="insert the body here "></textarea><br><br> 
    <input type="submit" value="submit" name="submit"><br> 
</form> 

我也嘗試通過刪除isset函數的代碼,但也沒有工作,要麼。

回答

2

在表單動作中,您錯過了回聲。

action="<?php echo $_SERVER['PHP_SELF']; ?>"

+0

仍然不起作用! – NinaDev

+0

我只是試着確切的代碼,工作正常。你可以啓用錯誤,看看你是否可以得到任何錯誤? 'error_reporting(E_ALL);' 'ini_set(「display_errors」,「On」);' –

+0

我應該在哪裏放置您指定的代碼? – NinaDev

1

這是工作代碼。我在我的機器上測試它。 爲什麼你不使用else語句來更好地測試它。 這裏是代碼。 注(請檢查您的本地主機服務器設置)

<?php 
if (isset($_POST['submit'])) { 
    echo "submitted"; 
    } 
else 
{ 
    echo "Not working"; 
    } 
?> 

<h3>Post your form here</h3> 
<form method="post" action="<?php $_SERVER['PHP_SELF']; ?>"> 
    <label>Insert a title here</label><br> 
    <input name="title" type="text" placeholder="add a title"><br><br> 
    <label>Insert the body here</label><br> 
    <textarea name="body" placeholder="insert the body here "></textarea><br> 
    <br> 
    <input type="submit" value="submit" name="submit"><br> 
    </form> 
0

如果您提交相同的頁面,你真的不需要定義一個動作。

相反的isset,使用!empty這樣

if(!empty($_POST['submit'])){ 
echo "success"; 
} 

我必須提請你注意的是,如果建議不工作,你應該調試你實際上是從表單POST接收什麼開始,使用:

<pre> 
<?php var_dump($_POST); ?> 
</pre> 

在你的php設置中打開錯誤報告也是調試的好開始。

1

其實這個功勞歸於@ashok。他說得對,我需要檢查本地主機服務器設置。 我正在使用Phpstorm編寫PHP代碼。每當我點擊Chrome瀏覽器看到的結果,它需要我

http://localhost:63342/ name of the file page. 

端口63342是Phpstorm使用的默認端口。由於我使用Xampp,並且它在端口8080上運行。我將端口號63342更改爲8080,並且它工作正常。