2016-10-02 15 views
0

私がしようとしているのは、ユーザーからの単純な入力を私のPHPタグ内のechoを使ってプリントアウトすることですが、何らかの理由で動作しません。私はまだPHPの初心者ですので、誰でも私を助けることができれば、それは麻薬です。ここでPHPフォームの処理

は私のコードです:

<p> 
<form method="GET"> 
    <input type="text" name="firstname"> 
    <input type="submit" value="sub"> 
</form> 
</p> 


<?php 
    echo $_GET['firstname']; 
?> 

ファイルが.php拡張子で保存されており、現時点では、私はapacheを使って自分のコンピュータ上でローカルに実行していますよ。フォームのHTMLが表示されますが、submitボタンをクリックすると、入力された内容はechoではありません。 PHPタグ内のコードには行かないことは分かっていますが、そこに行く方法は不明です。

+0

「http://」でページにアクセスしていますか?あなたがソースを表示する場合は、PHPが存在する? – chris85

+0

'

'タグで 'action =" "'を試してください。 – Xufox

+0

PHPファイルが解析されていますか?静的ファイルではなく、サーバーを介してファイルを表示していることを確認してください。 – Terry

答えて

0

あなたがしたいがないかもしれない二つのものがあります:フォームアクション書き込みで

  1. <?php echo $_SERVER['PHP_SELF']; ?> PHP_SELFは、任意のを避けるために、フォームデータ

  2. と同じの.phpファイルにリダイレクトは、 POST変数が存在するかどうかをチェックするコードの最後の部分で、isset関数を使用します。

    <?php if(isset($_GET['firstname'])){ echo $_GET['firstname']; } ?>

+0

PHP_SELFが機能していないので、404エラーが発生しました – halapgos1

+0

私の悪いことは、編集した投稿を確認してください。ありがとう、それがあなたのために働く場合は投票を忘れないでください。 –

0

はあなたが意味しているアクションが必要になりますこれを終了するには、この:

<p> 
    <form method="GET" action="index.php"> 
    <input type="text" name="firstname"> 
    <input type="submit" name="submit" value="sub"> 
</form> 
</p> 

また、あなたはそれが送信ボタンをヒットするたびにフォームから結果を取得する場合は、その結果を印刷するためにその提出ボタンを押すたびにあなたが望むことをphpに "伝える"必要があります。最も簡単な方法は次のとおりです。

<?php 
    if(isset($_GET['submit'])) 
    { 
    echo $_GET['firstname']; 
    } 
?> 
+0

まだ動作していません。ローカルページで 'view source'をクリックしても表示されますが、PHPコードは実行されませんIDK WHY omg ...私は文字通りクレイジーなsmnになります – halapgos1

+0

私の提案は、ここで試してみてください。また、このコードを貼り付けているファイルの名前をindex.phpに変更することを忘れないでください – h3k