Ik heb een script geschreven en nu geeft hij een fout aan. Dit komt doordat ik hem laat controleren of hij wel genoeg energie heeft maar er komt een rare fout. Weet iemand hem?
<?php
if ($action != crime) {
print "<tr>";
print "<td>";
print "<form>";
print "De misdaden werken nog niet goed. En als ik merk dat je in de min staat zit je voor een week in de gevangenis!<p>Selecteer welke misdaad je wilt doen:<br>";
print "<br>";
print "<table>";
print "<tr>";
print "<td width=200><b>Misdaad</font></b></td>";
print "<td width=60><b>Kans</font></b></td>";
print "<td width=10><b>Energie</font></b></td>";
print "<td width=50><b>Opties</font></b></td>";
print "</tr>";
print "<tr>";
print "<td width=200>Steel snoep van een kind.</td>";
print "<td width=60>0%</td>";
print "<td width=10>1</td>";
print "<td width=50><INPUT TYPE=radio NAME=get_money value=1></td>";
print "</tr>";
print "<tr>";
print "<td width=200>Beroof iemand op straat.</td>";
print "<td width=60>0%</td>";
print "<td width=10>1</td>";
print "<td width=50><INPUT TYPE=radio NAME=get_money value=2></td>";
print "</tr>";
print "<tr>";
print "<td width=200>Beroof een supermarkt.</td>";
print "<td width=60>0%</td>";
print "<td width=10>1</td>";
print "<td width=50><INPUT TYPE=radio NAME=get_money value=3></td>";
print "</tr>";
print "<tr>";
print "<td width=200>Beroof iemand bij een pinautomaat.</td>";
print "<td width=60>0%</td>";
print "<td width=10>1</td>";
print "<td width=50><INPUT TYPE=radio NAME=get_money value=4></td>";
print "</tr>";
print "<tr>";
print "<td width=200>Gijzel een belangrijk zakenman.</td>";
print "<td width=60>0%</td>";
print "<td width=10>1</td>";
print "<td width=50><INPUT TYPE=radio NAME=get_money value=5></td>";
print "</tr>";
print "</table>";
print "<br>";
print "<INPUT TYPE=submit value=Start!><P>";
} else {
if ($stat[energy] <= .3) {
print "Je hebt niet genoeg energie om de te stelen.";
} else {
$get_money = get_money;
}
if ($get_money == 1) {
$gain = rand(1,10);
print "Het is gelukt!Je hebt het snoep verkocht en het leverde je $gain euro op!";
mysql_query("update players set energy=energy-1 where id=$stat[id]");
mysql_query("update paying set energy=energy-1 where id=$stat[id]");
mysql_query("update players set credits=credits+$gain where id=$stat[id]");
mysql_query("update paying set credits=credits+$gain where id=$stat[id]");
}
if ($get_money == 2) {
$gain = rand(50,100);
print "Het is gelukt! Het leverde je $gain euro op!";
mysql_query("update players set energy=energy-1 where id=$stat[id]");
mysql_query("update paying set energy=energy-1 where id=$stat[id]");
mysql_query("update players set credits=credits+$gain where id=$stat[id]");
mysql_query("update paying set credits=credits+$gain where id=$stat[id]");
}
if ($get_money == 3) {
$gain = rand(100,250);
print "Het is gelukt! Het leverde je $gain euro op!";
mysql_query("update players set energy=energy-1 where id=$stat[id]");
mysql_query("update paying set energy=energy-1 where id=$stat[id]");
mysql_query("update players set credits=credits+$gain where id=$stat[id]");
mysql_query("update paying set credits=credits+$gain where id=$stat[id]");
}
if ($get_money == 4) {
$gain = rand(150,350);
print "Het is gelukt! Het leverde je $gain euro op!";
mysql_query("update players set energy=energy-1 where id=$stat[id]");
mysql_query("update paying set energy=energy-1 where id=$stat[id]");
mysql_query("update players set credits=credits+$gain where id=$stat[id]");
mysql_query("update paying set credits=credits+$gain where id=$stat[id]");
}
if ($get_money == 5) {
$gain = rand(450,800);
print "Het is gelukt! Het leverde je $gain euro op!";
mysql_query("update players set energy=energy-1 where id=$stat[id]");
mysql_query("update paying set energy=energy-1 where id=$stat[id]");
mysql_query("update players set credits=credits+$gain where id=$stat[id]");
mysql_query("update paying set credits=credits+$gain where id=$stat[id]");
}
print "</form>";
print "</td>";
include("footer.php"); ?>
print"De misdaden werken nog niet goed. En als ik merk dat je in de min staat zit je voor een week in de gevangenis!<p>Selecteer welke misdaad je wilt doen:<br>";
In dat stukje dat jij had verbeterd heb ik geprobeert en hij gaf dezelfde fout aan. Op dat moment dat ik het stukje weg laat dat hij controleert doet hij het. Zonder geeft hij aan dat de fout in de laatste regel zit met openen van een navigatie bar.
<?PHP
ERROR_REPORTING(E_ALL);
if ($_SERVER['REQUEST_METHOD'] != "POST")
{
?>
<tr>
<td>
<form method="post" action="<?=$_SERVER['PHP_SELF'];?>">
De misdaden werken nog niet goed. En als ik merk dat je in de min staat zit je voor een week in de gevangenis!<p>Selecteer welke misdaad je wilt doen:<br>
<br>
<table>
<tr>
<td width=200><b>Misdaad</font></b></td>
<td width=60><b>Kans</font></b></td>
<td width=10><b>Energie</font></b></td>
<td width=50><b>Opties</font></b></td>
</tr>
<tr>
<td width=200>Steel snoep van een kind.</td>
<td width=60>0%</td>
<td width=10>1</td>
<td width=50><INPUT TYPE=radio NAME=get_money value=1></td>
</tr>
<tr>
<td width=200>Beroof iemand op straat.</td>
<td width=60>0%</td>
<td width=10>1</td>
<td width=50><INPUT TYPE=radio NAME=get_money value=2></td>
</tr>
<tr>
<td width=200>Beroof een supermarkt.</td>
<td width=60>0%</td>
<td width=10>1</td>
<td width=50><INPUT TYPE=radio NAME=get_money value=3></td>
</tr>
<tr>
<td width=200>Beroof iemand bij een pinautomaat.</td>
<td width=60>0%</td>
<td width=10>1</td>
<td width=50><INPUT TYPE=radio NAME=get_money value=4></td>
</tr>
<tr>
<td width=200>Gijzel een belangrijk zakenman.</td>
<td width=60>0%</td>
<td width=10>1</td>
<td width=50><INPUT TYPE=radio NAME=get_money value=5></td>
</tr>
</table>
<br>
<INPUT TYPE=submit value=Start!><P>
</form>
</td>
<?PHP
} else
{
if ($stat['energy'] <= .3)
{
echo "Je hebt niet genoeg energie om te stelen.";
} else
{
if(IsSet($_POST['get_money']))
{
if ($get_money == 1)
{
$gain = rand(1,10);
echo "Het is gelukt!Je hebt het snoep verkocht en het leverde je ".$gain." euro op!";
} else if ($get_money == 2)
{
$gain = rand(50,100);
echo "Het is gelukt! Het leverde je ".$gain." euro op!";
} else if ($get_money == 3)
{
$gain = rand(100,250);
echo "Het is gelukt! Het leverde je ".$gain." euro op!";
} else if ($get_money == 4) {
$gain = rand(150,350);
echo "Het is gelukt! Het leverde je ".$gain." euro op!";
} else if ($get_money == 5)
{
$gain = rand(450,800);
echo "Het is gelukt! Het leverde je ".$gain." euro op!";
}
if(!mysql_query("update players set energy=energy-1 where id=".$stat['id']))
{
echo MySQL_Error()."<BR>".MySQL_Errno();
}
if(!mysql_query("update paying set energy=energy-1 where id=".$stat['id']))
{
echo MySQL_Error()."<BR>".MySQL_Errno();
}
if(!mysql_query("update players set credits=credits+".$gain." where id=".$stat['id']))
{
echo MySQL_Error()."<BR>".MySQL_Errno();
}
if(!mysql_query("update paying set credits=credits+".$gain." where id=".$stat['id']))
{
echo MySQL_Error()."<BR>".MySQL_Errno();
}
} else
{
echo "Niet opgegeven wat je wilt beroven!<BR>";
}
}
}
include("footer.php");
?>
De misdaden werken nog niet goed. En als ik merk dat je in de min staat zit je voor een week in de gevangenis!<p>Selecteer welke misdaad je wilt doen:<br>
<?php
if(isSet($_POST['get_money']))
{
switch($_POST['get_money'])
{
case 1:
echo 'Het is gelukt! Je hebt het snoep verkocht en het leverde je ' . rand(1, 10) . ' euro op!';
break;
case 2:
echo 'Het is gelukt! Het leverde je ' . rand(50, 100) . ' euro op!';
break;
}
}
?>
echo'Het is gelukt! Je hebt het snoep verkocht en het leverde je '.rand(1,10).' euro op!';
break;
case2:
echo'Het is gelukt! Het leverde je '.rand(50,100).' euro op!';
break;
}
}
?>
Je kunt uiteraard nog meer case toevoegen. Als else geldt default. Laatstgenoemde wordt echter niet afgesloten met een break.
Verder: gebruik consequent superglobals waar dat verwacht wordt. Als je eerst $_POST['get_money'] gebruikt, moet je later niet zomaar $get_money gebruiken.
Maak niet onnodig variabelen aan. Dingen die je 1 keer gebruikt, hoef je in principe niet in een variabele te stoppen.
Als je een random inhoud maakt, die ook in je database geplaatst wordt, dan heb je wel een variabele nodig natuurlijk, omdat je anders verschillende waarden krijgt.