2017-09-08 6 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に行きます。彼はローカルホストのサーバー設定を確認する必要があったのは間違いありませんでした。 私はPHPコードを書くためにPhpstormを使用しています。私は結果を確認するためにChromeブラウザ上でクリックするたびに、それは

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

に私を取るポート63342はPhpstormが使用するデフォルトのポートです。私はXamppを使用していて、ポート8080で動作しています。ポート番号63342を8080に変更しました。

関連する問題