Jump to content
Sign in to follow this  
mistercs

Formulário com Redirecionamento

Recommended Posts

Olá Prezados,

Tenho um formulário em PHP, pequeno, no qual ele envia a função de um sistema ao e-mail do cliente, mais preciso fazer este formulário além de enviar as informações por e-mail, após o cliente clicar no botão "SOLICITAR", ele ser redirecionado para uma página de agradecimento que ficaria desta forma (www.meusite.com.br/agradecimento)

Esta página de agradecimento, será criada a partir do Wordpress, então eu preciso redirecionar direto ao LINK dela, e não ao arquivo dela, segue abaixo código que estou utilizando no formulário atualmente.

Desde já agradeço!

<?php header('Content-Type: text/html; charset=utf-8'); ?>
<?php
require("config.php");
require("includes/debug.php");
require("includes/functions.php");

//historico de url referencia

$_SESSION['URL_REFERER'][] = isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : null;

$r = isset($_GET['r']) ? $_GET['r'] : null;

if (null === $r) {

exit();
}

$id_revenda = (int) dpt(base64_url_decode($r), $s);

if (checkar_permissao_rev($id_revenda, "11") === false) {

exit();
}

//informações da revenda

$dados_rev = dados_revenda($id_revenda, 'level');

$titulo = 'Formulário de Pedidos de Testes';

//perfis disponiveis

if ($dados_rev['level'] == '1') {

$perfis_disp = perfis_disponiveis_revenda($id_revenda);
} else {

$perfis_disp = perfis_disponiveis_adm();
}


$config_salvo = config_painel('tempo_login_teste,mult_perf,id_modelo_padrao');

// quando o formulario for enviado

