如何接受HTML表单中的整数值并将其保存在php变量中

时间:2018-04-05 04:11:39

标签: php html html5

这是我写的代码

<HTML>
<TITLE> "Student Details" </TITLE>
<body>
<form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
STUDENT NAME:<input type="text" name="sname">

<?php
class student
{
    public static $name="";
    public static $sclass=0;
    //settype($sclass , "integer");
}
if($_SERVER["REQUEST_METHOD"]=="POST")
{
    student::$name=$_POST['sname'];
    student::$name=trim(student::$name);
    if(!empty(student::$name))
    {
        if(student::$name != "GOUTAM")
   {
     echo "WRONG NAME ENTERED";
   }
    }
   else
   {
    "NAME IS EMPTY";
   }
}
?>
<br>
STUDENT CLASS:<input type="text" name="sclass">
<?php
if ($_SERVER["REQUEST_METHOD"]=="post")
 {

student::$sclass=filter_input(INPUT_POST,'sclass',FILTER_VALIDATE_INT);

    if(empty(student::$sclass))
     {
        echo  " CLASS IS EMPTY";
     }
     if(student::$sclass != 10)
     {
        echo "WRONG CLASS ENTERED";
     }
 }
 ?>
 <br>
<input type="submit"><br>
<?php echo student::$name;?>
<br>
<?php echo student::$sclass;?>
<br>
<input type="reset" name="RESET"><br> 

<?php
var_dump(student::$name);
var_dump(student::$sclass);
?>
</form>
</body>
</HTML>

在这个程序中,我接受学生的名字和他的班级,然后我将它与一些常数进行比较,这些常数将根据条件返回一些值。

但是,当我运行此代码并输入一个类(例如10)时,$ sclass的值不会改变,它仍为0.

`

3 个答案:

答案 0 :(得分:0)

你应该写

FILTER_VAR($_POST['sclass'],FILTER_VALIDATE_INT);
student::$sclass=$_POST['sclass'];

然后你应该做

答案 1 :(得分:0)

if ($_SERVER["REQUEST_METHOD"]=="post")行更改为

if ($_SERVER["REQUEST_METHOD"]=="POST") 

$_SERVER["REQUEST_METHOD"]此变量返回大写POST。这就是为什么不执行条件块的原因。

答案 2 :(得分:0)

if ($_SERVER["REQUEST_METHOD"]=="post")

应该是

if ($_SERVER["REQUEST_METHOD"]=="POST")

因为$_SERVER["REQUEST_METHOD"]始终包含UPPER CASE值。我想建议的其他事情是将int代码移到第一个if语句中。