Fout Warning: Division by zero

Status
Niet open voor verdere reacties.

eeyk

Terugkerende gebruiker
Lid geworden
28 mrt 2007
Berichten
1.232
wat betekend deze fout

Warning: Division by zero in /home/id02117/domains/crime-ware.nl/public_html/crime/detective.php on line 85


dit is line 85

$vind1 = 5/$uren;
 
Hier is het script

PHP:
<?php /* ------------------------- */

  include("_include-config.php");  if(! check_login()) {
    header("Location: login.php");
    exit;
  } 
    $dbres				= mysql_query("SELECT *,UNIX_TIMESTAMP(`signup`) AS `signup`,UNIX_TIMESTAMP(`online`) AS `online` FROM `[users]` WHERE `login`='$data->login'");
    $data				= mysql_fetch_object($dbres);/* ------------------------- */ ?>
<html>
<head>
<link rel="stylesheet" type="text/css" href="<?php print ($_COOKIE['v'] == 2) ? "css-v2.css" : "css-v1.css"; ?>">

</head>

<body style="; margin: 0px;"> 
<table width=100%>
<tr><td class="subTitle"><b>Detective</b></td></tr>
  <?php 
    mysql_query("UPDATE `[users]` SET `online`=NOW() WHERE `login`='{$data->login}'");
  
  $gn1            = mysql_query("SELECT *,UNIX_TIMESTAMP(`gevangenis`) AS `gevangenis`,0 FROM `[users]` WHERE `login`='$data->login'");
  $gn             = mysql_fetch_object($gn1);  if($gn->gevangenis + $gn->gevangenistijd > time()){
  $verschil1             = $gn->gevangenis + $gn->gevangenistijd - time() - 3600;
  $verschil              = date("H:i:s", "$verschil1");
 print <<<ENDHTML
  <tr><td class="mainTxt">
 <p align="center">
<img src="images/jail.jpg">
<br><font size="2"><b>Je zit in de gevangenis</b></font>
<br><font size="2"><b>Je word over $verschil seconden vrijgelaten</b></font></td></tr>
ENDHTML;
	}
	else{

$dbres       = mysql_query("SELECT *,UNIX_TIMESTAMP(`tijd`) AS `tijd`,0 FROM `[detective]`");
while($delete = mysql_fetch_object($dbres)){
$tijd             = $delete->tijd+$delete->uren*60*60-time();
if($tijd < 1){
mysql_query("DELETE FROM `[detective]` WHERE `id`='$delete->id'");
}
}

print <<<ENDHTML
<tr><td class="mainTxt">
<form method="POST">
	<p>&nbsp; uren:<select size="1" name="uren">
	<option selected value="1">1</option>
	<option value="2">2</option>
	<option value="3">3</option>
	<option value="4">4</option>
	<option value="5">5</option>
	</select>&nbsp;&nbsp;&nbsp; naam:<input type="text" name="naam" size="20">&nbsp;&nbsp;&nbsp; 
	prijs: $5,000 keer het aantal uren</p>
	<p><input type="submit" value="Huur" name="submit"></p></td></tr>
</form>
ENDHTML;



if(isset($_POST['submit'])) {
$naam          = $_POST['naam'];
$naam1         = mysql_query("SELECT * FROM `[users]` WHERE `login`='$naam'");
$naam1         = mysql_num_rows($naam1);

print "<tr><td class=\"mainTxt\">";


if($_POST['uren'] >= 6 || $_POST['uren'] < 1) {
           echo "<tr><td class=\"mainTxt\">Je actie is afgebroken omdat het als onveilig beschouwd wordt.</td></tr>";
           die();
           }

if($_POST['naam'] ==""){
print "Je moet wel een naam invullen.";
}
elseif($naam1 == 0){
print "De naam die je hebt ingevoerd bestaat niet.";
}
elseif($uren*5000 > $data->cash){
print "Zoveel geld heb je niet op zak.";
}

else{
$geld        = $uren*5000;
$vind1       = 5/$uren;
$vind1       = round($vind1);
$vind1       = rand(1,$vind1);
if($vind1 ==1) {
$vind        = rand(900,$uren*60*60);
}
else{
$vind        = 0;
}

mysql_query("INSERT INTO `[detective]` (`tijd`,`uren`,`zoeker`,`naam`,`status`,`vind`,`land`) values(NOW(),'$uren','$data->login','$naam','0','$vind','0')");
mysql_query("UPDATE `[users]` SET `cash`=`cash`-'$geld' WHERE `login`='$data->login'");
print "De detective is bezig met zoeken.";
}

print "</td></tr>";
}


if(isset($_POST['wis'])) {
$id               = $_POST['id'];
mysql_query("DELETE FROM `[detective]` WHERE `id`='$id'");
print "<tr><td class=\"mainTxt\">Je hebt de detective ontslagen.</td></tr>";
}


		print "	<tr><td><form method=\"post\">";
	print "	<table width=\"100%\"><tr><td width=10>&nbsp;</td>  <td class=\"mainTxt\" align=\"center\" width=185><i>Naam:</i></td>  <td class=\"mainTxt\" align=\"center\" width=199><i>Tijd bezig:</i></td>  <td class=\"mainTxt\" align=\"center\" width=153><i>Land:</i></td></tr>";


$detectives2        = mysql_query("SELECT *,UNIX_TIMESTAMP(`tijd`) AS `tijd`,0 FROM `[detective]` WHERE `zoeker`='$data->login'");

while($detectives = mysql_fetch_object($detectives2)) {
$tijd             = $detectives->tijd+$detectives->uren*60*60-time();
$tijd2            = $tijd-3600;
$tijd1            = date("H:i:s", "$tijd2");
$zoeker           = mysql_query("SELECT * FROM `[users]` WHERE `login`='$detectives->naam'");
$zoeker           = mysql_fetch_object($zoeker);
$land1         = Array("Bezig","Getto City","Getto Central","Getto zuit","Mayham Central","Griekenland","Australie","V.S.","");
$land          = $land1[$detectives->land];

if($detectives->tijd + $detectives->vind < time() && $detectives->vind !=0 && $detectives->status != 1){
mysql_query("UPDATE `[detective]` SET `land`='$zoeker->land', `status`='1' WHERE `id`='$detectives->id'");
mysql_query("INSERT INTO `[messages]`(`time`,`from`,`to`,`subject`,`message`) values(NOW(),'Detective','$data->login','Gevonden','De detective heeft iemand gevonden! Hij neemt automatisch ontslag wanneer de tijd om is.')"); 
}

if($detectives->tijd + $detectives->vind < time() && $detectives->vind !=0){
mysql_query("UPDATE `[detective]` SET `land`='$zoeker->land', `status`='1' WHERE `id`='$detectives->id'");
}

if($tijd <1){
mysql_query("DELETE FROM `[detective]` WHERE `id`='$detectives->id'");
}

if($detectives->status ==1){
$tijd1          = "Gevonden";
}

	print " <tr><td width=10><input type=\"radio\" name=\"id\" value=\"{$detectives->id}\"></td> <td class=\"mainTxt\" width=185>{$detectives->naam}</td>  <td class=\"mainTxt\"><b>{$tijd1}</b></td>  <td class=\"mainTxt\" width=153>{$land}</td></tr>";
	}
print " </table><input type=\"submit\" value=\"Ontslaan\" name=\"wis\"></form></td></tr>";

	
	}
	?>

