Ik ben nu bezig met een script in mijn maffiagame waar je als famillie een wietplantage kan kopen, en dan per wietplantage om het uur 5 drugs kan genereren. Alleen nu lukt dat niet. Ik heb gedaan dat je eerst op een link moet klikken en dat je dan die 5 drugs x het aantal plantage's krijgt.

<?php
  include("config.php");
$dbres = mysql_query("SELECT * FROM `famillie` WHERE `name`='{$data->famillie}'");
$famillie = mysql_fetch_object($dbres);
$dbres = mysql_query("SELECT *,UNIX_TIMESTAMP(`fd`) AS `fd` FROM `famillie` WHERE `name`='{$_SESSION['name']}'");  
$data    = mysql_fetch_object($dbres);
  
  if(! check_login()) {
    header('Location: login.php');
    exit;
  }
?>
<html>
<head>
<link rel="stylesheet" type="text/css" href="style.css">
</head>
<body>
<table width=100%>
       <tr>
    <td class="subTitle"><b>Genereer Drugs</b></td>
  </tr>
  <tr><td>&nbsp;&nbsp;</td></tr>
  <tr>
    <td class="mainTxt">
<?php 
$afd = gmdate('i:s',($famillie->fd - time()));
if($famillie->fd - time() > 0) { echo "Hallo $data->login,<br>Over $afd kan je weer klikken voor 5 drugs per plantage die je hebt<br>Tot dan!"; echo "</table></table>"; exit; }
$dbres = mysql_query("SELECT * FROM `famillie` WHERE `name`='{$data->famillie}'");
$famillie = mysql_fetch_object($dbres);
$exist = mysql_num_rows($dbres);  
  $resultaat = $data->klikmissie; 
  $plantage = $famillie->plantage;
  $aantal = 5*$plantage;
  if($aantal = 0) { 
      echo "Je hebt geen Wietplantage.. Koop er eerst 1!"; exit;
  } 
else{ 
// bij a href linkje veranderd naar userid= in je eigen en voila
      echo "<a href=\"http://www.camille-niessen.nl/drugsnu.php\">Klik hier om 5 drugs te maken.<br><br></a>";
mysql_query("UPDATE `famillie` SET `drugs`=`drugs`+{$aantal} WHERE `login`='{$famillie->name}'"); 
mysql_query("UPDATE `famillie` SET `klikpunt`=`klikpunt`+0,`fd`=FROM_UNIXTIME($fdtijd),`drugs`=`drugs`+0 WHERE `name`='{$famillie->name}'");
} 
  ?>
</td></tr></table></body></html><?php mysql_close(); ?> 


Kan iemand zeggen wat ik fout heb gedaan?
Ja hoor, geen probleem: De topictitel fout, fouter, foutst.

Daarnaast doe je niks aan foutafhandeling, dan is het logisch dat je nu mag zoeken naar een speld in een hooiberg.

En backticks `, tja, wat valt daar over te zeggen... Hoeveel bugs wil je hebben?
Je hebt van alles fout gedaan. Te beginnen met het starten van een criminals....
Echter ben ik vandaag goed gehumeurd, dus ik zal je toch helpen, ondanks het feit dat het gaat om een criminals.

Enfin, ten eerste zou ik variabelen buiten de quotes halen. Ten tweede kun je die gore backtics ook wel weglaten.

Wat voor fout krijg je als je het script uitvoert?
Ten eerste: Verzin een betere titel
Ten Tweede: Zet je code tussen de code-tags
Ten Derde: Is dit weer zo'n crime-game?
Een idee: Zet een start-tijd in de database, en kijk hoeveel uren er tussen de start-tijd en de tijd nu zit. dan du je aantal uren * 5 en je hebt het aantal drugs
Ik heb even het hele script online gezet, alleen als ik op de link klik.. Word er geen drugs toegevoegd (en ja ik ben geen ervaren PHP scripter) dus wie weet waarom niet?
ben je aan de drugs?
verklaard wel je ignorance t.o.v. de suggesties
Script werkt niet
Het gaat de goede kant op, maar nog steeds 9999 van de 10000 topics die dit probleem ook hebben... Dit zegt dus wederom helemaal niks.
echo de query eens dus:

<?php
$sql = "UPDATE `famillie` SET `drugs`=`drugs`+{$aantal} WHERE `login`='{$famillie->name}'"; 
echo $sql;
mysql_query($sql) or die(mysql_error());
?>
Waarom loop je met exit; te klooien? Script gewoon netjes...
Backslashen is niet nodig wanneer je je echo met enkele quotes begint, en daarin werkt met dubbele.

if($aantal = 0) is geen vergelijking maar een toekenning. Als je aan $aantal 0 kunt toekennen, zal deze true teruggeven.

Je definieert 2x $famillie (wat overigens ook nog eens is fout geschreven). Waarom?

Waar is je foutafhandeling? Ik had van het niveau criminals op z'n minst or die() verwacht, maar zelfs díé ontbreekt....

@Tom: zelfs in een voorbeeldje/testscriptje hoor je geen or die() te gebruiken! Je 'doodt' geen pagina om er tekst neer te zetten. Tekst echo of print je.
ik gebruik het zo altijds, hoe kun je anders de error weergeven
ok thanx! werkt nu wel ;)

Reageren