Да не се повтаря

haus

Registered
Искам да попитам как да направя така че като странцата се рефрешне заявката която е изпълнена да не се повтаря и да не ми дава пак показатели
 
Не ства пак се добавя ето го кода как ще стане

Код:
<?php
if($_SESSION['name']) {
$name = $_SESSION['name'];
if(isset($_GET['id'])) {
$id = htmlspecialchars($_GET['id']);
if($id == 1){$def = '20'; $gexp = '5'; $gpower = '2';}
if($id == 2){$def = '50'; $gexp = '10'; $gpower = '5';}
if($id == 3){$def = '100'; $gexp = '50'; $gpower = '25';}
if($id == 4){$def = '250'; $gexp = '100'; $gpower = '50';}
if($id == 5){$def = '500'; $gexp = '150'; $gpower = '75';}
if($id == 6){$def = '1000'; $gexp = '200'; $gpower = '100';}
if($id == 7){$def = '2500'; $gexp = '250'; $gpower = '125';}
if($id == 8){$def = '5000'; $gexp = '300'; $gpower = '150';}
if($id == 9){$def = '10000'; $gexp = '350'; $gpower = '175';}
if($id == 10){$def = '25000'; $gexp = '400'; $gpower = '200';}
if($id == 11){$def = '50000'; $gexp = '450'; $gpower = '225';}
if($id == 12){$def = '100000'; $gexp = '500'; $gpower = '250';}
$sql = "SELECT * FROM users WHERE name = '$name'";
$do = mysql_query($sql);
$my1 = mysql_fetch_array($do);
$rand = rand(80, 120);
$nrg = $my1['nrg'];
$att = ((($my1['power'] * (1 + ($my1['fighter'] * 0.1))) + ($my1['weaponr'] + $my1['weaponl'])) * (1 + ($my1['killer'] * 0.1))) * ($rand / 100);
if($att >= $def && $nrg >= 30) {
echo "Моля изчакайте 15 секунди докато свършите работата<br />";
flush(); sleep(15);
$sql = "SELECT * FROM users WHERE name = '$name'";
$do = mysql_query($sql);
$my = mysql_fetch_array($do);
$get1 = round(($gexp * ($rand / 100)) * (1 + ($my['busy'] * 0.1)));
$get2 = round(($gpower * ($rand / 100)) * (1 + ($my['fighter'] * 0.1)));
$get0 = round($get1 * 1.2);
$money = ($my['money'] + $get0);
$exp = ($my['exp'] + $get1);
$power = ($my['power'] + $get2);
$edit = "UPDATE users SET money = '$money', exp = '$exp', power = '$power', jobs = jobs + 1, nrg = nrg - 30 WHERE name = '$name'";
if(mysql_query($edit)) {
echo "<br />Свърши успешно работата си и спечели $get1 пари и $get2 опит. Ще бъдете пренасочен след 3 секунди.";
echo "<meta http-equiv=refresh content=3;url='index.php?a=map'"; }} else if($def > $att && $nrg >= 30) {
echo "Моля изчакайте 15 секунди докато свършите работата<br />";
flush(); sleep(15);
$sql = "SELECT * FROM users WHERE name = '$name'";
$do = mysql_query($sql);
$my = mysql_fetch_array($do);
$get1 = round(($gexp * ($rand / 100)) * (1 - ($my['busy'] * 0.1)));
$get2 = round(($gpower * ($rand / 100)) * (1 - ($my['fighter'] * 0.1)));
$money = ($my['money'] - $get1);
$power = ($my['power'] - $get2);
$edit = "UPDATE users SET money = '$money', power = '$power', nrg = nrg - 30 WHERE name = '$name'";
if(mysql_query($edit)) {
echo "<br />Не успяхте и загубихте $get1 пари и $get2 опит. Ще бъдете пренасочен след 3 секунди.";
echo "<meta http-equiv=refresh content=0;url='index.php?a=map'>";  }}} else { ?>
 
unset() на данните и така няма да се добавят. Или просто най-отдолу вместо рефреш направи така...

Код:
header("Location: ТУКА-ПЪТЯ");
 
Код:
<?php
ob_start();
if($_SESSION['name']){ 
	$name = $_SESSION['name']; 
	if(isset($_GET['id'])) { 
		$id = htmlspecialchars($_GET['id']); 
		if($id == 1){$def = '20'; $gexp = '5'; $gpower = '2';} 
		if($id == 2){$def = '50'; $gexp = '10'; $gpower = '5';} 
		if($id == 3){$def = '100'; $gexp = '50'; $gpower = '25';} 
		if($id == 4){$def = '250'; $gexp = '100'; $gpower = '50';} 
		if($id == 5){$def = '500'; $gexp = '150'; $gpower = '75';} 
		if($id == 6){$def = '1000'; $gexp = '200'; $gpower = '100';} 
		if($id == 7){$def = '2500'; $gexp = '250'; $gpower = '125';} 
		if($id == 8){$def = '5000'; $gexp = '300'; $gpower = '150';} 
		if($id == 9){$def = '10000'; $gexp = '350'; $gpower = '175';} 
		if($id == 10){$def = '25000'; $gexp = '400'; $gpower = '200';} 
		if($id == 11){$def = '50000'; $gexp = '450'; $gpower = '225';} 
		if($id == 12){$def = '100000'; $gexp = '500'; $gpower = '250';} 

		$sql = "SELECT * FROM users WHERE name = '$name'"; 
		$do = mysql_query($sql); 
		$my1 = mysql_fetch_array($do); 
		$rand = rand(80, 120); 
		$nrg = $my1['nrg']; 
		$att = ((($my1['power'] * (1 + ($my1['fighter'] * 0.1))) + ($my1['weaponr'] + $my1['weaponl'])) * (1 + ($my1['killer'] * 0.1))) * ($rand / 100); 
		if($att >= $def && $nrg >= 30) { 
			echo "Моля изчакайте 15 секунди докато свършите работата<br />"; 
			flush(); sleep(15); 
			$sql = "SELECT * FROM users WHERE name = '$name'"; 
			$do = mysql_query($sql); 
			$my = mysql_fetch_array($do); 
			$get1 = round(($gexp * ($rand / 100)) * (1 + ($my['busy'] * 0.1))); 
			$get2 = round(($gpower * ($rand / 100)) * (1 + ($my['fighter'] * 0.1))); 
			$get0 = round($get1 * 1.2); 
			$money = ($my['money'] + $get0); 
			$exp = ($my['exp'] + $get1); 
			$power = ($my['power'] + $get2); 
			$edit = "UPDATE users SET money = '$money', exp = '$exp', power = '$power', jobs = jobs + 1, nrg = nrg - 30 WHERE name = '$name'"; 
			if(mysql_query($edit)) { 
				echo "<br />Свърши успешно работата си и спечели $get1 пари и $get2 опит. Ще бъдете пренасочен след 3 секунди.";
				unset($_GET['id']);
				header("Refresh: 3; index.php?a=map");
			}
		} else if($def > $att && $nrg >= 30) { 
			echo "Моля изчакайте 15 секунди докато свършите работата<br />"; 
			flush(); sleep(15); 
			$sql = "SELECT * FROM users WHERE name = '$name'"; 
			$do = mysql_query($sql); 
			$my = mysql_fetch_array($do); 
			$get1 = round(($gexp * ($rand / 100)) * (1 - ($my['busy'] * 0.1))); 
			$get2 = round(($gpower * ($rand / 100)) * (1 - ($my['fighter'] * 0.1))); 
			$money = ($my['money'] - $get1); 
			$power = ($my['power'] - $get2); 
			$edit = "UPDATE users SET money = '$money', power = '$power', nrg = nrg - 30 WHERE name = '$name'"; 
			if(mysql_query($edit)) { 
				echo "<br />Не успяхте и загубихте $get1 пари и $get2 опит. Ще бъдете пренасочен след 3 секунди.";
				unset($_GET['id']);
				header("Location: index.php?a=map");  
			}
		}
	} else { ?>

Така ?


Едит: промених кода...
 

Back
Горе