login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Fatal error + vragen

Offline Voldemort - 24/07/2005 16:15 (laatste wijziging 24/07/2005 17:07)
Avatar van VoldemortPHP ver gevorderde Ik krijg een fatal error . En ik weet niet wat er mis is.

Error:

Citaat:
Fatal error: Cannot use [] for reading in /home/harrypot/domains/harrypotter-dreuzels.com/public_html/versie22/site-account/duelleren/svp.php on line 278


En de code is:

  1. <?php
  2. $query3 = "SELECT `spreuken` FROM `leden` WHERE `id`='".$_COOKIE['id']."' && gebruikersnaam = '".$_COOKIE['gebruikersnaam']."'";
  3. $result3 = mysql_query($query3) or die(mysql_error());
  4. $fetch3 = mysql_fetch_array($result3);
  5.  
  6. $explode = explode(",", $fetch3['spreuk_beschr']);
  7. $explode2 = explode(",", $fetch3['spreuk_naam']);
  8.  
  9. $self = $_SERVER['PHP_SELF']."?svpduel=".$_GET['svpduel'];
  10. echo "<form method='post' action='".$self."'>
  11. <select name='spreuken'>
  12. <option value='kies'>Kies een spreuk!</option>";
  13.  
  14. echo "<option value='".$explode[]."'>$explode2[]</option>
  15. </select><br /><br />
  16. <input type='submit' name='vuren' value='Vuur!' />
  17. </form>";
  18. ?>


En lijn 278 is:

  1. <?php
  2. echo "<option value='".$explode[]."'>$explode2[]</option>
  3. ?>


Wat is er mis? (heb ff <?php ?> gezet voor de kleurtjes, sommige zijn door nogal gevoelig aan )


Vraag: Hoe kan ik het hoogste id uit een tabel halen?

14 antwoorden

Gesponsorde links
Offline Ontani - 24/07/2005 16:18
Avatar van Ontani Gouden medailleGouden medailleGouden medailleGouden medaille

-1
ge moet een waarde ingeven $explode[0] of $explode[1]
Offline Voldemort - 24/07/2005 16:22
Avatar van Voldemort PHP ver gevorderde Maar dan heb ik enkel het eerste resultaat van m'n explode, ik wil alle delen hebben.

Met delen bedoel ik: Deel 1: $explode[0], $explode[1]

En in een while kan ik de explode niet zetten, want dan heb ik 2 while's nodig voor hetzelfde resultaat.
Offline Ontani - 24/07/2005 16:25
Avatar van Ontani Gouden medailleGouden medailleGouden medailleGouden medaille

-1
  1. <?php
  2. for ($i=0;$i<count($explode); $i++) {
  3. echo "<option value='".$explode[$i]."'>$explode2[$i]</option><br />\n";
  4. }
  5. ?>
Offline Voldemort - 24/07/2005 16:54
Avatar van Voldemort PHP ver gevorderde Ok, die error is weg.

Nu heb ik een vraag toegevoegd: Hoe kan ik het hoogste id uit een tabel halen?
Offline Rens - 24/07/2005 16:56
Avatar van Rens Gouden medaille

Crew algemeen
SELECT id FROM <tabel> ORDER BY id DESC LIMIT 0, 1

ORDER BY id DESC = ordenen op ID, aflopend
LIMIT 0, 1 = limiet, 1 ophalen
Offline Voldemort - 24/07/2005 17:06
Avatar van Voldemort PHP ver gevorderde Die doet het, net nog ff, wrm werkt dit niet:

  1. $query3 = "UPDATE `leden`
  2. SET `hp` = `hp`-'".$afdoen_jij."',
  3. `mp`= `mp`-'10'
  4. WHERE `id`='".$_COOKIE['id']."'";
  5. $result3 = mysql_query($query3) or die(mysql_error());


Fout:

Citaat:
You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near ' `mp`= `mp`-10 WHERE `id`='1'' at line 2