if (count($_POST) > 0) {

$nome = $_POST['nome'];
$email = $_POST['email'];
$perfis = isset($_POST['perfil']) ? $_POST['perfil'] : null;

if (is_null($nome) || $nome === "") {

$javascript = <<<EOF
<script charset="UTF-8">
alert('Preencha o campo de nome corretamente.');
window.history.go(-1);
</script>
EOF;
exit($javascript);
}

if (filter_var($email, FILTER_VALIDATE_EMAIL) === false) {

$javascript = <<<EOF
<script charset="UTF-8">
alert('Preencha o campo de email corretamente.');
window.history.go(-1);
</script>
EOF;
exit($javascript);
}

// verifica se já existe um teste pedido 

$teste_existente = check_teste_pedido($email);

if (!empty($teste_existente)) {

$data_cad = date('d/m/Y', strtotime($teste_existente['data_cad']));

$javascript = <<<EOF
<script charset="UTF-8">
alert('Existe um teste pra este email cadastrado em: {$data_cad}');
window.history.go(-1);
</script>
EOF;
exit($javascript);
}

$lista_negra = listaNegra($email);

//verifica se o dominio do email tá na lista negra
if ($lista_negra === true) {

$javascript = <<<EOF
<script charset="UTF-8">
alert('Ocorreu um erro de cadastro, tente novamente mais tarde.');
window.history.go(-1);
</script>
EOF;
exit($javascript);
}

//se não tiver perfil cadastrado ou tiver bloqueado
if (null === $perfis || empty($perfis)) {

$javascript = <<<EOF
<script charset="UTF-8">
alert('Não foi selecionado uma Operadora/Região. Caso a opção não esteja disponivel, tente novamente em outro momento.');
window.history.go(-1);
</script>
EOF;
exit($javascript);
}

//recupera o valor cobrado global
$dados_revenda = dados_revenda($id_revenda, 'valor_cobrado_global,id_modelo_padrao');

$login_teste['name'] = gera_login_rand($email);
$login_teste['displayname'] = $nome;
$login_teste['password'] = mt_rand(100, 999);
$login_teste['profiles'] = serialize($perfis);
$login_teste['email'] = strtolower(trim($email));
$login_teste['maxconnections'] = count($perfis);
$login_teste['enabled'] = 'true';
$login_teste['startdate'] = date("Y-m-d");
$login_teste['added'] = $login_teste['startdate'];
$login_teste['expiredate'] = date("Y-m-d H:i:s", strtotime("+{$config_salvo['tempo_login_teste']} hours"));
$login_teste['addedby'] = $id_revenda;
$login_teste['obs_user'] = 'Login criado automaticamente através do formulário.';
$login_teste['valor_cob'] = $dados_revenda['valor_cobrado_global'];

// cadastra novo login teste 
if (add_login_teste($login_teste)) {

// registra o teste pedido

$teste_pedido['email'] = strtolower(trim($email));
$teste_pedido['addedby'] = $id_revenda;
$teste_pedido['data_cad'] = date("Y-m-d");
$teste_pedido['ip'] = $_SERVER['REMOTE_ADDR'];
$teste_pedido['url_ref'] = $_SESSION['URL_REFERER'][0];

//registra teste 
registra_teste_pedido($teste_pedido);

// pega o modelo salvo na revenda
$modelo_email = modelo_email_revenda($id_revenda, $dados_revenda['id_modelo_padrao']);

//se não houve na revenda pegado sistema 
if (empty($modelo_email)) {

$modelo_email = modelo_email_sistema($config_salvo['id_modelo_padrao']);
}

//configurações do email para envio

/*
id int(11) Não
uid int(11) Não
email varchar(50) Não
nome_exibir varchar(25) Não
senha varchar(50) Não
serv_mail varchar(25) Não
data_cad datetime Não
data_atu datetime
*/

$config_email_revenda = email_envio_revenda($id_revenda);

if (empty($config_email_revenda) || empty($modelo_email)) {

$javascript = <<<EOF
<script charset="UTF-8">
alert('O login teste foi criado com sucesso, não foi enviado email pois os dados não estão configurados corretamente.');
window.history.go(-1);
</script>
EOF;
exit($javascript);
}

// variaveis do modelo de email.

$var_email['[EMVENDEDOR]'] = $config_email_revenda['email'];
$var_email['[NMVENDEDOR]'] = $config_email_revenda['nome_exibir'];
$var_email['[LGCLIENTE]'] = $login_teste['name'];
$var_email['[SNCLIENTE]'] = $login_teste['password'];
$var_email['[NMCLIENTE]'] = $login_teste['displayname'];
$var_email['[VCCLIENTE]'] = date("d/m/Y H:i:s", strtotime($login_teste['expiredate']));
$var_email['[DDSERVIDOR]'] = html_url_profiles(urls_profiles($id_revenda)); //'Dados servidor.(urls,portas)';
//substituindo variaveis de email no assunto e no corpo
$assunto = str_replace(array_keys($var_email), array_values($var_email), $modelo_email['assunto']);
$corpo = str_replace(array_keys($var_email), array_values($var_email), $modelo_email['corpo']);

//variaveis para envio do email
$dados_envio['para_email'] = $email;
$dados_envio['de_email'] = $config_email_revenda['email'];
$dados_envio['de_nome'] = $config_email_revenda['nome_exibir'];
$dados_envio['de_senha'] = dpt($config_email_revenda['senha'], $s);
$dados_envio['assunto_email'] = $assunto;
$dados_envio['corpo_email'] = $corpo;
$dados_envio['servidor_email'] = $config_email_revenda['serv_mail']; 
//var_dump($dados_envio);exit();

//processando o envio do email
smtpmailer3($dados_envio);

$javascript = <<<EOF
<script charset="UTF-8">
alert('Login criado com sucesso. Já foi enviado um email com os dados do login teste.');
window.location.replace('{$_SESSION['URL_REFERER'][0]}');
</script>
EOF;
exit($javascript);
}// if add_login
}// if $_POST
?>
<!-- topo -->
<?php require_once 'includes/topo.php'; ?>
<div class="container"> 
<div class="col-sm-6 col-sm-offset-3">
<h5><?= $titulo; ?></h5>
<div class="alert alert-warning">
Atualmente os testes estão configurados para <?= $config_salvo['tempo_login_teste']; ?> horas. 
</div>
<form method="post">
<div class="form-group">
<label>Seu nome:</label><input class="form-control" name="nome"/> 
</div>
<div class="form-group">
<label>Email:</label><input class="form-control" name="email"/> 
</div>
<div class="form-group">
<label>Operadora/Região Disponivel:</label>
<?php if (count($perfis_disp) > 0): ?>
<?php foreach ($perfis_disp as $perfil): ?>
<div><input name="perfil[]" type="<?= ($config_salvo['mult_perf'] == '0') ? 'radio' : 'checkbox' ?>" value="<?= $perfil['id'] ?>"/> <?= strtoupper($perfil['name']) ?></div>
<?php endforeach; ?>
<?php else: ?>
<div class="alert alert-danger">Não existem opções disponiveis no momento.</div>
<?php endif; ?>
</div>
<div class="form-group"><br /><br />


