Php 如何使用if..else检查数字是否介于1和100之间
我想检查变量$gok是否在1和100之间,包括1和100 如果号码不符合要求,则必须显示错误消息。 我认为最好的检查方法是使用if..else语句,但我不知道如何以及在代码中放置此函数 这是我尝试使用的函数,但不起作用: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.
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";
}