</body>
</html>
 
Ik ga niet dat hele script doorkijken, maar je melding betekent in ieder geval dat $uren leeg of 0 is.
 
Waar BrEeZeR op doelt: iets delen door 0 gaat niet; je zult dus moeten afvangen of $uren niet gelijk aan 0 is :)
 
Inderdaad, maar ik wou dit dus stapje voor stapje duidelijk maken.

Leren zoeken waar de fout zit helpt je meer dan gelijk zeggen van: "Dit is de fout, los het op deze manier op".
 
Inderdaad, maar ik wou dit dus stapje voor stapje duidelijk maken.

Leren zoeken waar de fout zit helpt je meer dan gelijk zeggen van: "Dit is de fout, los het op deze manier op".

Klopt, maar als je "division bij zero" krijgt en de enige deling (division) die je doet is met $uren.. enfin, 'k geef je helemaal gelijk hoor :)
 
maar hij deeld niks door null hij Deeld de uren in 5

<option selected value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>

kan je kiesen tussen 1 - 5 uur zoeken naar dat lid
 
Volgens mij wordt van voor $uren nergens de waarde van $_POST['uren'] gegeven.
Deze is dus leeg....
 
Thanks hij werkt

Maar sinds wanneer is eiglijk dat je alles met

$uren = $_POST['uren'];

Moet weer geven want ik werk all 3jaar met php en dit moest vroeger nooit!
 
Altijd...

$uren is een variabele, die zonder de $_POST['uren'] geen waarde uit het formulier krijgt...

Ik zou dan je vorige scripts maar eens doornemen of het niet stiekem toch wel gebeurd =)
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan