Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
bom, quero dizer que tudo está funcionando 100% perfeitamente.
Mas tem uma questão: o usuario pode acessar diretamente o arquivo do action= no form. Vendo o código fonte.
ex: Se o cliente for olhar o codigo fonte, vai aparecer:
<form name="formulario" method="post" action="sucess.php">
Caso o cliente acesse diretamente sem preencher os forms corretamente, indo no browser e digitando: www.meusite.com.br/sucess.php, irá escrever no meu banco de dados... mas dados em branco.
Tem alguma forma de evitar isto?
Sim.
No seu formulário pega o campo qualquer, por exemplo input name="nome"
Na página susses.php
// Verifica se existe o POST nome e se tem algo digitado (!empty) = diferente de vazio.
if(isset($_POST['nome']) && !empty($_POST['nome'])
{
executa a gravação no banco
}
else
{
// entrou na página sem dados, então redireciona para a pagina do formulário
header('Location: http://www.seusite.com/page_do_formulario.php');
}Sim.
No seu formulário pega o campo qualquer, por exemplo input name="nome"
Na página susses.php
// Verifica se existe o POST nome e se tem algo digitado (!empty) = diferente de vazio.
if(isset($_POST['nome']) && !empty($_POST['nome'])
{
executa a gravação no banco
}
else
{
// entrou na página sem dados, então redireciona para a pagina do formulário
header('Location: http://www.seusite.com/page_do_formulario.php');
}obrigado!! ajudou mt!!
Também pode usar $_SERVER[ 'HTTP_REFERER' ] para verificar se ele entrou direto ou veio da página que você quer.
Cheque os dados que está recebendo!
exemplo:
Formulario.php
Nome |=========|
E-mail |=========|
Fone |=========|
|=Submit=|
sucess.php
<?
if(isset($_POST['nome']) and isset($_POST['mail']) and isset($_POST['fone'])){
//executa a query pra incluir o registro
}else{