2017-07-27 10 views
1

ここに私の問題を示すSSCCEがあります。ページの上部に$_GETが印刷されています。ページが最初にロードされるとき、空の配列Array()が印刷されることは理解できます。

ただし、formの属性はactionです。これは空の値です。つまり、ページ自体が送信されます。 methodの値はGETです。したがって、フォームはGETによって提出されます。フォームがGETして、ページ自体に提出されたときに

だから、今のページの上部に印刷された$_GET配列は空にすることはできません。ああ、そうです!それが問題です。

フォームが送信されると、ページの上部に印刷

  1. $_GET配列が空です。

  2. ?Array()は、URLに付加されます。たとえば、フォームの送信前に、ページのURLはhttp://localhost/Test/index.phpとなりました。フォームが、送信されたページをリロードし、URLがhttp://localhost/Test/index.php?

になった後に質問が、なぜですか?どのようにこれを修正するのですか?

<?php 
print_r($_GET);//check 
?> 

<!DOCTYPE html> 

<html> 

<head> 
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/materialize/0.100.1/css/materialize.min.css"/> 
    <script src="<script 
    src="http://code.jquery.com/jquery-3.2.1.js" 
    integrity="sha256-DZAnKJ/6XZ9si04Hgrsxu/8s717jcIzLy3oi35EouyE=" 
    crossorigin="anonymous"></script>"></script> 
    <script src="https://cdnjs.cloudflare.com/ajax/libs/materialize/0.100.1/js/materialize.min.js"></script> 
</head> 

<body> 
    <form action="" method="get"> 

     <div class="input-field"> 
      <input type="text" id="nameInput" class="validate" /> 
      <label for="nameInput">Name: </label> 
     </div> 


     <button type="submit" class="btn waves-light waves-effect">Submit Form</button> 

    </form> 
</body> 

</html> 
+1

'入力タイプ 'に'名前属性'がありません – Saty

+2

あなたはそのフォームでデータを送信していません。入力要素に 'name'属性を追加する必要があります。 – Oen44

+1

名前属性がありません – mehulmpt

答えて

5

ページの上部に印刷された$ _GET配列は空です。

あなたはそれが要求で送信されたキー/値のペアデータに付加するためinputname属性を提供する必要があるので、これは次のとおりです。

<input type="text" id="nameInput" class="validate" name="foo" /> 

?がに追加されますURL。たとえば、フォームの送信前に、ページのURLはhttp://localhost/Test/index.phpでした。フォームが送信されると、ページがリロードされ、URLはhttp://localhost/Test/index.php?

になります。これはGETリクエストの動作方法です。情報はapplication/x-www-form-urlencodedデータとしてURLに追加されます。

name属性がinputに追加して、あなたがリクエストを送信すると、URLはなります:

http://localhost/Test/index.php?foo=[value] 
1

あなたの入力には名前を持たないための$ _GETは空です。 "?"あなたがGETでフォームを送信するとき、デフォルトで置かれている:http://url.com?param1=value1&param2=value2& ...

0

はあなたのコードの構文エラーのいくつかの種類がありますか?

<script src="<script 
src="http://code.jquery.com/jquery-3.2.1.js" 
integrity="sha256-DZAnKJ/6XZ9si04Hgrsxu/8s717jcIzLy3oi35EouyE=" 
crossorigin="anonymous"></script>"></script> 

構文を最初に確認してください。

関連する問題