需要检查才能在php中输入浮点数?

I want to validate and that the user only enters float number in the text field such as 3.4. I need to check only the $value1 and $value2 in this case using php.

libraryForm.php

<form action="savelibscores.php" method="POST">
S3: <input class="inputfield" type="text" name="s3" size="5"> <br /><br/>
S4: <input class="inputfield" type="text" name="s4" size="5"> <br /><br/>
<b>Year:<b/>
<select name="year"> 
<option value="Choose">Please select..</option>
<option value="2005">2005</option> 
<option value="2006">2006</option>
<option value="2007">2007</option>
<option value="2008">2008</option>
<option value="2010">2010</option>
<option value="2011">2011</option>
<option value="2012">2012</option></select><br/><br/>

<br/>
<input type="submit" value="Save" name="submit">
<input type="reset" name="reset" value="Clear"><br /><br/>

</form>

savelibscores.php

<?php

 define('DB_NAME','');
 define('DB_USER','');
 define('DB_PASSWORD','');
 define('DB_HOST','localhost');

 $connect = mysql_connect(DB_HOST,DB_USER,DB_PASSWORD);

 if(!$connect){
      die('Could not connect:'.mysql_error());
 }

 $db_selected=mysql_select_db(DB_NAME,$connect);

 if(!$db_selected){
    die('Can\'t use'.DB_NAME.':'.mysql_error());
 }

 if(isset($_POST['submit'])){
    $value1=$_POST['s3'];
    $value2=$_POST['s4'];
   $value3=$_POST['year'];
 if(!empty($value1) && !empty($value2) && !empty($value3)){
       $sql=mysql_query("INSERT INTO `library`(s3,s4,year) VALUES ('".$value1."','".$value2."','".$value3."')")or die(mysql_error());
}
   else{
    echo "Please fill all the fields.";
   }
}
?>

You have a couple of options ..

is_float() function

filter_var() function, with the FILTER_VALIDATE_FLOAT filter as second argument.

floatval() or the (float) cast before your variable name.

The first two will check wether or not it's a float, and the third one will convert whatever you give it to a float. I like to use the filter_var() function as it makes the code clear, and it,s also very useful to verify all sort of things (emails adress, IP adress, URL, etc).

Try this:

<input type="number" step="0.1">

Check this post for more details.