Я создал скрипт карты, где пользователи могут поймать монстра на карте.Есть страница карты, затем они нажимают кнопку «поймать» и переходят на другую страницу, которая вставляет монстра в команду.Проблема в том, что пользователь щелкает назад, затем нажимает кнопку «поймать» снова, затем он снова добавляет того же монстра.
Так что мой вопрос: если у вас есть две страницы, есть ли у вас возможность не дать пользователю нажать обратно, затем переместиться и получить то же самое?результат опять?
Вот мой скрипт карты
<?php
$con = mysql_connect("localhost","blah","");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("blah", $con);
$qry = mysql_query("SELECT * FROM pokemon
WHERE type1='fire' AND swap='1' ");
$max = mysql_num_rows($qry) - 3; // i.e.: 5 rows would be 0,1,2,3,4
$random_number = mt_rand(0, $max);
$result = mysql_query("SELECT * FROM pokemon
WHERE type1='fire' AND swap='1' LIMIT ".$random_number.", 1");
$resultarray = mysql_fetch_array($result);
echo "<br>";
echo "<br>";
?>
<center>
<br />
<?php
$username = strip_tags( addSlashes( $_SESSION['username'] ) ); // Remove any nasties
$pokeID = strip_tags( addSlashes( $resultarray['id'] ) ); // Remove any nasties
$pokeNAME = strip_tags( addSlashes( $resultarray['type1'] ) ); // Remove any nasties
$pokePIC = strip_tags( addSlashes( $resultarray['pic'] ) ); // Remove any nasties
$_SESSION['runonce'] == 1
?>
<span class="style7"><strong>Pokemon Name :</strong> <?php echo $resultarray['name'] ?>
<br />
<strong>Pokemon Type :</strong> <?php echo $resultarray['type1'] ?> </span><br />
<?php echo '<img src="http://myurl.net/'.$resultarray['pic'].'" width="100" height="100" />'; ?>
</center>
<center>
<form action="test678.php" method="post">
<input type="hidden" name="username" value="<?php echo $_SESSION['username']; ?>" />
<input type="hidden" name="id" value="<?php echo $resultarray['id']; ?>" />
<input type="hidden" name="poke_name" value="<?php echo $resultarray['name']; ?>" />
<input type="hidden" name="poke_type" value="<?php echo $resultarray['type1']; ?>" />
<input type="hidden" name="poke_pic" value="<?php echo $resultarray['pic'] ?>" />
<input type="hidden" name="token" value="<?php echo md5($resultarray['name'].$salt.$resultarray['id']);?>" />
<input type="submit" name="Catch" value="Catch" />
</form>
Затем здесь test678.php
<?php
session_set_cookie_params(1200,'/','.pokemontoxic.net');
$salt = "jsdhgkjshgg";
?>
<?php
$error = Array();
$username = isset($_POST['username']) ? $_POST['username'] : $error[] = "No Username defined";
$id = isset($_POST['id']) ? $_POST['id'] : $error[] = "No ID defined";
$poke_name = isset($_POST['poke_name']) ? $_POST['poke_name'] : "No Pokeman Data defined (name)";
$poke_type = isset($_POST['poke_type']) ? $_POST['poke_type'] : "No Pokemon Data defined (type)";
$poke_pic = isset($_POST['poke_pic']) ? $_POST['poke_pic'] : "No Pokemon Data defined (picture)";
if ( !empty ( $error ) )
{ $html = <<<ERROR_HTML
<html>
<head>
<title>Errors Detected</title>
</head>
<body>
<H3>Errors Have Been Detected</H3>
<p>
[ERRORS]
</p>
</body>
</html>
ERROR_HTML;
$str = "<ol>";
for ( $i = 0; $i < count($errors); $i++ )
{ $str .= "<li>". $errors[$i] ."</li>";
}
$str .= "</ol>";
$html = str_replace("[ERRORS]", $str, $html);
die($html);
}
$con = mysql_connect("localhost","ghgh","");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("iuiiui", $con);
mysql_query("INSERT INTO user_pokemon
(pokemon, belongsto, exp, time_stamp, slot, level) VALUES('$poke_name','".$_SESSION['username']."', 100,'".time()."','0' ,'5' )
") or die(mysql_error());
echo $poke_name."<br>";
unset($_POST['username'] );
unset($_POST['id'] );
unset($_POST['poke_name'] );
unset($_POST['poke_type'] );
unset($_POST['poke_pic'] );
unset($id );
unset($poke_name );
unset($poke_type );
unset($poke_pic );
/*
if (!mysql_query($sql,$con))
{
die('Error: ' . mysql_error());
}
*/
?>
Таким образом, пользователь отправляет форму на map.php, а затем отправляет их вtest678.php и добавляет монстра, затем пользователь щелкает обратно, затем тот же монстр, которого они могут щелкнуть снова, и он добавит того же монстра .... Есть ли способ остановить это?