Pagina 1 din 1

Restrictie trimitere formular php

Scris: 17-Aug-2013, 02:48:31
de AsKode21
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

Cod: Selectaţi tot

				header("Location: /dnsrequest/succes.php");
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 ?

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(); ?>

Re: Restrictie trimitere formular php

Scris: 11-Sep-2013, 14:12:25
de AsKode21
Nici o idee ? ..