Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

George Marinho

[Resolvido] Formulário em php não retorna

Recommended Posts

Olá galera do forum, estou atualizando o site da empresa quer trabalho e me deparei com um problema, fiz um sistema de cadastro

no site onde o fara um a ligação com uma área restrita, mais to com um problema no cadastro, após efetuar o cadastro a página

não volta pra pagina inicial e nem pra pagina de cadastro, fica uma página totalmente em branco, gostária de pedir a ajuda

de vocês com esse problema, logo abaixo deixo o link do site para vocês verem o problema e também deixarei o código do php

que faz o cadastro.

 

grato.

 

http://www.cesarcomp.com.br/site/cadastro/form_cadastro.php

 

<?php

include "config.php";
include "functions.php";

$representacao = trim($_POST['representacao']);
$nome = trim($_POST['nome']);
$email = trim($_POST['email']);
$login = trim($_POST['login']);
$senha = trim($_POST['senha']);
$referencia = trim($_POST['referencia']);
$end_casa = trim($_POST['end_casa']);
$bairro  = trim($_POST['bairro']);
$cidade = trim($_POST['cidade']);
$uf_res = trim($_POST['uf_res']);
$cep = trim($_POST['cep']);
$tel = trim($_POST['tel']);
$nascimento = trim($_POST['nascimento']);
$rg = trim($_POST['rg']);
$cpf_cnpj = trim($_POST['cpf_cnpj']);
$end_comercial = trim($_POST['end_comercial']);
$bar_comercial = trim($_POST['bar_comercial']);
$cid_comercial = trim($_POST['cid_comercial']);
$uf_comercial = trim($_POST['uf_comercial']);
$cep_comercial = trim($_POST['cep_comercial']);
$tel_comercial = trim($_POST['tel_comercial']);
$cont_comercial = trim($_POST['cont_comercial']);

/* Vamos checar algum erro nos campos */

