2017-03-21 6 views
0

PHPを使用してHTMLページの中に何かを入力したかどうかを確認しようとしていますが、何らかの理由でテストしても何も表示されません。ユーザ入力を確認するときにPHPがHTMLと連携しない

... 
    <form> 
     <label for="age">Enter your age: </label> 
     <input type="text" name="age" id="age"> 
     </br></br> 
     <input type="button" name="submit" id="submit" value="submit"> 
    </form> 
</body> 

<?php 
    $theAge; 
    if(isset($_GET["submit"])){ 
     $theAge = $_GET["age"]; 

     if($theAge == "") 
     { 
      echo("<p>Please enter an age</p>"); 
      } 
?> 
</html> 

答えて

0

あなたの入力に:あなたは(あなたがいけない)PHPの古いバージョンを使用している場合は、この行を変更する必要があります - 彼の用途のPHP 7.xの表記があること

注意タイプはボタンではなくサブミットする必要があります。

<html> 
<script src="https://code.jquery.com/jquery-3.2.0.min.js"></script> 
<body> 

<form> 
     <label for="age">Enter your age: </label> 
     <input type="text" name="age" id="age"> 
     </br></br> 
     <input type="submit" name="submit" id="submit" value="submit"> 
</form> 
</body> 
</html> 
+0

はいこれが機能しました!私は先生が持っていたことを正確に試していたので、私は混乱しました。あなたがそれを言った後、私は彼女も提出を使用して気づいた。ありがとうございました! – Programmer

0

まず、フォームにメソッドを設定していないので、チェックは重複しており、実際には機能していません。まず、GETまたはPOSTをするかどうかを決定する必要があります。

<form method="POST" action="#"> 
    <label for="age">Enter your age: </label> 
    <input type="text" name="age" id="age"> 
    <input type="button" name="submit" id="submit" value="submit"> 
</form> 
<?php 
if(isset($_POST['submit'])){ 
    $theAge = $_POST['age'] ?? ''; 

    if($theAge == '') { 
     echo('<p>Please enter an age</p>'); 
    } else { 
// do something here 
    } 
?> 

GETを使いたい場合は、コード内のPOSTをGETに変更してください。 $theAge = $_POST['age'] ?? '';$theAge = isset($_POST['age']) ? $_POST['age'] : '';

関連する問題