madmax3
Member
Здравейте
Предполагам, че и други като мен са имали проблеми когато една форма, умишлено или неумишлено, се изпраща повече от веднъж.
Ето какво измислих:
демо: http://geobg.info/web/users/reload.php
И самия код:
<?php
session_start();
?>
<html>
<head>
<title>Prevent dowble submit</title>
</head>
<body>
<div style="width: 900; margin: 5px auto; text-align: center; padding: 50px 0;">
<?php
if (count($_POST))
{
if ($_SESSION['submitFlag'] != 1)
{
echo "<div style='color:green;'>Submit form successfully</div>";
$_SESSION['submitFlag'] = 1;
}
else
{
echo "<div style='color:red;'>Form already sent</div>";
}
echo "<hr/><a href='?'>Reset form</a><br/><br/>";
}
else
{
$_SESSION['submitFlag'] = 0;
}
?>
<form name="test" method="post">
<input type="text" name="userText" value="" />
<input type="submit" name="send" value="Send data" />
</form>
</div>
</body>
</html>
Ще ви бъда благодарен да споделите какво мислите за това както и как се справяте с този проблем (без капча и допълнителни действия от потребителя).
Предполагам, че и други като мен са имали проблеми когато една форма, умишлено или неумишлено, се изпраща повече от веднъж.
Ето какво измислих:
демо: http://geobg.info/web/users/reload.php
И самия код:
<?php
session_start();
?>
<html>
<head>
<title>Prevent dowble submit</title>
</head>
<body>
<div style="width: 900; margin: 5px auto; text-align: center; padding: 50px 0;">
<?php
if (count($_POST))
{
if ($_SESSION['submitFlag'] != 1)
{
echo "<div style='color:green;'>Submit form successfully</div>";
$_SESSION['submitFlag'] = 1;
}
else
{
echo "<div style='color:red;'>Form already sent</div>";
}
echo "<hr/><a href='?'>Reset form</a><br/><br/>";
}
else
{
$_SESSION['submitFlag'] = 0;
}
?>
<form name="test" method="post">
<input type="text" name="userText" value="" />
<input type="submit" name="send" value="Send data" />
</form>
</div>
</body>
</html>
Ще ви бъда благодарен да споделите какво мислите за това както и как се справяте с този проблем (без капча и допълнителни действия от потребителя).