2013-11-10 13 views
6

うわー、これは恥ずかしいです。これはちょうど別の退屈なウェブフォームと思われています。私は前にたくさん行ってきましたが、何らかの理由でこの特定の人が協力したくありません。私は何とか何かを逃していますか?私は何時間もこれを理解しようとしています。私は幸運なことなく、すべてのトラブルシューティングを試みたことを誓っています。単純なフォームは_POST経由でデータを送信しません

基本的には、$ _POST経由でPHPファイルに送信しようとしています。最終的にはAJAXを使用しますが、今はPOSTに馬鹿げたことさえできません。したがって、送信をクリックすると、正しいページに移動します。しかし、私はエラー "Undefined Index(私が$ _POST変数と呼ぶ行を指しています)。私はPHP側(signup1.php)のすべてをコメントアウトしています。今はすべてvar_dump($_POST);です。データとそれは_POSTから何かを得るisnt、愚かなことは空です。私は本当に問題がHTML側にあると思う。私は正確に私のコードを投稿します。それはスタイリングとレイアウトの目的のための余分なdivのトンを持っています。エラーの原因になっている場合に備えて、その中のすべてを保管しておいてください。もしあなたがたぶん私がブートストラップを使用していることに気付くかもしれません。しかし、誰が知っているのですか。

<form action="actions/signup1.php" method="post"> 
     <div class="row"> 
      <div class="col-md-6"> 
       <div class="form-group"> 
        <label for="name">Name:</label> 
        <input type="text" id="name" class="form-control" placeholder="John Smith"> 
       </div> 
      </div> <!-- end of name input column --> 
      <div class="col-md-6"> 
       <div class="form-group"> 
        <label for="phone">Phone Number:</label> 
        <input type="text" id="phone" class="form-control" placeholder="801-321-9876"> 
       </div> 
      </div> <!-- end of phone number input column --> 
     </div> <!-- end of first .row of inputs --> 

     <div class="row"> 
      <div class="col-md-6 column-sm-12"> 
       <div class="form-group"> 
        <label for="email">Email Address:</label> 
        <input type="text" id="email" class="form-control" placeholder="[email protected]"> 
       </div> 
      </div> <!-- end of email address input column --> 

      <div class="col-md-3 col-sm-6"> 
       <div class="form-group"> 
        <label for="city">City:</label> 
        <select id="city" class="form-control"> 
         <option>Las Vegas</option> 
         <option>Salt Lake City</option> 
         <option>I'll Choose a Default Later...</option> 
        </select> 
       </div> 
      </div> <!-- end of city dropdown --> 

      <div class="col-md-3 col-sm-6"> 
       <div class="form-group"> 
        <label for="type-of-phone">Type of Phone:</label> 
        <select id="type-of-phone" class="form-control"> 
         <option>iPhone</option> 
         <option>Android</option> 
         <option>Windows Phone</option> 
         <option>Blackberry</option> 
         <option>Other Cellphone</option> 
         <option>Landline</option> 
        </select> 
       </div> 
      </div> <!-- end of Smartphone Question Dropdown --> 
     </div> <!-- end of second .row of inputs --> 
     <div class="row"> 
      <div class="col-md-12"><input type="submit" value="Submit"></div> 
     </div> 
    </form> 

誰でも考えがあれば教えてください。私は私の髪を引っ張っています。夜間にデータベースに質問したり、AJAXで磨きをかけたりして問題を解決することができましたが、RAWデータを送信してもフォームを通過できません。非常にイライラ。誰かが問題を見ることができるように願っています。

これは、signup1.phpにリダイレクトされた後の私の正確なメッセージです(正しいページに移動します)。 PHP上では、$ _POST変数全体のVar_dumpがあります。

var_dump($_POST); 

そしてそれは、この私を示しています

​​

答えて

30

あなたがフォームフィールドにname属性を追加する必要があります。例えば

<input name="phone" type="text" id="phone" class="form-control" placeholder="801-321-9876"> 
+1

F $%#ing Worked!ああ、ありがとう。私はそれがこのような単純なものになるだろうと分かっていました。私は 'name'と' id'を混ぜ合わせていました。だから、ラベルの 'For =" "'を入力の 'name ='とマッチさせたい。次に、投稿は配列の 'name'を使用しなければなりません。 入手しました。まあ、私は決して再び間違いをすることはありません:)ありがとう。それは私に別の8分の正解を選択させません。私はすぐにそれをチェックします。再度、感謝します。 – jacurtis

+0

問題はありません!実際にラベルの "for"属性は、バインドしたい要素のIDに対応する必要があります。ラウンドと幸運を参照してください:) –

2

は、各inputタグを選択タグにname属性を追加してみてください。それはすべきです。

0

使用編集済みスクリプト:

<form action="actions/signup1.php" method="post"> 
     <div class="row"> 
      <div class="col-md-6"> 
       <div class="form-group"> 
        <label for="name">Name:</label> 
        <input type="text" id="name" name="name" class="form-control" placeholder="John Smith"> 
       </div> 
      </div> <!-- end of name input column --> 
      <div class="col-md-6"> 
       <div class="form-group"> 
        <label for="phone">Phone Number:</label> 
        <input name="phone" type="text" id="phone" class="form-control" placeholder="801-321-9876"> 
       </div> 
      </div> <!-- end of phone number input column --> 
     </div> <!-- end of first .row of inputs --> 

     <div class="row"> 
      <div class="col-md-6 column-sm-12"> 
       <div class="form-group"> 
        <label for="email">Email Address:</label> 
        <input type="text" name="email" id="email" class="form-control" placeholder="[email protected]"> 
       </div> 
      </div> <!-- end of email address input column --> 

      <div class="col-md-3 col-sm-6"> 
       <div class="form-group"> 
        <label for="city">City:</label> 
        <select id="city" name="city" class="form-control"> 
         <option>Las Vegas</option> 
         <option>Salt Lake City</option> 
         <option>I'll Choose a Default Later...</option> 
        </select> 
       </div> 
      </div> <!-- end of city dropdown --> 

      <div class="col-md-3 col-sm-6"> 
       <div class="form-group"> 
        <label for="type-of-phone">Type of Phone:</label> 
        <select id="type-of-phone" name="type-of-phone" class="form-control"> 
         <option>iPhone</option> 
         <option>Android</option> 
         <option>Windows Phone</option> 
         <option>Blackberry</option> 
         <option>Other Cellphone</option> 
         <option>Landline</option> 
        </select> 
       </div> 
      </div> <!-- end of Smartphone Question Dropdown --> 
     </div> <!-- end of second .row of inputs --> 
     <div class="row"> 
      <div class="col-md-12"><input type="submit" value="Submit"></div> 
     </div> 
    </form> 

出力:

enter image description here

0

HTMLフォームタグを使用してデータを投稿したい場合は、それを確認することができ、単に

print_r($_POST); 
0

てみてくださいあなたのあらゆる分野に名前をつけるまた、送信ボタンの名前を入力します。だからあなたの問題は解決されます。

1

他の誰かがこの問題を持っている場合*

私は正確に同じ問題がありました。私の問題は、フォーム要素にmethod = "post"属性を忘れてしまったことです。

関連する問題