Wat is er fout?
Offline Rens - 24/07/2005 17:11
Avatar van Rens Gouden medaille

Crew algemeen
Probeer deze eens:

  1. $query3 = "UPDATE leden SET hp=hp-".$afdoen_jij.", mp=mp-10 WHERE id=".$_COOKIE['id'];
Offline Voldemort - 24/07/2005 17:20
Avatar van Voldemort PHP ver gevorderde Helpt niet, de fout is:

Citaat:
You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near ' mp=mp-10 WHERE id=1' at line 1
Offline Maarten - 24/07/2005 17:25
Avatar van Maarten Erelid bevat die $afdoen_jij iets?
Offline Voldemort - 24/07/2005 17:34 (laatste wijziging 24/07/2005 18:05)
Avatar van Voldemort PHP ver gevorderde Normaal wel:

  1. if($fetch['duel_level'] == range(1,5))
  2. {
  3. $afdoen_jij = rand(1,25);
  4. }
  5. elseif($fetch['duel_level'] == range(5,10))
  6. {
  7. $afdoen_jij = rand(25,50);
  8. }
  9. elseif($fetch['duel_level'] == range(10,20))
  10. {
  11. $afdoen_jij = rand(50,200);
  12. }
  13. elseif($fetch['duel_level'] == range(20,30))
  14. {
  15. $afdoen_jij = rand(200,500);
  16. }
  17. elseif($fetch['duel_level'] == range(30,40))
  18. {
  19. $afdoen_jij = rand(500,1000);
  20. }
  21. elseif($fetch['duel_level'] == range(40,50))
  22. {
  23. $afdoen_jij = rand(1000,5000);
  24. }


En de fetch is dit:

  1. $query = "SELECT `duel_level`, `hp`, `mp` FROM `leden` WHERE `gebruikersnaam`='".$_COOKIE['gebruikersnaam']."'";
  2. $result = mysql_query($query) or die(mysql_error());
  3. $fetch = mysql_fetch_array($result);
Offline Sjaakmans - 25/07/2005 07:12
Avatar van Sjaakmans Nieuw lid Probeer het eens met die hp en mp buiten de query te halen bijv dit:
  1. <?
  2. $mpnieuw = $fetch['mp'] - 10;
  3. $hpnieuw = $fetch['hp'] - $afdoen_jij;
  4.  
  5. $query = "UPDATE leden SET hp = '".$hpnieuw."', mp = '".$mpnieuw."' WHERE id = '".$_COOKIE['id'];
  6.  
  7. mysql_query($query) or die(mysql_error());
  8. ?>
