ここに私の問題を示すSSCCEがあります。ページの上部に$_GET
が印刷されています。ページが最初にロードされるとき、空の配列Array()
が印刷されることは理解できます。
ただし、form
の属性はaction
です。これは空の値です。つまり、ページ自体が送信されます。 method
の値はGET
です。したがって、フォームはGETによって提出されます。フォームがGETして、ページ自体に提出されたときに
だから、今のページの上部に印刷された$_GET
配列は空にすることはできません。ああ、そうです!それが問題です。
フォームが送信されると、ページの上部に印刷
$_GET
配列が空です。?
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>
'入力タイプ 'に'名前属性'がありません – Saty
あなたはそのフォームでデータを送信していません。入力要素に 'name'属性を追加する必要があります。 – Oen44
名前属性がありません – mehulmpt