if ((!$representacao) || (!$nome) || (!$email) || (!$login) || (!$senha) || (!$referencia) || (!$end_casa) || (!$bairro) || (!$cidade) || (!$uf_res) || (!$cep) || (!$tel) || (!$nascimento) || (!$rg) || (!$cpf_cnpj) || (!$end_comercial) || (!$bar_comercial) || (!$cid_comercial) || (!$uf_comercial) || (!$cep_comercial) || (!$tel_comercial) || (!$cont_comercial)){

   echo "ERRO: <br /><br />";

   if (!$representacao){

       echo "Representação é requerido.<br />";

   }

   if (!$nome){

       echo "Nome é requerido.<br /> <br />";

   }

   if (!$email){

       echo "Email é um campo requerido.<br /><br />";

   }

   if (!$login){

       echo "Login é requerido.<br /><br />";

   }
    if (!$senha){

       echo "Senha é requerido.<br /><br />";

   }
    if (!$referencia){

       echo "Refeência Comercial é requerido.<br /><br />";

   }
    if (!$end_casa){

       echo "Endereço é requerido.<br /><br />";

   }
    if (!$bairro){

       echo "Bairro é requerido.<br /><br />";

   }
    if (!$cidade){

       echo "Cidade é requerido.<br /><br />";

   }
    if (!$uf_res){

       echo "Estado Residêncial é requerido.<br /><br />";

   }
    if (!$cep){

       echo "Cep é requerido.<br /><br />";

   }
    if (!$tel){

       echo "Telefone é requerido.<br /><br />";

   }
    if (!$nascimento){

       echo "Data de Nascimento é requerido.<br /><br />";

   }
    if (!$rg){

       echo "RG é requerido.<br /><br />";

   }
    if (!$cpf_cnpj){

       echo "CPF/CNPJ é requerido.<br /><br />";

   }
    if (!$end_comercial){

       echo "Endereço Comercial é requerido.<br /><br />";

   }
    if (!$bar_comercial){

       echo "Bairro Comercial é requerido.<br /><br />";

   }
    if (!$cid_comercial){

       echo "Cidade Comercial é requerido.<br /><br />";

   }
    if (!$uf_comercial){

       echo "Estdado Comercial é requerido.<br /><br />";

   }
    if (!$cep_comercial){

       echo "Cep Comercial é requerido.<br /><br />";

}
    if (!$tel_comercial){

       echo "Nome de Usuário é requerido.<br /><br />";

}
    if (!$cont_comercial){

       echo "Contato Comercial é requerido.<br /><br />";

   }

   echo "Preencha os campos abaixo: <br /><br />"; 

   include 'form_cadastro.php';


}
else{

   /* Vamos checar se o nome de Usuário escolhido e/ou Email já existem no banco de dados */

   $sql_email_check = mysql_query(

       "SELECT COUNT(usuario_id) FROM usuarios WHERE email='{$email}'"

       );

   $sql_login_check = mysql_query(

       "SELECT COUNT(usuario_id) FROM usuarios WHERE login='{$login}'"

       );


   $eReg = mysql_fetch_array($sql_email_check);
   $lReg = mysql_fetch_array($sql_login_check);

   $email_check = $eReg[0];
   $login_check = $uReg[0];

   if (($email_check > 0) || ($login_check > 0)){

       echo "<strong>ERRO</strong>: <br /><br />";

       if ($email_check > 0){

           echo "Este email já está sendo utilizado.<br /><br />";

           unset($email);

       }

       if ($login_check > 0){

           echo "Este Login já está sendo
                utilizado.<br /><br />";

           unset($login);

       }
		echo "<br />";

	include 'form_cadastro.php';

   }else{

       /* Se passarmos por esta verificação ilesos é hora de  finalmente cadastrar os dados.a*/

	// Inserindo os dados no banco de dados

       $sql = mysql_query(

               "INSERT INTO usuarios
               (representacao, nome, email, login, senha, referencia, end_casa, bairro, cidade, uf_res, cep, tel, nascimento, rg, cpf_cnpj, end_comercial, bar_comercial, cid_comercial, uf_comercial, cep_comercial, tel_comercial, cont_comercial, data_cadastro)

               VALUES
               ('$representacao', '$nome', '$email', '$login', '$senha', '$referencia', '$end_casa', '$bairro', '$cidade', '$uf_res', '$cep', '$tel', '$nascimento', '$rg', '$cpf_cnpj', '$end_comercial', '$bar_comercial', '$cid_comercial', '$uf_comercial', '$cep_comercial', '$tel_comercial', '$cont_comercial', now())")

               or die( mysql_error()

               );

       if (!$sql){

           echo "Ocorreu um erro ao criar sua conta, entre em contato.";

       }else{

           $usuario_id = mysql_insert_id();

           // Enviar um email ao usuário para confirmação e ativar o cadastro!

           $headers = "E-mail de Confirmação Cesar Comp";
           $headers .= "Content-type: text/html; charset=iso-8859-1\n";
           $headers .= "From: Gráfica Cesar Comp - Webmaster<contato@cesrcomp.com.br>";

           $subject = "Confirmação de cadastro - cesarcomp.com.br";
           $mensagem  = "Prezado  {$representacao} {$nome},<br />
           Obrigado pelo seu cadastro em nosso site, http://www.cesarcomp.com.br. 

           Para confirmar seu cadastro e ativar sua conta em nosso site, podendo acessar à
           áreas exclusivas, por favor faça-nos uma visita, na sede da empresa.
		End: Avenida Ministro Ari Franco, 109 - Loja F
           <br /> Galeria Matilde - Bangu.<br/>
		Ou Ligue para: (0xx21) 2401-6413 e Informe sua representação e login.
		<br /> <br />

           Após a ativação de sua conta, você poderá ter acesso ao conteúdo exclusivo
           efetuado o login com os seguintes dados abaixo:<br > <br /> 

           <strong>Usuario</strong>: {$login}<br />
           <strong>Senha</strong>: {$senha}<br /> <br />

           Obrigado!<br /> <br /> 

           Gráfica Cesar Comp<br /> <br /> <br />
           Esta é uma mensagem automática, por favor não responda!";

           mail($email, $subject, $mensagem, $headers);

       }

   }

}

?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

cara tenta usar

 

header('Location: sua_pagina.php');

 

em vez de

 

include 'form_cadastro.php';

 

pois assim você vai estar dizendo ao PHP que você quer redirecionar para uma outra página. Quanto ao erro você pode passar via GET ou até mesmo em SESSION.

Compartilhar este post


Link para o post
Compartilhar em outros sites

po usei o código assim

header('Location: form_cadastro.php');

e não deu certo pagina retorna em branco, e os erros eu quero colocar em forma de alerta, mais resolvendo o problema do retorno do cadastro, o alerta dos erros é o de menos acerto ele depois, mais como q passaria via get ou em session eu to pensando em coloca um alerta em js na pag msm de cadastro e nao no php. grato

Compartilhar este post


Link para o post
Compartilhar em outros sites

O seu problema está que, quando é feita o insert no banco, não está chamando a página, então o código abaixo deve resolver. Quando testei o formulário na sua página, deu erro de header. Tire-o, pois não é útil no seu caso, pois o header deve ser a primeira linha de comando de uma página.

vou lhe mandar todo o código completo para entender melhor. Só identei ele pra ficar menor.

 

<?php

include "config.php";
include "functions.php";

//ESSA LINHA É NOVA
if ( $_POST ) {
   //ESSA LINHA É NOVA

   $representacao = trim($_POST['representacao']);
   $nome = trim($_POST['nome']);
   $email = trim($_POST['email']);
   $login = trim($_POST['login']);
   $senha = trim($_POST['senha']);
   $referencia = trim($_POST['referencia']);
   $end_casa = trim($_POST['end_casa']);
   $bairro  = trim($_POST['bairro']);
   $cidade = trim($_POST['cidade']);
   $uf_res = trim($_POST['uf_res']);
   $cep = trim($_POST['cep']);
   $tel = trim($_POST['tel']);
   $nascimento = trim($_POST['nascimento']);
   $rg = trim($_POST['rg']);
   $cpf_cnpj = trim($_POST['cpf_cnpj']);
   $end_comercial = trim($_POST['end_comercial']);
   $bar_comercial = trim($_POST['bar_comercial']);
   $cid_comercial = trim($_POST['cid_comercial']);
   $uf_comercial = trim($_POST['uf_comercial']);
   $cep_comercial = trim($_POST['cep_comercial']);
   $tel_comercial = trim($_POST['tel_comercial']);
   $cont_comercial = trim($_POST['cont_comercial']);

   /* Vamos checar algum erro nos campos */

   if ((!$representacao) || (!$nome) || (!$email) || (!$login) || (!$senha) || (!$referencia) || (!$end_casa) || (!$bairro) || (!$cidade) || (!$uf_res) || (!$cep) || (!$tel) || (!$nascimento) || (!$rg) || (!$cpf_cnpj) || (!$end_comercial) || (!$bar_comercial) || (!$cid_comercial) || (!$uf_comercial) || (!$cep_comercial) || (!$tel_comercial) || (!$cont_comercial)){
       echo "ERRO: <br /><br />";     
       if (!$representacao){     
           echo "Representação é requerido.<br />";     
       }     
       if (!$nome){     
           echo "Nome é requerido.<br /> <br />";     
       }

       if (!$email){     
           echo "Email é um campo requerido.<br /><br />";     
       }     
       if (!$login){     
           echo "Login é requerido.<br /><br />";     
       }
       if (!$senha){     
           echo "Senha é requerido.<br /><br />";

       }
       if (!$referencia){     
           echo "Refeência Comercial é requerido.<br /><br />";     
       }
       if (!$end_casa){     
           echo "Endereço é requerido.<br /><br />";     
       }
       if (!$bairro){     
           echo "Bairro é requerido.<br /><br />";     
       }
       if (!$cidade){     
           echo "Cidade é requerido.<br /><br />";     
       }
       if (!$uf_res){     
           echo "Estado Residêncial é requerido.<br /><br />";     
       }
       if (!$cep){     
           echo "Cep é requerido.<br /><br />";     
       }
       if (!$tel){     
           echo "Telefone é requerido.<br /><br />";     
       }
       if (!$nascimento){     
           echo "Data de Nascimento é requerido.<br /><br />";     
       }
       if (!$rg){     
           echo "RG é requerido.<br /><br />";     
       }
       if (!$cpf_cnpj){     
           echo "CPF/CNPJ é requerido.<br /><br />";     
       }
       if (!$end_comercial){     
           echo "Endereço Comercial é requerido.<br /><br />";     
       }
       if (!$bar_comercial){     
           echo "Bairro Comercial é requerido.<br /><br />";     
       }
       if (!$cid_comercial){     
           echo "Cidade Comercial é requerido.<br /><br />";     
       }
       if (!$uf_comercial){     
           echo "Estdado Comercial é requerido.<br /><br />";     
       }
       if (!$cep_comercial){     
           echo "Cep Comercial é requerido.<br /><br />";
       }
       if (!$tel_comercial){     
           echo "Nome de Usuário é requerido.<br /><br />";                    
       }
       if (!$cont_comercial){     
           echo "Contato Comercial é requerido.<br /><br />"; 
       }
   } else {     
       /* Vamos checar se o nome de Usuário escolhido e/ou Email já existem no banco de dados */     
       $sql_email_check = mysql_query("SELECT COUNT(usuario_id) FROM usuarios WHERE email='{$email}'");     
       $sql_login_check = mysql_query("SELECT COUNT(usuario_id) FROM usuarios WHERE login='{$login}'");   

       $eReg = mysql_fetch_array($sql_email_check);
       $lReg = mysql_fetch_array($sql_login_check);

       $email_check = $eReg[0];
       $login_check = $uReg[0];

       if (($email_check > 0) || ($login_check > 0)){     
           echo "<strong>ERRO</strong>: <br /><br />";     
           if ($email_check > 0){     
               echo "Este email já está sendo utilizado.<br /><br />";     
               unset($email);     
           }

           if ($login_check > 0){     
               echo "Este Login já está sendo
                    utilizado.<br /><br />";     
               unset($login);

           }
       }else{     
           /* Se passarmos por esta verificação ilesos é hora de  finalmente cadastrar os dados.a*/    
           // Inserindo os dados no banco de dados    
           $sql = mysql_query(     
                   "INSERT INTO usuarios
                   (representacao, nome, email, login, senha, referencia, end_casa, bairro, cidade, uf_res, cep, tel, nascimento, rg, cpf_cnpj, end_comercial, bar_comercial, cid_comercial, uf_comercial, cep_comercial, tel_comercial, cont_comercial, data_cadastro)
                     VALUES
                   ('$representacao', '$nome', '$email', '$login', '$senha', '$referencia', '$end_casa', '$bairro', '$cidade', '$uf_res', '$cep', '$tel', '$nascimento', '$rg', '$cpf_cnpj', '$end_comercial', '$bar_comercial', '$cid_comercial', '$uf_comercial', '$cep_comercial', '$tel_comercial', '$cont_comercial', now())")
                   or die( mysql_error());     
           if (!$sql){     
               echo "Ocorreu um erro ao criar sua conta, entre em contato.";     
           }else{     
               $usuario_id = mysql_insert_id();

               // Enviar um email ao usuário para confirmação e ativar o cadastro!

               $headers = "E-mail de Confirmação Cesar Comp";
               $headers .= "Content-type: text/html; charset=iso-8859-1\n";
               $headers .= "From: Gráfica Cesar Comp - Webmaster<contato@cesrcomp.com.br>";

               $subject = "Confirmação de cadastro - cesarcomp.com.br";
               $mensagem  = "Prezado  {$representacao} {$nome},<br />
               Obrigado pelo seu cadastro em nosso site, http://www.cesarcomp.com.br. 

               Para confirmar seu cadastro e ativar sua conta em nosso site, podendo acessar à
               áreas exclusivas, por favor faça-nos uma visita, na sede da empresa.
                           End: Avenida Ministro Ari Franco, 109 - Loja F
               <br /> Galeria Matilde - Bangu.<br/>
                           Ou Ligue para: (0xx21) 2401-6413 e Informe sua representação e login.
                           <br /> <br />

               Após a ativação de sua conta, você poderá ter acesso ao conteúdo exclusivo
               efetuado o login com os seguintes dados abaixo:<br > <br /> 

               <strong>Usuario</strong>: {$login}<br />
               <strong>Senha</strong>: {$senha}<br /> <br />

               Obrigado!<br /> <br /> 

               Gráfica Cesar Comp<br /> <br /> <br />
               Esta é uma mensagem automática, por favor não responda!";     
               mail($email, $subject, $mensagem, $headers);     
           } 
       } 
   }

//ESSA LINHA É NOVA
}
//ESSA LINHA É NOVA

//Passei aqui para baixo, ele deve sempre abrir essa página
//Lembre-se do action de colocar referenciando essa mesma página ou, se não me engano um # também funciona
echo "Preencha os campos abaixo: <br /><br />"; 
include('form_cadastro.php');

 

A modificação é a seguinte:

- todo as verificações, e insert, serão utilizados somente quando houver $_POST, e o formulário passei para o fim da página, para que sempre abra.

 

Acho que isso é o suficiente.

Compartilhar este post


Link para o post
Compartilhar em outros sites

po usei o código assim

header('Location: form_cadastro.php');

e não deu certo pagina retorna em branco, e os erros eu quero colocar em forma de alerta, mais resolvendo o problema do retorno do cadastro, o alerta dos erros é o de menos acerto ele depois, mais como q passaria via get ou em session eu to pensando em coloca um alerta em js na pag msm de cadastro e nao no php. grato

 

cara algo tá errado ai, pelo que vi no link que você passou, o arquivo 'form_cadastro.php' envia os dados POST para a página 'cadastrar.php'.

 

se você colocar o

header("Location: form_cadastro.php");

tem que funcionar, a menos que tenha algo errado em alguma das duas páginas.

 

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

O seu problema está que, quando é feita o insert no banco, não está chamando a página, então o código abaixo deve resolver. Quando testei o formulário na sua página, deu erro de header. Tire-o, pois não é útil no seu caso, pois o header deve ser a primeira linha de comando de uma página.

vou lhe mandar todo o código completo para entender melhor. Só identei ele pra ficar menor.

 

......

 

A modificação é a seguinte:

- todo as verificações, e insert, serão utilizados somente quando houver $_POST, e o formulário passei para o fim da página, para que sempre abra.

 

Acho que isso é o suficiente.

 

 

cara muito obrigado, com o seu código deu certo, mais a pagina retorna tranquilamente mais os dados continuam preenchidos e da a mensagem pra inserir os dados, e está com um problema pelo fato dos dados não sumirem depois do cadastro se eu atualizar a pagina apertando o f5 ou ate mandando atualizar ele cadastra novamente.

Compartilhar este post


Link para o post
Compartilhar em outros sites

faça assim então. Eu só inseri uma linha abaixo dele. Insira essa linha no mesmo lugar no seu código.

 

          $usuario_id = mysql_insert_id();

               // Enviar um email ao usuário para confirmação e ativar o cadastro!

               $headers = "E-mail de Confirmação Cesar Comp";
               $headers .= "Content-type: text/html; charset=iso-8859-1\n";
               $headers .= "From: Gráfica Cesar Comp - Webmaster<contato@cesrcomp.com.br>";

               $subject = "Confirmação de cadastro - cesarcomp.com.br";
               $mensagem  = "Prezado  {$representacao} {$nome},<br />
               Obrigado pelo seu cadastro em nosso site, http://www.cesarcomp.com.br. 

               Para confirmar seu cadastro e ativar sua conta em nosso site, podendo acessar à
               áreas exclusivas, por favor faça-nos uma visita, na sede da empresa.
                           End: Avenida Ministro Ari Franco, 109 - Loja F
               <br /> Galeria Matilde - Bangu.<br/>
                           Ou Ligue para: (0xx21) 2401-6413 e Informe sua representação e login.
                           <br /> <br />

               Após a ativação de sua conta, você poderá ter acesso ao conteúdo exclusivo
               efetuado o login com os seguintes dados abaixo:<br > <br /> 

               <strong>Usuario</strong>: {$login}<br />
               <strong>Senha</strong>: {$senha}<br /> <br />

               Obrigado!<br /> <br /> 

               Gráfica Cesar Comp<br /> <br /> <br />
               Esta é uma mensagem automática, por favor não responda!";     
               mail($email, $subject, $mensagem, $headers);

               //Essa linha
               echo '<script type="text/javascript">window.location = "form_cadastro.php";</script>';  

 

A diferença agora é que, se o cadastro não concluir, ele aparecerá as mensagens para finalizar o cadastro. Se o cadastro for ok e inserir no banco, ele redireciona pra página anterior e não tem mais o problema do F5. Isso é basicamente o que estavam tentando fazer com "header(...". Porém, diferente do header, funciona em qualquer lugar da página. Se não fosse pelo caso do F5, essa linha seria desnecessária.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Beleza vou testa aqui, obrigado mais eu resolvi de uma forma q no campo tinha um código post que tinha inserido ai retirei os msm fazendo isso os dados do form, não ficava mais gravado, tirei isso fico beleza e do código em php eu tirei os erros e troquei por um arquivo javascript mandando alerta na pagina se alguem esquecer algum campo para cadastrar agora to ajustando isso se quiser dar uma olhada no link, será que esse código teu vai implicar com algo ou vai melhorar mais ainda a edição que fiz rs obrigado.

 

14:56 Usei o seu código, ai o meu alert em js paro de funcionar rs

Compartilhar este post


Link para o post
Compartilhar em outros sites

Isso deve ser erro de javascript. Sugiro que teste no Firefox, Chrome ou Ópera que possuem um bom suporte a erros de javascript.Pressione CTRL + SHIFT + J. Vai aparecer o console de erros, limpe todos os erros, execute a página, depois abra novamente, e corrija os erros que aparecerem.

Compartilhar este post


Link para o post
Compartilhar em outros sites

fiz o que fez e não deu em nada, estou utilizando o ultimo método mesmo que fiz e está tudo ok, mostra os alertas e quando completa o form a pagina da reload normal, eu queria agora que quando termina-se o cadastro o código mostra-se um alerta dizendo que o cadastro foi efetuado com sucesso. como faço ?

 

OBRIGADO, CONSEGUI RESOLVER O PROBLEMA DO FORMULÁRIO E DOS ALERTS!

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.