Offline Voldemort - 25/07/2005 17:28 (laatste wijziging 25/07/2005 19:54)
Avatar van Voldemort PHP ver gevorderde
  1. <?php
  2. $query = "SELECT `duel_level`, `hp`, `mp` FROM `leden` WHERE `gebruikersnaam`='".$_COOKIE['gebruikersnaam']."'";
  3. $result = mysql_query($query) or die(mysql_error());
  4. $fetch = mysql_fetch_array($result);
  5.  
  6. $query2 = "SELECT * FROM `svp_duels` WHERE `id`='".$_GET['svpduel']."'";
  7. $result2 = mysql_query($query2) or die(mysql_error());
  8. $fetch2 = mysql_fetch_array($result2);
  9.  
  10. if($fetch2['gebruikersnaam'] != $_COOKIE['gebruikersnaam'])
  11. {
  12. echo "Dit is jouw duel niet!";
  13. }
  14. else
  15. {
  16. echo "Het is jouw beurt om aan te vallen, selecteer je spreuk en vuur ze af op je tegenstander!<br /><br />
  17. <b>Jouw HP:</b> ".$fetch['hp']."<br />
  18. <b>Jouw MP:</b> ".$fetch['mp']."<br />
  19. <b>".$fetch2['monster']." zijn/haar HP:</b> ".$fetch2['hp'].".";
  20. if(isset($_POST['vuren']))
  21. {
  22. if($_POST['spreuken'] == "kies")
  23. {
  24. echo "Je moet een spreuk kiezen.";
  25. }
  26. else
  27. {
  28. if($_POST['spreuken'] == "Expelliarmus" && $fetch['duel_level'] == range(1,5))
  29. {
  30. $afdoen_monster = rand(1,25);
  31. }
  32. elseif($_POST['spreuken'] == "Expelliarmus" && $fetch['duel_level'] == range(5,10))
  33. {
  34. $afdoen_monster = rand(25,50);
  35. }
  36. elseif($_POST['spreuken'] == "Expelliarmus" && $fetch['duel_level'] == range(10,20))
  37. {
  38. $afdoen_monster = rand(50,200);
  39. }
  40. elseif($_POST['spreuken'] == "Expelliarmus" && $fetch['duel_level'] == range(20,30))
  41. {
  42. $afdoen_monster = rand(200,500);
  43. }
  44. elseif($_POST['spreuken'] == "Expelliarmus" && $fetch['duel_level'] == range(30,40))
  45. {
  46. $afdoen_monster = rand(500,1000);
  47. }
  48. elseif($_POST['spreuken'] == "Expelliarmus" && $fetch['duel_level'] == range(40,50))
  49. {
  50. $afdoen_monster = rand(1000,5000);
  51. }
  52. elseif($_POST['spreuken'] == "Diffindo" && $fetch['duel_level'] == range(1,5))
  53. {
  54. $afdoen_monster = rand(10,35);
  55. }
  56. elseif($_POST['spreuken'] == "Expelliarmus" && $fetch['duel_level'] == range(5,10))
  57. {
  58. $afdoen_monster = rand(35,60);
  59. }
  60. elseif($_POST['spreuken'] == "Expelliarmus" && $fetch['duel_level'] == range(10,20))
  61. {
  62. $afdoen_monster = rand(60,250);
  63. }
  64. elseif($_POST['spreuken'] == "Expelliarmus" && $fetch['duel_level'] == range(20,30))
  65. {
  66. $afdoen_monster = rand(250,600);
  67. }
  68. elseif($_POST['spreuken'] == "Expelliarmus" && $fetch['duel_level'] == range(30,40))
  69. {
  70. $afdoen_monster = rand(600,1300);
  71. }
  72. elseif($_POST['spreuken'] == "Expelliarmus" && $fetch['duel_level'] == range(40,50))
  73. {
  74. $afdoen_monster = rand(1300,6000);
  75. }
  76. elseif($_POST['spreuken'] == "Avada_Kedavra" && $fetch['duel_level'] == range(1,5))
  77. {
  78. $afdoen_monster = rand(1,50);
  79. }
  80. elseif($_POST['spreuken'] == "Avada_Kedavra" && $fetch['duel_level'] == range(5,10))
  81. {
  82. $afdoen_monster = rand(50,100);
  83. }
  84. elseif($_POST['spreuken'] == "Avada_Kedavra" && $fetch['duel_level'] == range(10,20))
  85. {
  86. $afdoen_monster = rand(100,500);
  87. }
  88. elseif($_POST['spreuken'] == "Avada_Kedavra" && $fetch['duel_level'] == range(20,30))
  89. {
  90. $afdoen_monster = rand(500,1000);
  91. }
  92. elseif($_POST['spreuken'] == "Avada_Kedavra" && $fetch['duel_level'] == range(30,40))
  93. {
  94. $afdoen_monster = rand(1000,5000);
  95. }
  96. elseif($_POST['spreuken'] == "Avada_Kedavra" && $fetch['duel_level'] == range(40,50))
  97. {
  98. $afdoen_monster = rand(5000,10000);
  99. }
  100.  
  101.  
  102.  
  103. if($fetch['duel_level'] == range(1,5))
  104. {
  105. $afdoen_jij = rand(1,25);
  106. }
  107. elseif($fetch['duel_level'] == range(5,10))
  108. {
  109. $afdoen_jij = rand(25,50);
  110. }
  111. elseif($fetch['duel_level'] == range(10,20))
  112. {
  113. $afdoen_jij = rand(50,200);
  114. }
  115. elseif($fetch['duel_level'] == range(20,30))
  116. {
  117. $afdoen_jij = rand(200,500);
  118. }
  119. elseif($fetch['duel_level'] == range(30,40))
  120. {
  121. $afdoen_jij = rand(500,1000);
  122. }
  123. elseif($fetch['duel_level'] == range(40,50))
  124. {
  125. $afdoen_jij = rand(1000,5000);
  126. }
  127.  
  128. $hppnieuw_jij = $fetch['hp'] - $afdoen_jij;
  129. $mpnieuw_jij = $fetch['mp'] - 10;
  130.  
  131. $query3 = "UPDATE `leden` SET `hp`='".$hpnieuw_jij."', `mp`='".$mpnieuw_jij."' WHERE `id`=".$_COOKIE['id'];
  132. $result3 = mysql_query($query3) or die(mysql_error());
  133.  
  134. $hpnieuw_mon = $fetch2['hp'] - $afdoen_monster;
  135.  
  136. $query4 = "UPDATE `svp_duels`
  137. SET `hp`= '".$hpnieuw_mon."'
  138. WHERE `id`='".$_GET['svpduel']."'";
  139. $result4 = mysql_query($query4) or die(mysql_error());
  140.  
  141. echo "<script language='JavaScript' type='text/javascript'>
  142. var Locatie = \"svp.php?actie=duelleren&svpduel=".$_GET['svpduel']."\";
  143. var Milliseconden = \"5000\";
  144. function Ga() { location.href = Locatie; }
  145. setTimeout(Ga,Milliseconden);
  146. </script>
  147. Jouw spreuk heeft je tegenstander ".$afdoen_monster." verzwakt en jij bent ".$afdoen_monster." hp verloren.";
  148.  
  149. }
  150. ?>




Die $afdoen_jij en $afdoen_monster willen niet werken.

De tabel leden, het hp wordt leeg en het mp gaat gwn - 10. En het hp van het monster veranderd niet.

Hoe komt dit?
Offline Ontani - 25/07/2005 20:00
Avatar van Ontani Gouden medailleGouden medailleGouden medailleGouden medaille

-1
zeker dat ze wel als integers zijn opgeslagen?
anders doe er eens:
$hppnieuw_jij = (int)$fetch['hp'] - (int)$afdoen_jij;
$mpnieuw_jij = (int)$fetch['mp'] - 10;
Offline Voldemort - 25/07/2005 20:08 (laatste wijziging 26/07/2005 21:21)
Avatar van Voldemort PHP ver gevorderde Geen verschil.

Fout gevonden of beter: Vernieuw gedaan.

Die range(1,5) enzo zat fout, dus:

  1. <?php
  2. if($_POST['spreuken'] == "Expelliarmus" && ($fetch['duel_level'] == 1 || $fetch['duel_level'] == 2 || $fetch['duel_level'] == 3 || $fetch['duel_level'] == 4 || $fetch['duel_level'] == 5))
  3. {
  4. $afdoen_monster = rand(1,25);
  5. }
  6. elseif($_POST['spreuken'] == "Expelliarmus" && ($fetch['duel_level'] == 5 || $fetch['duel_level'] == 6 || $fetch['duel_level'] == 7 || $fetch['duel_level'] == 8 || $fetch['duel_level'] == 9 || $fetch['duel_level'] == 10))
  7. {
  8. $afdoen_monster = rand(25,50);
  9. }
  10.  
  11. //Enzovoort, enzovoort
  12. ?>
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.303s