<button class="btn btn-primary" <?php if (empty($perfis_disp) || count($perfis_disp) == 0): ?>disabled="true"<?php endif; ?> >Solicitar</button>

</form>
<hr/>
<p class="text-center">Todos direitos reservados</p>
</div>
</div>
</body>
</html>

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

  • Similar Content

    • By adrianno
      Olá, estou com a seguinte dúvida com uso do JWT , trabalho com PHP a um tempo e estou migrando alguns projetos para formato API REST,  mas também começando a trabalhar com JS,REACT, NODE etc e a dúvida basicamente se aplica independente da linguagem uma vez  que o formato JWT é padrão.
      Vamos lá,   imagine que ao fazer um login bem sucedido o usário receba um token JWT  padrão, e no payload  coloquei o ID: "ff0eb2864feb22354747f8c85d42ccb5" e EMAIL :  "email@teste.com" do usuário junto com outras info padrão de um JWT,   mas qual pe a forma mais correta de validar este token?  usando métodos de verificar a assinatura, ok,   desmontando e montando novamente o token passado para comparar, OK  mas como eu verifico a integridade do usuário, imagine que eu de alguma forma um usuário malicioso obtenha o token de outro usuário, se ele enviar este token em uma requisição, ele seria aceito, mesmo sem ter que fazer o login de usuário, uma vez  que a rota em questão vai verificar o token e o mesmo teoricamente vai funcionar e este teria acesso a API em nome de outro usuário. Quais são as formas corretas de se trabalhar com JWT?
    • By leandro123456789
      <div id="direito">
             
             <?php 
                      
                 $link = filter_input(INPUT_GET, 'link');
                 
                 $pag[1] = "../admin/home.php";
                 $pag[2] = "../admin/classes/Lista.php";
                 
              
              
                 if(!empty($link)){
                     
                     if(file_exists($pag[$link]))
                        
                      {
                         include $pag[$link];
                      
                      }
                        
                      else
                      { 
                         
                          include "home.php";
                      
                      }
                     
                 }else{
                     include "home.php";
                 }
              
              ?>
             
          </div>
       
       
      Estou tentando colocar a paginação do meu banco em $ pag [2] na minha página: ../admin/classes/Lista.php tem o seguinte código de paginação:

      <? php
          
          include_once ("../ admin / classes / ClassConexao.php");
          
          
          // verifique a página atual se informado no URL, caso contrário, ela será atribuída como 1ª página
          $ pagina = (isset ($ _ GET ['link = 2']))? $ _GET ['link = 2']: 1;
       
          // seleciona todos os itens da tabela
          $ cmd = "selecione * da categoria";
          $ produtos = mysqli_query ($ conn, $ cmd);
          
          // conta o total de itens
          $ total = mysqli_num_rows ($ produtos);
       
          // seta o número de itens por página, neste caso, 2 itens
          $ registros = 2;
       
          // calcula o número de páginas arredondando o resultado
          $ numPaginas = teto ($ total / $ registros);
       
          // variável para calcular o início da visualização com base na página atual
          $ inicio = ($ registros * $ pagina) - $ registros;
       
          // seleciona itens por página
          $ cmd = "selecione * da categoria limite $ inicio, $ registros";
          $ produtos = mysqli_query ($ conn, $ cmd);
          $ total = mysqli_num_rows ($ produtos);
           
          // exibe produtos selecionados
          while ($ produto = mysqli_fetch_array ($ produtos)) {
              echo $ produto ['id_categoria']. "-";
              echo $ produto ['categoria']. "-";
              echo $ produto ['ativo_categoria']. "<br />";
          }

      // Não sei como consertar esta parte para mostrar a paginação nesse $ pag [2] = "../admin/classes/Lista.php";
           
          // exibe paginação
          para ($ i = 1; $ i <$ numPaginas + 1; $ i ++) {
              
             echo "<a href='?pagina=$i'>". $ i. "</a>";
          }
                  
      ?>
      Meu menu fica assim:

      <div id = "sessao"> Categoria </div>
         <ul>
             
            
             <li> <a href="index.php?link=3"> Cadastro </a> </li>
             <li> <a href="index.php?link=2"> Listar / Editar </a> </li>
         
        </ul>
    • By violin101
      Caros amigos
       
      saudações...
       
      Gostaria de tirar uma dúvida com os amigos, referente uma função em Codeigniter.
       
      Fiz algumas pesquisa, mas não entendi muito bem.
       
      No Codeigniter existe base_url() e site_url(), qual é a diferença entre essas funções ou são a mesma coisa ?
       
      Grato,
       
      Cesar
    • By Kemily
      Estou com dificuldade com este programa.
      Ele da erro e não sei o que posso fazer para ele mostrar na tela o exemplo da venda de carros.
      Neste programa eu preciso conseguir dar opções de carros e formas de pagamento ao usuário para depois armazenar a escolha e assim criar uma tabela com o id do usuário, escolha de carro, quanto será a entrada e quantas parcelas de pagamento.
      Faltam algumas coisas ainda mas eu não sei como inseri-las.
      <?php if ($_POST) { $saldo = $_POST['total'] - $_POST['entrada']; <tr> <td>carro</td> <td>$_post['carro']</td> </tr> <tr> <td>total</td> <td>$_post['carro']</td> </tr> <tr> <td>estrada</td>, <td>$_post['entrada']</td> </tr> <tr> <td>parcelas</td> <td>$_post['parcelas']</td> </tr> <tr> <td>saldo</td> <td>$_POST['total'] - $_POST['entrada']</td> </tr> } ?> <html> <body> <form name='Carros' action='' method='post'> <label for="carros">Qual carro deseja comprar?</label> <br> <br> <select name="carros"> <option value="bmw">BMW M3 Sedã</option> <option value="chevrolet">Chevrolet Volt</option> <option value="dodge">Chrysler/Dodge Journey</option> <option value="citroen">Citroen C4 Lounge</option> <option value="ford">Ford Ka</option> </select> <label for="entrada">$ Entrada</label> <input type="dinheiro" value="0" name="entrada"><br> <label for="parcelas">Quantas parcelas?</label> <select name="parcelas"> <option value="12">12</option> <option value="24">24</option> <option value="36">36</option> <option value="48">48</option> </select><br><br> <label for="total">$ Total</label> <input type="dinheiro" value="0" name="total"><br> <input type="submit" value="Enviar"> </form> </body> </html>  
    • By Kemily
      <? php /* 1 - Faça uma função que recebe 3 numeros e faça a média aritmética desses números e retorne o resultado. */ if (isset ($_POST['enviar'])); $valor1 = $_POST['valor1']; $valor2 = $_POST['valor2']; $valor3 = $_POST['valor3']; $media = ($valor1 + $valor2 + $valor3) / 3; endif; ?> <!DOCTYPE html> <html> <head> <meta charset = "Utf-8"> <title> Cálculo da média aritimética</title> </head> <body> <form method="post" action=""> <br> <label>Primeiro valor: </label> <input name="valor1" type="text"> <br> <label>Segundo valor: </label> <input name="valor2" type="text"> <br> <label> Terceiro valor: </label> <input name="valor3" type="text"> <br> <br> <button type="submit" name="enviar"> Calcular Média </button> <button type="reset"> Limpar </button> <br> <br> Valor da Média <? php echo "A média equivale a:<br>" . $media . " - "; ?> </form> </body> </html> Alguém pode me ajudar?
      Eu estou fazendo este programa para calcular a média aritmética de três número que serão digitados pelo usuário.
      Porém não estou conseguindo fazer o resultado ser apresentado na tela.
      Nem o ultimo "echo" aparece só o " " . $media . " - "; " literalmente é isso que aparece onde deveria mostrar o resultado.
      Sou iniciante na área de php e se puderem ajudar agradeço. 
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.