Post functie werkt pas na 2x

Status
Niet open voor verdere reacties.

pannekoeken

Gebruiker
Lid geworden
25 aug 2007
Berichten
135
Hallo beste mensen,

met dit zelfgemaakte script is het mogelijk om een punt te laten bewegen over de map.
De map heeft 50x en 50y cordinaten en die kan ik laten bewegen door de form onderaan.

Het probleem is dat hij niet 100% soepel werkt. Als ik bij het begin wil bewegen zal hij 1x niets doen, en daarna weer beweeg doet hij pas wat ik de 1x wou.

ook als ik 1x bijvoorbeeld naar boven wil bewegen, doet hij niets, maar als ik de page refresh dan heeft het gewerkt.

Ofterwel: hij doet niet gelijk wat je post, maar pas de 2e x.

Hoop dat iemand een oplossing heeft :)

Alvast bedankt!!

PHP:
<?php
error_reporting(0);
// verbinding database
mysql_connect("localhost", "root", "usbw") or die(mysql_error()); 
mysql_select_db("koen") or die(mysql_error()); 

//spelerdata uit database ophalen
$query  = "SELECT * FROM player";
$result = mysql_query($query);
$playerinfo = mysql_fetch_assoc($result);
$y = $playerinfo['y'];
$x = $playerinfo['x'];

//variabelen voor de map
$my = 0;
$mapy = 51;

$mx = 0;
$mapx = 51;

//bewegen
if($_POST['right'])
{
	$sql="UPDATE player SET x = $x + 1 WHERE name='koen'";
	$result = mysql_query($sql) or die("insert fails");
}
if($_POST['left'])
{
	$sql="UPDATE player SET x = $x - 1 WHERE name='koen'";
	$result = mysql_query($sql) or die("insert fails");
}
if($_POST['up'])
{
	$sql="UPDATE player SET y = $y - 1 WHERE name='koen'";
	$result = mysql_query($sql) or die("insert fails");
}
if($_POST['down'])
{
	$sql="UPDATE player SET y = $y + 1 WHERE name='koen'";
	$result = mysql_query($sql) or die("insert fails");
}
//map aanmkane
echo"<table border=1 width=500px height=500px> \n";
while($my < $mapy)
{
	echo"<tr>";
	while($mx < $mapx)
	{
		
		if($mx == $x && $my == $y)
		{
			echo"<td bgcolor='black'>";
		}
		else
		{
			echo"<td>";
		}
		echo"</td>";
		$mx++;
	}
	echo"</tr> \n";
	$my++;
	$mx = 0;
}
echo"</table>";
echo"personage bevindt zich op $x op de x-as en $y op de y-as <br /> \n";
?>
<form  action='index.php' method='post'>
<input type="submit" value='up' name="up" />
<input type="submit" value='down' name="down" />
<input type="submit" value='left' name="left" />
<input type="submit" value='right' name="right" />
</form>
 
Laatst bewerkt:
Probeer deze:
PHP:
 <?php
error_reporting(0);
// verbinding database
mysql_connect("localhost", "root", "usbw") or die(mysql_error()); 
mysql_select_db("koen") or die(mysql_error()); 
 
//spelerdata uit database ophalen
$query  = "SELECT * FROM player";
$result = mysql_query($query);
$playerinfo = mysql_fetch_assoc($result);
$y = $playerinfo['y'];
$x = $playerinfo['x'];
 
//variabelen voor de map
$my = 0;
$mapy = 51;
 
$mx = 0;
$mapx = 51;
 
//bewegen
if($_POST['right'])
{
    $sql="UPDATE player SET x = $x + 1 WHERE name='koen'";
    $result = mysql_query($sql) or die("insert fails");
}
if($_POST['left'])
{
    $sql="UPDATE player SET x = $x - 1 WHERE name='koen'";
    $result = mysql_query($sql) or die("insert fails");
}
if($_POST['up'])
{
    $sql="UPDATE player SET y = $y - 1 WHERE name='koen'";
    $result = mysql_query($sql) or die("insert fails");
}
if($_POST['down'])
{
    $sql="UPDATE player SET y = $y + 1 WHERE name='koen'";
    $result = mysql_query($sql) or die("insert fails");
}
//map aanmkane
echo"<table border=1 width=500px height=500px> \n";
while($my < $mapy)
{
    echo"<tr>";
    while($mx < $mapx)
    {
        
        if($mx == $x && $my == $y)
        {
            echo"<td bgcolor='black'>";
        }
        else
        {
            echo"<td>";
        }
        echo"</td>";
        $mx++;
    }
    echo"</tr> \n";
    $my++;
    $mx = 0;
}
echo"</table>";
echo"personage bevindt zich op $x op de x-as en $y op de y-as <br /> \n";
?>
<form  action='index.php' method='post'>
<input type="submit" value='up' name="up" />
<input type="submit" value='down' name="down" />
<input type="submit" value='left' name="left" />
<input type="submit" value='right' name="right" />
</form>
 
Laatst bewerkt door een moderator:
wat is er eigenlijk aan veranderd :eek:

bedankt alvast
 
Laatst bewerkt door een moderator:
Je haalt eerst de data op, en daarna verander je hem... de opgehaalde data blijft dan hetzelfde.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan