Witam, mam taki problem...
Tworzę grę via www, i napotkałem na taki problem... Pewnie jest to coś prostego, ale ja się z tym już trochę głowię... ;/
Otóż zrobiłem coś takiego, że po wybraniu odpowiedniego "przypała" i kliknięciu przycisku wykonaj przechodzi na stronę, na której są wysyłane dane do bazy- doświadczenie, respekt itd. I z prawej strony jest panel, na którym jest pokazane ile aktualnie mamy respektu, kasy, doświadczenia, itp. Jeśli wykonam przypał, to dodaje mi normalnie dane do bazy, ale nie uaktualnia w tym panelu ile mam tych wszystkich statystyk. Dopiero po odświeżeniu strony wyświetla te nowe statystyki. Jeszcze się nigdy z takim czymś nie spotkałem, więc to jest dla mnie nowością... Oto kod skryptu, który odpowiada za wykonanie przypała:
<?php
if (isset($_SESSION['user_id']) and
isset($_SESSION['login']))
{
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Jestem hardkorem!</title>
<meta http-equiv="Content-Language" content="Polish" />
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<link rel="stylesheet" type="text/css" href="style.css" media="screen" />
<link rel="shortcut icon" href="/img/favicon.ico" />
</head>
<body>
<div id="wrap">
<div id="header">
<a href="index.php"><img src="logo.png" border="0"></a>
</div>
<div id="content">
<div class="menu">
<center>
<?php
require('prawemenu.php');
?>
</div>
<div class="right">
<br>
<h1>Przypały</h1><br>
<div class="articles">
<?php
require('conn.php');
$login=$_SESSION['login'];
$przypal = intval($_GET['przypal']); // bez intval tu ani rusz!
$result=mysql_query("SELECT energia FROM user where login='$login'");
$corobi=mysql_query("SELECT naprzypale FROM user where login='$login'");
$dane=mysql_query("SELECT * FROM user WHERE login='$login'");
$wynik=mysql_query("SELECT * FROM przypaly WHERE id='$przypal'");
$id=$r['id'];
$nazwa=$r['nazwa'];
$opis=$r['opis'];
$powodzenie=$r['powodzenie'];
$niepowodzenie=$r['niepowodzenie'];
$losowanie_od=$r['losowanie_od'];
$losowanie_do=$r['losowanie_do'];
$szansa=$r['szansa'];
$zdobyte_doswiadczenie=$r['zdobyte_doswiadczenie'];
$zdobyty_respekt=$r['zdobyty_respekt'];
$zdobyta_kasa=$r['zdobyta_kasa'];
$stracone_doswiadczenie=$r['stracone_doswiadczenie'];
$stracony_respekt=$r['stracony_respekt'];
$stracona_kasa=$r['stracona_kasa'];
$stracona_energia=$r['stracona_energia'];
$wymagania=$r['wymagania'];
if ($naprzypale['naprzypale']==1)
{
if ($row['energia']>=$stracona_energia)
{
$dosw=mysql_query("SELECT doswiadczenie FROM user where login='$login'");
$resp=mysql_query("SELECT doswiadczenie FROM user where login='$login'");
if ($wym['doswiadczenie'] >= $wymagania && $wym['respekt'] >= $wymagania)
{
if ($przebieg<=$szansa)
{
echo '<font color="green"><b>'; echo '<br>Zdoby?e? '; echo $zdobyte_doswiadczenie; echo '<br>Zdoby?e? '; echo '<br>Zdoby?e? '; echo '<font color="red">'; echo '<br>Straci?e? ';
mysql_query("UPDATE user SET doswiadczenie=doswiadczenie+'$zdobyte_doswiadczenie', respekt=respekt+'$zdobyty_respekt', kasa=kasa+'$zdobyta_kasa', energia=energia-'$stracona_energia', naprzypale=0 WHERE login='$login'");
}
else
{
echo '<font color="red"><b>'; echo '<br>Straci?e? '; echo $stracone_doswiadczenie; echo '<br>Straci?e? '; echo '<br>Straci?e? '; echo '<br>Straci?e? ';
mysql_query("UPDATE user SET doswiadczenie=doswiadczenie-'$stracone_doswiadczenie', respekt=respekt-'$stracony_respekt', kasa=kasa-'$stracona_kasa', energia=energia-'$stracona_energia', naprzypale=0 WHERE login='$login'");
}
}
else
{
echo '<font color="red">Nie uda?o Ci si? wykona? tego przypa?u, przy pr?bie da?e? cia?a!<br>Lama!</font>';
}
}
else
{
echo 'B?d?c zm?czonym nie mo?esz wykaza? si? swoim hardkorostwem!'; mysql_query("UPDATE user SET naprzypale=0 WHERE login='$login'"); }
}
else
{
echo "Nie mo?esz od?wie?a? tej strony!"; }
?>
<br><a href="przypaly.php">Przejd? do menu wyboru przypa??w</a></div>
</div>
<div class="left">
<?php
require('lewemenu.php');
?>
</div>
<div style="clear: both;"> </div>
</div>
<div id="bottom"> </div>
<div id="footer">
Stworzone przez Arthesa, wszelkie prawa zastrze?one.
</div>
</div>
</body>
</html>
<?php
}
else
{
echo "Nie jesteś zalogowany"; header("Location: logowanie.php");
}
?>
A oto treść pliku prawemenu.php, który jest tym panelem po prawej stronie:
<center>
<h2>Statystyki</h2>
<br>
<?php
require('conn.php');
$login=$_SESSION['login'];
$wynik=mysql_query("SELECT * FROM user WHERE login='$login'"); echo '<ul id="prawemenu">'; echo "<li>".$r['login']."</li>"; echo "<li>Poziom: ".$r['poziom']."</li>"; echo "<li>Doświadczenie: ".$r['doswiadczenie']."</li>"; echo "<li>Respekt: ".$r['respekt']."</li>"; echo "<li>Energia: ".$r['energia']."/"; echo "".$r['max_energia']."</li>"; ?>
</ul>
</center>
Nie wiem, jaka tego jest przyczyna... Ale zauważyłem, że przy wchodzeniu na przypał tak jakby nie odświeża się cała strona, tylko ta która odpowiada za informacje...
Mam nadzieję, że ktoś mi pomoże... pozdrawiam (IMG:
style_emoticons/default/winksmiley.jpg)
Ten post edytował Enderlanas 27.05.2010, 19:17:45