Php 如何使用if..else检查数字是否介于1和100之间

Php 如何使用if..else检查数字是否介于1和100之间,php,if-statement,Php,If Statement,我想检查变量$gok是否在1和100之间,包括1和100 如果号码不符合要求,则必须显示错误消息。 我认为最好的检查方法是使用if..else语句,但我不知道如何以及在代码中放置此函数 这是我尝试使用的函数,但不起作用: if ($gok > 1 && $gok < 100) { } else { echo 'getal tussen 1 en 100 aub'; } 这是我的index.

我想检查变量$gok是否在1和100之间,包括1和100

如果号码不符合要求,则必须显示错误消息。 我认为最好的检查方法是使用if..else语句,但我不知道如何以及在代码中放置此函数

这是我尝试使用的函数,但不起作用:

        if ($gok > 1 && $gok < 100) { 
        } else {
            echo 'getal tussen 1 en 100 aub';           }
这是我的index.php:

<?php
date_default_timezone_set('UTC');
include_once 'core/db_connect.php';
include_once 'inc/head.php';
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
    $geboortedatum = $_POST['geboortedatum'];
    $leeftijd = date('Y-m-d') - $geboortedatum;
    if ($leeftijd > 17) {
        $roepnaam = $_POST['roepnaam'];
        $achternaam = $_POST['achternaam'];
        $aantal = $_POST['aantalRondes'];
        $inzet = $_POST['inzet'];
        $gok = $_POST['gokgetal'];
        $ipRonde = $inzet / $aantal;
        $gokArray = Array();

        $sql = "INSERT INTO user (achternaam, roepnaam, geboortedatum, gokgetal, inzet) VALUES ('$achternaam', '$roepnaam', '$geboortedatum', '$gok', 
        '$inzet')";
        if (mysqli_query($conn, $sql)) {
        } else {
            echo "Error: " . $sql . "<br>" . mysqli_error($conn);
        }
                echo '<p>Beste '.$roepnaam.'<br />
                Je inzet bedraagt € '. $ipRonde .' per ronde <br />
                Je hebt in totaal € '. $inzet .' betaald <br />
                Jouw kansen gaan nu beginnen!</p>';
        echo '<table>
                <tr>
                    <td>Ronde</td>
                    <td>Gokgetal</td>
                    <td>Echt getal</td>
                    <td>Prijs</td>
                    </tr>';
        $i = 1;
        $raak = 0;
        $totprijs = 0;
        $random = Array();
        $sql = "SELECT user_id
                FROM user
                WHERE roepnaam = '$roepnaam'
                AND geboortedatum = '$geboortedatum'
                AND gokgetal = '$gok'";
        $result = $conn->query($sql);
        $row = $result->fetch_assoc();
        echo $row['user_id'];
        while($i <= $aantal) {
            $random[$i] = mt_rand(1, 100);
            echo '<tr><td>'.$i.'</td>';
            echo '<td>'.$gok.'</td>';
            echo '<td>'.$random[$i].'</td>';
            if($random[$i] == $gok){
                $raak++;
                switch ($raak) {
                    case 1:
                        $prijs = 3*$aantal*$inzet;
                        break;
                    case 2:
                        $prijs = 2*$aantal*$inzet;
                        break;

                    default:
                        $prijs = 10*$inzet;
                        break;
                }
                $totprijs += $prijs;
                echo '<td>€ '.$prijs.'</td>';
            } else {
                echo '<td>€ 0</td>';
            }
            echo '</tr>';
            $i++;
        }
        echo '</table>';
        if ($totprijs > 0) {
            echo '<p>Wauuw!! Je hebt maar liefst € ' . $totprijs . ' gewonnen!!</p>';
        } else {
            echo '<p>Och wat jammer, wat en pech!! Volgende keer wint u zeker!!</p>';
        }


    } else {
        echo '<p>Helaas, je bent niet 18 jaar of ouder!</p>';   
    }
} else {
    include_once 'inc/formulier.php';
}
include_once 'inc/footer.php';

如果包含1和100,则应使用>=和如果必须包含1和100,则必须用>=和替换>,以检查变量范围,您可以使用以下条件

$myValue = 10;
$minValue = 1;
$maxValue = 10;

if ($myValue >= $minValue && $myValue <= $maxValue) { 
     echo "matched";
} else {
     echo "not matched";
}

谢谢你的更正。您还知道将这段代码放在我的index.php中的什么位置吗,因为我没有任何线索“包含”在Php中有点模棱两可。最好说包含范围或类似的内容。@Progrock:是的,这是引用问题1和包含的100我会更新我按照你的要求做的,但即使$gok超出范围,它仍会保存在数据库中。如果你的regexp中的数字不是整数,会发生什么?显然是整数
if ($gok >= 1 && $gok <= 100) { 
          echo 'ok';
} else {
          echo 'getal tussen 1 en 100 aub';
}
if (preg_match('^[1-9][0-9]?$|^100$', $gok)) {
    echo 'ok';
} else {
    echo 'getal tussen 1 en 100 aub';
}
$myValue = 10;
$minValue = 1;
$maxValue = 10;

if ($myValue >= $minValue && $myValue <= $maxValue) { 
     echo "matched";
} else {
     echo "not matched";
}