Restrictie trimitere formular php
Scris: 17-Aug-2013, 02:48:31
Bună seara.
Am un formular care funcţionează ca o pagină de feedback. Datele completate sunt luate şi trimise către o căsuţa de mail. Problema apare la butonul submit.
Am folosit
pentru a îl redirecţiona pe cel care apasă submit către o pagină care ii confirmă că formularul a fost trimis, dar am observat că daca apesi pe butonul de întoarcere din browser (firefox) te întoarce la formular cu toate câmpurile completate anterior, astfel apăsând iar pe butonul submit formularul se mai trimite o dată si astfel se găseşte un pierde vară să facă acest lucru pentru a îmi spama mail-ul.
Cum pot să evit retrimiterea formularului ?
Am un formular care funcţionează ca o pagină de feedback. Datele completate sunt luate şi trimise către o căsuţa de mail. Problema apare la butonul submit.
Am folosit
Cod: Selectaţi tot
header("Location: /dnsrequest/succes.php");
Cum pot să evit retrimiterea formularului ?
Cod: Selectaţi tot
<? ob_start(); ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Cerere subdomeniu</title>
<link rel="stylesheet" type="text/css" href="view.css" media="all">
</head>
<?php
error_reporting(E_ALL^E_NOTICE);
if($_POST['submit'])
{
$nume = $_POST['element_1_1'];
$prenume = $_POST['element_1_2'];
$varsta = $_POST['element_2'];
$email = $_POST['element_3'];
$cnp = $_POST['element_4'];
$firma = $_POST['element_5'];
$adresa = $_POST['element_6'];
$port = $_POST['element_7'];
$dns = $_POST['element_8'];
$sloturi = $_POST['element_9'];
$joc = $_POST['element_10'];
$modjoc = $_POST['element_11'];
$link = $_POST['element_12'];
$forum = $_POST['element_13'];
$mod = $_POST['element_14'];
$to = "dns@visiongame.ro"; // email
$header = "DNS request"; // subject
if(!$nume || !$prenume || !$varsta || !$email || !$cnp || !$firma || !$adresa || !$port || !$dns || !$sloturi || !$joc || !$modjoc || !$link || !$forum || !$mod)
{
echo "<span style='color:#ffffff;font-size:30px;'>*Toate campurile sunt obligatorii !*</span>";
}
else
{
$message = "
Informaţii personale
Nume şi prenume: $nume $prenume
Vârstă: $varsta
E-mail: $email
Cod numeric personal: $cnp
Detalii DNS
Firma la care este găzduit serverul: $firma
Adresa IP + port: $adresa:$port
DNS: $dns
Sloturi server: $sloturi
Server de: $joc
Modul de joc: $modjoc
Link gametracker: $link
Forum şi moderaotri
Categorii:
$forum
Moderatori:
$mod ";
mail($to,$header,$message);
}
header("Location: /dnsrequest/succes.php");
}
else
{?>
<-------- Codul HTML al paginii -------->
<? ob_flush(); ?>