我正在测试我的我的Minecraft白名单,我有15个问题,问题的每个值必须=是,当我有6个问题条件(问题1 - 问题6)时,一切正常并且正常工作!但是当我添加超过6个条件(我需要15个条件值“是”)时,脚本无效
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Whitelist</title>
<style>
body
{
background-image: url('img/background.jpg');
background-repeat: no-repeat;
background-position: top left;
background-attachment: fixed;
}
</style>
</head>
<body font="Arial" background="img/background.jpg" background-repeat: "no-repeat" text="#ffffff">
<title>Chunk.cz - Whitelist</title>
</body>
<br><br>
<center><img src="img/chunk-whitelist.png">
<br><br>
<?php
$ip = 'xx.xx.xx.xx';
$question1 = $_POST['question1'];
$question2 = $_POST['question2'];
$question3 = $_POST['question3'];
$question4 = $_POST['question4'];
$question5 = $_POST['question5'];
$question6 = $_POST['question6'];
$question7 = $_POST['question7'];
$player = $_POST['player'];
if (!empty($_POST['player'])) {
if ($question1 == "yes" && $question2 == "yes" && $question3 == "yes" && $question4 == "yes" && $question5 == "yes" && $question6 == "yes" && $question7 == "yes") {
if(!in_array($param,$bad)) {
echo '<table width="700" background="img/stone.png">';
echo '<tr><td height="32" background="img/slab.png"></td></tr>';
echo '<tr><td><center><font size="5" color="#00ff33"><b>Byl si přidán na whitelist pod nickem:</b> ', $hrac;
echo '<br><b>IP serveru: </b>';
echo '', $ip;
echo '</font></center></td></tr><tr><td height="32" background="img/slab.png"></td></tr></table>';
$connect = mysql_connect("xx.xx.xx.xx","xxxxxx","xxxxxx");
if (!$connect)
{
die("NELZE SE PRIPOJIT DO DATABAZE! PROSIM OPAKUJTE POKUS POZDEJI. DEKUJI ZA POCHOPENI.");
}
$DB = mysql_select_db('chunk');
if(!$DB)
{
die("MySQL nemuze vybrat databazi!");
}
if(!mysql_query("INSERT INTO whitelist (name)
VALUES ('$player')"))
{
die("Zadost nebyla podana, nemuzeme se spojit s databazi. Omlouvame se, zkuste to pozdeji.)");
}
}
else { // Špatná odpovìï
echo '<table width="700" background="img/stone.png">';
echo '<tr><td height="32" background="img/slab.png"></td></tr>';
echo '<tr><td height="150"><center><font size="5" color="red"><b>Máš něco špatně, zkus to znova</b></font><br><br>';
echo '<input type=button onclick="history.back()" value="Zkusit znova">';
echo '</center></td></tr><tr><td height="32" background="img/slab.png"></td></tr></table>';
}
}
else {
echo '
<table width="700" background="img/stone.png">
<tr><td height="32" background="img/slab.png"></tr></td>
<form method="POST">
<tr><td>
<center>
Napiš svůj nick z minecraft.net:
<br><input type="text" name="hrac">
</center>
</td></tr>
<tr><td height="32" background="img/slab.png"></tr></td>
<tr>
', /* Zaèátek otázek */'
<tr><td><br><br>
<b>1. Co je to griefing?</b>
<br><input type="radio" name="question1" value="no"> To je příkaz pouze pro administrátory, množí si tak materiál.
<br><input type="radio" name="question1" value="no"> Group briefing - plugin na "schůze" v chatu - vytváří soukromé chatové kanály.
<br><input type="radio" name="question1" value="yes"> Úmyslné způsobování škody jiným hráčům jakýmkoliv způsobem. Obvykle jde o ničení staveb.
</td></tr>
<tr><td><br><br>
<b>2. Když se chci k někomu podívat do domu:</b>
<br><input type="radio" name="question2" value="no"> Pomocí bugu obejdu zamčené dveře, stejně nikdo nic nopozná.
<br><input type="radio" name="question2" value="yes"> Požádám majitele domu, jestli by mě dál nopozval.
<br><input type="radio" name="question2" value="no"> Nakouknu dovnitř tak, abych nomusel nic ničit, a pokud se mu to nolíbí, okamžitě odejdu.
<br><input type="radio" name="question2" value="ne"> Prokopu se dovnitř a díru zase zacpu.
</td></tr>
<tr><td><br><br>
<b>3. Jaké mody (modifikace hry) nejsou na serveru zakázané?</b>
<br><input type="radio" name="question3" value="ne"> Na serveru nejsou zakázané žádné mody.
<br><input type="radio" name="question3" value="ne"> X-ray.
<br><input type="radio" name="question3" value="yes"> Optifine, Minimapy.
<br><input type="radio" name="question3" value="ne"> Smart moving.
</td></tr>
<tr><td><br><br>
<b>4. Jakým příkazem zjistím, kolik mám zrovna peněz?</b>
<br><input type="radio" name="question4" value="ne"> Napíšu moderátorovi, on mi to řekne.
<br><input type="radio" name="question4" value="ne"> Na serveru nejsou žádné peníze, jen výměnný obchod.
<br><input type="radio" name="question4" value="ne"> /penize
<br><input type="radio" name="question4" value="yes"> /money
</td></tr>
<tr><td><br><br>
<b>5. K čemu především slouží redstone?</b>
<br><input type="radio" name="question5" value="yes"> K vytváření "elektrických drátů" v logických obvodech (například na připojení dveří na páku, která je otevře).
<br><input type="radio" name="question5" value="ne"> K ničemu, má jen zpomalovat kopání.
<br><input type="radio" name="question5" value="ne"> K výrobě nástrojů.
</td></tr>
<tr><td><br><br>
<b>6. Co je hlavním úkolem moderátorů?</b>
<br><input type="radio" name="question6" value="ne"> Stavět obří projekty.
<br><input type="radio" name="question6" value="ne"> Teleportovat hráče na požádání.
<br><input type="radio" name="question6" value="yes"> Dohlížet na dodržování pravidel ve hře.
<br><input type="radio" name="question6" value="ne"> Rozdávat bany lidem, kteří jim odporují nebo se jim nelíbí.
</td></tr>
<tr><td><br><br>
<b>7. Jak správně natěžím dřevo?</b>
<br><input type="radio" name="question7" value"ne"> Stačí dřevo na které dosáhnu, zbytek shnije.
<br><input type="radio" name="question7" value"ne"> Pokácím celý strom tak, aby nezůstalo vůbec žádné dřevo ani listí.
<br><input type="radio" name="question7" value"yes"> Vykácím všechno dřevo, listí nechám a namísto kmenu dám sazeničku.
<br><input type="radio" name="question7" value"ne"> Alespoň jeden kousek dřeva se musí nechat, aby strom dorostl.
</td></tr>
', /*
Pokud budete chtít pøidat další otázku, tak pøipište:
<tr><td><br><br>
<b>#. Nadpis Otázky:</b>
<br><input type="radio" name="question#" value"ne"> Špatná odpovìï
<br><input type="radio" name="question#" value"yes"> Správná odpovìï
<br><input type="radio" name="question#" value"ne"> Špatná odpovìï
</td></tr>
(všechny znaky "#" nahraïte poøadím otázky (napø pro 7. otázku èíslem 7))
(hodnota value mùže být yes/ne , u správné odpovìdi dejte yes (správná odpoveï mùže být pouze 1!))
*/'
', /* Konec otázek */'
<tr><td height="32" background="img/slab.png"><center><font color="red">Stisknutím tlačítka potvrzujete, že souhlasíte s <a href="http://www.chunk.cz/pravidla/">pravidly</a> serveru</font><br><input type="submit" value="Odeslat požadavek"></center></tr></td>
</tr>
</table>
</form>
';
}
?>
</center>
</html>
这是条件行
if ($question1 == "yes" && $question2 == "yes" && $question3 == "yes" && $question4 == "yes" && $question5 == "yes" && $question6 == "yes" && $question7 == "yes") {
当它是这样时,它起作用:
if ($question1 == "yes" && $question2 == "yes" && $question3 == "yes" && $question4 == "yes" && $question5 == "yes" && $question6 == "yes") {
但是当我添加更多条件时,它不起作用
if ($question1 == "yes" && $question2 == "yes" && $question3 == "yes" && $question4 == "yes" && $question5 == "yes" && $question6 == "yes" && $question7 == "yes" && $question8 == "yes" && $question9 == "yes" && $question10 == "yes" ..........) {
非常感谢你的帮助!这是为了我的英文恶习
答案 0 :(得分:0)
我不确定为什么添加更多条件会使您的代码无法正常工作,但您可以执行以下操作:
$answers=array('question1'=>yes,'question2'=>yes,'question3'=>no); //array of the answers received
$count=0;
$requiredCount=3;
foreach ($answers as $key=>$value){
if ($value=='yes'){
$count++;
}
}
if ($count==$requiredCount)
{
//process as valid
}else{
//process as not valid
}
当然,您需要在适当的位置标记以使您的代码更具可读性,唉,它们会被剥离出来。