Fatal error + vragen
Voldemort - 24/07/2005 16:15 (laatste wijziging 24/07/2005 17:07)
PHP 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:
<?php
$query3 = "SELECT `spreuken` FROM `leden` WHERE `id`='".$_COOKIE['id']."' && gebruikersnaam = '".$_COOKIE['gebruikersnaam']."'";
$result3 = mysql_query($query3) or die(mysql_error());
$fetch3 = mysql_fetch_array($result3);
$explode = explode(",", $fetch3['spreuk_beschr']);
$explode2 = explode(",", $fetch3['spreuk_naam']);
$self = $_SERVER['PHP_SELF']."?svpduel=".$_GET['svpduel'];
echo "<form method='post' action='".$self."'>
<select name='spreuken'>
<option value='kies'>Kies een spreuk!</option>";
echo "<option value='".$explode[]."'>$explode2[]</option>
</select><br /><br />
<input type='submit' name='vuren' value='Vuur!' />
</form>";
?>
<?php
$query3 = "SELECT `spreuken` FROM `leden` WHERE `id`='" . $_COOKIE [ 'id' ] . "' && gebruikersnaam = '" . $_COOKIE [ 'gebruikersnaam' ] . "'" ;
$explode = explode ( "," , $fetch3 [ 'spreuk_beschr' ] ) ; $explode2 = explode ( "," , $fetch3 [ 'spreuk_naam' ] ) ;
$self = $_SERVER [ 'PHP_SELF' ] . "?svpduel=" . $_GET [ 'svpduel' ] ;
echo "<form method='post' action='" . $self . "'> <select name='spreuken'>
<option value='kies'>Kies een spreuk!</option>" ;
echo "<option value='" . $explode [ ] . "'>$explode2 []</option> </select><br /><br />
<input type='submit' name='vuren' value='Vuur!' />
</form>" ;
?>
En lijn 278 is:
<?php
echo "<option value='".$explode[]."'>$explode2[]</option>
?>
<?php
echo "<option value='" . $explode [ ] . "'>$explode2 []</option> ?>
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
Voldemort - 24/07/2005 16:22
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.
Ontani - 24/07/2005 16:25
-1
<?php
for ($i=0;$i<count($explode); $i++) {
echo "<option value='".$explode[$i]."'>$explode2[$i]</option><br />\n";
}
?>
<?php
for ( $i = 0 ; $i < count( $explode ) ; $i ++ ) {
echo "<option value='" . $explode [ $i ] . "'>$explode2 [$i ]</option><br />\n " ; }
?>
Voldemort - 24/07/2005 16:54
PHP ver gevorderde
Ok, die error is weg.
Nu heb ik een vraag toegevoegd: Hoe kan ik het hoogste id uit een tabel halen?
Voldemort - 24/07/2005 17:06
PHP ver gevorderde
Die doet het, net nog ff, wrm werkt dit niet:
$query3 = "UPDATE `leden`
SET `hp` = `hp`-'".$afdoen_jij."',
`mp`= `mp`-'10'
WHERE `id`='".$_COOKIE['id']."'";
$result3 = mysql_query($query3) or die(mysql_error());
$query3 = "UPDATE `leden`
SET `hp` = `hp`-'" . $afdoen_jij . "',
`mp`= `mp`-'10'
WHERE `id`='" . $_COOKIE [ 'id' ] . "'" ;
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?
Rens - 24/07/2005 17:11
Crew algemeen
Probeer deze eens:
$query3 = "UPDATE leden SET hp=hp-".$afdoen_jij.", mp=mp-10 WHERE id=".$_COOKIE['id'];
$query3 = "UPDATE leden SET hp=hp-" . $afdoen_jij . ", mp=mp-10 WHERE id=" . $_COOKIE [ 'id' ] ;
Voldemort - 24/07/2005 17:20
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
Maarten - 24/07/2005 17:25
Erelid
bevat die $afdoen_jij iets?
Voldemort - 24/07/2005 17:34 (laatste wijziging 24/07/2005 18:05)
PHP ver gevorderde
Normaal wel:
if($fetch['duel_level'] == range(1,5))
{
$afdoen_jij = rand(1,25);
}
elseif($fetch['duel_level'] == range(5,10))
{
$afdoen_jij = rand(25,50);
}
elseif($fetch['duel_level'] == range(10,20))
{
$afdoen_jij = rand(50,200);
}
elseif($fetch['duel_level'] == range(20,30))
{
$afdoen_jij = rand(200,500);
}
elseif($fetch['duel_level'] == range(30,40))
{
$afdoen_jij = rand(500,1000);
}
elseif($fetch['duel_level'] == range(40,50))
{
$afdoen_jij = rand(1000,5000);
}
if ( $fetch [ 'duel_level' ] == range ( 1 , 5 ) ) {
$afdoen_jij = rand ( 1 , 25 ) ; }
elseif ( $fetch [ 'duel_level' ] == range ( 5 , 10 ) ) {
$afdoen_jij = rand ( 25 , 50 ) ; }
elseif ( $fetch [ 'duel_level' ] == range ( 10 , 20 ) ) {
$afdoen_jij = rand ( 50 , 200 ) ; }
elseif ( $fetch [ 'duel_level' ] == range ( 20 , 30 ) ) {
$afdoen_jij = rand ( 200 , 500 ) ; }
elseif ( $fetch [ 'duel_level' ] == range ( 30 , 40 ) ) {
$afdoen_jij = rand ( 500 , 1000 ) ; }
elseif ( $fetch [ 'duel_level' ] == range ( 40 , 50 ) ) {
$afdoen_jij = rand ( 1000 , 5000 ) ; }
En de fetch is dit:
$query = "SELECT `duel_level`, `hp`, `mp` FROM `leden` WHERE `gebruikersnaam`='".$_COOKIE['gebruikersnaam']."'";
$result = mysql_query($query) or die(mysql_error());
$fetch = mysql_fetch_array($result);
$query = "SELECT `duel_level`, `hp`, `mp` FROM `leden` WHERE `gebruikersnaam`='" . $_COOKIE [ 'gebruikersnaam' ] . "'" ;
Sjaakmans - 25/07/2005 07:12
Nieuw lid
Probeer het eens met die hp en mp buiten de query te halen bijv dit:
<?
$mpnieuw = $fetch['mp'] - 10;
$hpnieuw = $fetch['hp'] - $afdoen_jij;
$query = "UPDATE leden SET hp = '".$hpnieuw."', mp = '".$mpnieuw."' WHERE id = '".$_COOKIE['id'];
mysql_query($query) or die(mysql_error());
?>
<?
$mpnieuw = $fetch [ 'mp' ] - 10 ;
$hpnieuw = $fetch [ 'hp' ] - $afdoen_jij ;
$query = "UPDATE leden SET hp = '" . $hpnieuw . "', mp = '" . $mpnieuw . "' WHERE id = '" . $_COOKIE [ 'id' ] ;
?>
Voldemort - 25/07/2005 17:28 (laatste wijziging 25/07/2005 19:54)
PHP ver gevorderde
<?php
$query = "SELECT `duel_level`, `hp`, `mp` FROM `leden` WHERE `gebruikersnaam`='".$_COOKIE['gebruikersnaam']."'";
$result = mysql_query($query) or die(mysql_error());
$fetch = mysql_fetch_array($result);
$query2 = "SELECT * FROM `svp_duels` WHERE `id`='".$_GET['svpduel']."'";
$result2 = mysql_query($query2) or die(mysql_error());
$fetch2 = mysql_fetch_array($result2);
if($fetch2['gebruikersnaam'] != $_COOKIE['gebruikersnaam'])
{
echo "Dit is jouw duel niet!";
}
else
{
echo "Het is jouw beurt om aan te vallen, selecteer je spreuk en vuur ze af op je tegenstander!<br /><br />
<b>Jouw HP:</b> ".$fetch['hp']."<br />
<b>Jouw MP:</b> ".$fetch['mp']."<br />
<b>".$fetch2['monster']." zijn/haar HP:</b> ".$fetch2['hp'].".";
if(isset($_POST['vuren']))
{
if($_POST['spreuken'] == "kies")
{
echo "Je moet een spreuk kiezen.";
}
else
{
if($_POST['spreuken'] == "Expelliarmus" && $fetch['duel_level'] == range(1,5))
{
$afdoen_monster = rand(1,25);
}
elseif($_POST['spreuken'] == "Expelliarmus" && $fetch['duel_level'] == range(5,10))
{
$afdoen_monster = rand(25,50);
}
elseif($_POST['spreuken'] == "Expelliarmus" && $fetch['duel_level'] == range(10,20))
{
$afdoen_monster = rand(50,200);
}
elseif($_POST['spreuken'] == "Expelliarmus" && $fetch['duel_level'] == range(20,30))
{
$afdoen_monster = rand(200,500);
}
elseif($_POST['spreuken'] == "Expelliarmus" && $fetch['duel_level'] == range(30,40))
{
$afdoen_monster = rand(500,1000);
}
elseif($_POST['spreuken'] == "Expelliarmus" && $fetch['duel_level'] == range(40,50))
{
$afdoen_monster = rand(1000,5000);
}
elseif($_POST['spreuken'] == "Diffindo" && $fetch['duel_level'] == range(1,5))
{
$afdoen_monster = rand(10,35);
}
elseif($_POST['spreuken'] == "Expelliarmus" && $fetch['duel_level'] == range(5,10))
{
$afdoen_monster = rand(35,60);
}
elseif($_POST['spreuken'] == "Expelliarmus" && $fetch['duel_level'] == range(10,20))
{
$afdoen_monster = rand(60,250);
}
elseif($_POST['spreuken'] == "Expelliarmus" && $fetch['duel_level'] == range(20,30))
{
$afdoen_monster = rand(250,600);
}
elseif($_POST['spreuken'] == "Expelliarmus" && $fetch['duel_level'] == range(30,40))
{
$afdoen_monster = rand(600,1300);
}
elseif($_POST['spreuken'] == "Expelliarmus" && $fetch['duel_level'] == range(40,50))
{
$afdoen_monster = rand(1300,6000);
}
elseif($_POST['spreuken'] == "Avada_Kedavra" && $fetch['duel_level'] == range(1,5))
{
$afdoen_monster = rand(1,50);
}
elseif($_POST['spreuken'] == "Avada_Kedavra" && $fetch['duel_level'] == range(5,10))
{
$afdoen_monster = rand(50,100);
}
elseif($_POST['spreuken'] == "Avada_Kedavra" && $fetch['duel_level'] == range(10,20))
{
$afdoen_monster = rand(100,500);
}
elseif($_POST['spreuken'] == "Avada_Kedavra" && $fetch['duel_level'] == range(20,30))
{
$afdoen_monster = rand(500,1000);
}
elseif($_POST['spreuken'] == "Avada_Kedavra" && $fetch['duel_level'] == range(30,40))
{
$afdoen_monster = rand(1000,5000);
}
elseif($_POST['spreuken'] == "Avada_Kedavra" && $fetch['duel_level'] == range(40,50))
{
$afdoen_monster = rand(5000,10000);
}
if($fetch['duel_level'] == range(1,5))
{
$afdoen_jij = rand(1,25);
}
elseif($fetch['duel_level'] == range(5,10))
{
$afdoen_jij = rand(25,50);
}
elseif($fetch['duel_level'] == range(10,20))
{
$afdoen_jij = rand(50,200);
}
elseif($fetch['duel_level'] == range(20,30))
{
$afdoen_jij = rand(200,500);
}
elseif($fetch['duel_level'] == range(30,40))
{
$afdoen_jij = rand(500,1000);
}
elseif($fetch['duel_level'] == range(40,50))
{
$afdoen_jij = rand(1000,5000);
}
$hppnieuw_jij = $fetch['hp'] - $afdoen_jij;
$mpnieuw_jij = $fetch['mp'] - 10;
$query3 = "UPDATE `leden` SET `hp`='".$hpnieuw_jij."', `mp`='".$mpnieuw_jij."' WHERE `id`=".$_COOKIE['id'];
$result3 = mysql_query($query3) or die(mysql_error());
$hpnieuw_mon = $fetch2['hp'] - $afdoen_monster;
$query4 = "UPDATE `svp_duels`
SET `hp`= '".$hpnieuw_mon."'
WHERE `id`='".$_GET['svpduel']."'";
$result4 = mysql_query($query4) or die(mysql_error());
echo "<script language='JavaScript' type='text/javascript'>
var Locatie = \"svp.php?actie=duelleren&svpduel=".$_GET['svpduel']."\";
var Milliseconden = \"5000\";
function Ga() { location.href = Locatie; }
setTimeout(Ga,Milliseconden);
</script>
Jouw spreuk heeft je tegenstander ".$afdoen_monster." verzwakt en jij bent ".$afdoen_monster." hp verloren.";
}
?>
<?php
$query = "SELECT `duel_level`, `hp`, `mp` FROM `leden` WHERE `gebruikersnaam`='" . $_COOKIE [ 'gebruikersnaam' ] . "'" ;
$query2 = "SELECT * FROM `svp_duels` WHERE `id`='" . $_GET [ 'svpduel' ] . "'" ;
if ( $fetch2 [ 'gebruikersnaam' ] != $_COOKIE [ 'gebruikersnaam' ] )
{
echo "Dit is jouw duel niet!" ; }
else
{
echo "Het is jouw beurt om aan te vallen, selecteer je spreuk en vuur ze af op je tegenstander!<br /><br /> <b>Jouw HP:</b> " . $fetch [ 'hp' ] . "<br />
<b>Jouw MP:</b> " . $fetch [ 'mp' ] . "<br />
<b>" . $fetch2 [ 'monster' ] . " zijn/haar HP:</b> " . $fetch2 [ 'hp' ] . "." ;
if ( isset ( $_POST [ 'vuren' ] ) ) {
if ( $_POST [ 'spreuken' ] == "kies" )
{
echo "Je moet een spreuk kiezen." ; }
else
{
if ( $_POST [ 'spreuken' ] == "Expelliarmus" && $fetch [ 'duel_level' ] == range ( 1 , 5 ) ) {
$afdoen_monster = rand ( 1 , 25 ) ; }
elseif ( $_POST [ 'spreuken' ] == "Expelliarmus" && $fetch [ 'duel_level' ] == range ( 5 , 10 ) ) {
$afdoen_monster = rand ( 25 , 50 ) ; }
elseif ( $_POST [ 'spreuken' ] == "Expelliarmus" && $fetch [ 'duel_level' ] == range ( 10 , 20 ) ) {
$afdoen_monster = rand ( 50 , 200 ) ; }
elseif ( $_POST [ 'spreuken' ] == "Expelliarmus" && $fetch [ 'duel_level' ] == range ( 20 , 30 ) ) {
$afdoen_monster = rand ( 200 , 500 ) ; }
elseif ( $_POST [ 'spreuken' ] == "Expelliarmus" && $fetch [ 'duel_level' ] == range ( 30 , 40 ) ) {
$afdoen_monster = rand ( 500 , 1000 ) ; }
elseif ( $_POST [ 'spreuken' ] == "Expelliarmus" && $fetch [ 'duel_level' ] == range ( 40 , 50 ) ) {
$afdoen_monster = rand ( 1000 , 5000 ) ; }
elseif ( $_POST [ 'spreuken' ] == "Diffindo" && $fetch [ 'duel_level' ] == range ( 1 , 5 ) ) {
$afdoen_monster = rand ( 10 , 35 ) ; }
elseif ( $_POST [ 'spreuken' ] == "Expelliarmus" && $fetch [ 'duel_level' ] == range ( 5 , 10 ) ) {
$afdoen_monster = rand ( 35 , 60 ) ; }
elseif ( $_POST [ 'spreuken' ] == "Expelliarmus" && $fetch [ 'duel_level' ] == range ( 10 , 20 ) ) {
$afdoen_monster = rand ( 60 , 250 ) ; }
elseif ( $_POST [ 'spreuken' ] == "Expelliarmus" && $fetch [ 'duel_level' ] == range ( 20 , 30 ) ) {
$afdoen_monster = rand ( 250 , 600 ) ; }
elseif ( $_POST [ 'spreuken' ] == "Expelliarmus" && $fetch [ 'duel_level' ] == range ( 30 , 40 ) ) {
$afdoen_monster = rand ( 600 , 1300 ) ; }
elseif ( $_POST [ 'spreuken' ] == "Expelliarmus" && $fetch [ 'duel_level' ] == range ( 40 , 50 ) ) {
$afdoen_monster = rand ( 1300 , 6000 ) ; }
elseif ( $_POST [ 'spreuken' ] == "Avada_Kedavra" && $fetch [ 'duel_level' ] == range ( 1 , 5 ) ) {
$afdoen_monster = rand ( 1 , 50 ) ; }
elseif ( $_POST [ 'spreuken' ] == "Avada_Kedavra" && $fetch [ 'duel_level' ] == range ( 5 , 10 ) ) {
$afdoen_monster = rand ( 50 , 100 ) ; }
elseif ( $_POST [ 'spreuken' ] == "Avada_Kedavra" && $fetch [ 'duel_level' ] == range ( 10 , 20 ) ) {
$afdoen_monster = rand ( 100 , 500 ) ; }
elseif ( $_POST [ 'spreuken' ] == "Avada_Kedavra" && $fetch [ 'duel_level' ] == range ( 20 , 30 ) ) {
$afdoen_monster = rand ( 500 , 1000 ) ; }
elseif ( $_POST [ 'spreuken' ] == "Avada_Kedavra" && $fetch [ 'duel_level' ] == range ( 30 , 40 ) ) {
$afdoen_monster = rand ( 1000 , 5000 ) ; }
elseif ( $_POST [ 'spreuken' ] == "Avada_Kedavra" && $fetch [ 'duel_level' ] == range ( 40 , 50 ) ) {
$afdoen_monster = rand ( 5000 , 10000 ) ; }
if ( $fetch [ 'duel_level' ] == range ( 1 , 5 ) ) {
$afdoen_jij = rand ( 1 , 25 ) ; }
elseif ( $fetch [ 'duel_level' ] == range ( 5 , 10 ) ) {
$afdoen_jij = rand ( 25 , 50 ) ; }
elseif ( $fetch [ 'duel_level' ] == range ( 10 , 20 ) ) {
$afdoen_jij = rand ( 50 , 200 ) ; }
elseif ( $fetch [ 'duel_level' ] == range ( 20 , 30 ) ) {
$afdoen_jij = rand ( 200 , 500 ) ; }
elseif ( $fetch [ 'duel_level' ] == range ( 30 , 40 ) ) {
$afdoen_jij = rand ( 500 , 1000 ) ; }
elseif ( $fetch [ 'duel_level' ] == range ( 40 , 50 ) ) {
$afdoen_jij = rand ( 1000 , 5000 ) ; }
$hppnieuw_jij = $fetch [ 'hp' ] - $afdoen_jij ;
$mpnieuw_jij = $fetch [ 'mp' ] - 10 ;
$query3 = "UPDATE `leden` SET `hp`='" . $hpnieuw_jij . "', `mp`='" . $mpnieuw_jij . "' WHERE `id`=" . $_COOKIE [ 'id' ] ;
$hpnieuw_mon = $fetch2 [ 'hp' ] - $afdoen_monster ;
$query4 = "UPDATE `svp_duels`
SET `hp`= '" . $hpnieuw_mon . "'
WHERE `id`='" . $_GET [ 'svpduel' ] . "'" ;
echo "<script language='JavaScript' type='text/javascript'> var Locatie = \" svp.php?actie=duelleren&svpduel=" . $_GET [ 'svpduel' ] . "\" ;
var Milliseconden = \" 5000\" ;
function Ga() { location.href = Locatie; }
setTimeout(Ga,Milliseconden);
</script>
Jouw spreuk heeft je tegenstander " . $afdoen_monster . " verzwakt en jij bent " . $afdoen_monster . " hp verloren." ;
}
?>
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?
Voldemort - 25/07/2005 20:08 (laatste wijziging 26/07/2005 21:21)
PHP ver gevorderde
Geen verschil.
Fout gevonden of beter: Vernieuw gedaan.
Die range(1,5) enzo zat fout, dus:
<?php
if($_POST['spreuken'] == "Expelliarmus" && ($fetch['duel_level'] == 1 || $fetch['duel_level'] == 2 || $fetch['duel_level'] == 3 || $fetch['duel_level'] == 4 || $fetch['duel_level'] == 5))
{
$afdoen_monster = rand(1,25);
}
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))
{
$afdoen_monster = rand(25,50);
}
//Enzovoort, enzovoort
?>
<?php
if ( $_POST [ 'spreuken' ] == "Expelliarmus" && ( $fetch [ 'duel_level' ] == 1 || $fetch [ 'duel_level' ] == 2 || $fetch [ 'duel_level' ] == 3 || $fetch [ 'duel_level' ] == 4 || $fetch [ 'duel_level' ] == 5 ) )
{
$afdoen_monster = rand ( 1 , 25 ) ; }
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 ) )
{
$afdoen_monster = rand ( 25 , 50 ) ; }
//Enzovoort, enzovoort
?>
Gesponsorde links
Dit onderwerp is gesloten .