我正在尝试在PHP中创建一个投票脚本,但我有一些语法错误。对于PHP来说,我真的很蠢,所以请善待......
如果没有设置,我的“doft”值是NaN吗?
if ( ! isset(int) $_POST["doft"] ){
$new_value_doft = $prev_value_doft + $doft;
$new_num_votes_doft = $prev_num_votes_doft + 1;
}
else{
$new_value_doft = $prev_value_doft + $doft;
$new_num_votes_doft = $prev_num_votes_doft;
}
答案 0 :(得分:1)
isset方法检查是否实际设置了变量或索引。你想像这样使用它
if( isset( $_POST["doft"] ) ) { }
或者,检查是否未设置
if( !isset( $_POST["doft"] ) ) { }
同时,您可以使用is_int方法确保/检查发布的值是否为整数:
if( isset( $_POST["doft"] ) && is_int( $_POST["doft"] ) ) { }
或者只使用is_numeric方法
if( isset( $_POST["doft"] ) && is_numeric( $_POST["doft"] ) ) { }
您的给定脚本应该如下所示:
if ( !isset( $_POST["doft"] ) ){
$new_value_doft = $prev_value_doft + $doft;
$new_num_votes_doft = $prev_num_votes_doft + 1;
}
else{
$new_value_doft = $prev_value_doft + $doft;
$new_num_votes_doft = $prev_num_votes_doft;
}
答案 1 :(得分:0)
使用PHP提供的is_numeric()功能
只是检查isset不会告诉您它是否是有效数字。
答案 2 :(得分:0)
您的if
声明无效。
看起来应该是这样的。
if (!isset($_POST['doft']))
您现在拥有的内容无效,因此语法错误。