如何使用if..else检查数字是否在1到100之间

时间:2017-05-19 08:27:48

标签: php if-statement

我想检查变量$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';

3 个答案:

答案 0 :(得分:1)

如果是(包括1和100)那么你应该使用&gt; =和&lt; =

if ($gok >= 1 && $gok <= 100) { 
     // do something
}
else 
{  
    echo 'getal tussen 1 en 100 aub';   
}

答案 1 :(得分:0)

如果必须包含1和100,则必须更换&#34;&gt;&#34; by&#34;&gt; =&#34;和&#34;&lt;&#34; by&#34;&lt; =&#34;

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';
}

答案 2 :(得分:0)

要检查您的变量范围,您可以使用条件

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

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