Jump to content

Archived

This topic is now archived and is closed to further replies.

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

  • Similar Content

    • By Sapinn
      Fala galare, blz? Então, estou desenvolvendo um sistema de vendas e eu gostaria de saber como fazer para devolver o produto ao estoque no caso de cancelamento da venda ou na devolução.
      Por exemplo:
      Digamos que eu tenha um estoque com 10 fones de ouvido, 5 teclados e 20 pen drives.
      Então um cliente comprou 1 fone de ouvido, 1 teclado e 2 pendrive, eu já consigo ajustar o estoque para diminuir ficando:
      9 fones de ouvido, 4 teclados, 18 pen drives.
       
      Mas digamos que, por alguma razão, o cliente gostaria de devolver o pen drives e o fone de ouvido como eu faria para colocar ambos de volta ao seu respectivo estoque, ou seja ajustar os 9 fones e os 18 pen drive de volta para 10 fones e 20 pen drive??
    • By Giovanird
      Olá a todos!

      Tenho uma rotina no cron em um servidor que executa uma pagina onde é alterado o status de clientes.
      Preciso que após acessar e alterar o status do cliente, está pagina seja direcionada para uma outra pagina após uns 10 segundos.
      Executando diretamente pelo navegador a página é direcionada corretamente, quando executada pelo cron ela não direciona.
       
      No  cron estou usando o comando:
      curl -s https://www.dominio.com.br/alt.php
       
      No direcionamento coloquei um refresh javascript dentro de um header
      header( 'refresh:10; url=https://www.dominio.com.br/posalt.php?t=2');
       
      Obs.: Está pagina já roda a algum tempo no cron sem o direcionamento, agora que se fez necessário criar este direcionamento.
       

    • By danilo759
      Estou contratando um programador PHP para desenvolver um guia de programação, pago à vista.
    • By alysson122010
      Gostaria de saber como eu consigo recuperar dados do xml da seguinte forma. Tenho esse meu codigo php
       
      foreach($xml -> cadastros->exame as $item_3){  
                  $codigo = $item_3['codigo']; 
      }
       
      Que recuperar os exames desse xml:
      <?xml version="1.0" encoding="ISO-8859-1" standalone="yes"?> <resultados versao="20101018" origem="aol" datahora="2021-07-22 08:25:45">     <cadastros>         <pacientes>             <paciente codigo="250058718" codigo_lis="" codigo_aol="250058718" datanasc="" nome=" " sexo="M"/>         </pacientes>         <materiais>             <material codigo="856" descricao="plasma citratado"/>             <material codigo="879" descricao="sangue total EDTA"/>             <material codigo="543" descricao="soro"/>         </materiais>         <exame codigo="TSH" descricao="TSH - HORMÔNIO TIREOESTIMULANTE - Ultrassensivel" dataalteracao="21/11/2019 17:37:15">             <linhasresultado>                 <linha codigo="1240" descricao="TSH - HORMÔNIO TIREOESTIMULANTE Ultrasensivel" unidade="µUI/mL"/>             </linhasresultado>             <valorreferencia><![CDATA[0 a 3 dias: 1,100 a 15,700 µUI/mL 3 dias a 2 meses e 14 dias: 0,600 a 9,200 µUI/mL 2meses 14dias a 1ano 3meses:0,400 a 6,000 µUI/mL 1 ano e 3 meses a 6 anos: 0,400 a 5,200 µUI/mL 6 a 15 anos: 0,300 a 4,200 µUI/mL 15 a 60 anos: 0,400 a 4,300 µUI/mL 60 a 80 anos: 0,400 a 5,800 µUI/mL Superior a 80 anos: 0,400 a 6,700 µUI/mL Gestantes: Primeiro Trimestre: 0,100 a 3,600 µUI/mL Segundo Trimestre: 0,400 a 4,300 µUI/mL Terceiro Trimestre: 0,400 a 4,300 µUI/mL ]]></valorreferencia>         </exame>         <exame codigo="LIPAS" descricao="LIPASE" dataalteracao="28/03/2019 09:23:47">             <linhasresultado>                 <linha codigo="883" descricao="LIPASE" unidade="U/L"/>             </linhasresultado>             <valorreferencia><![CDATA[Inferior a 60,0 U/L]]></valorreferencia>         </exame>         <exame codigo="T4L" descricao="T4 - TIROXINA LIVRE" dataalteracao="16/04/2019 14:43:34">             <linhasresultado>                 <linha codigo="1174" descricao="T4 - TIROXINA LIVRE" unidade="ng/dL"/>             </linhasresultado>             <valorreferencia><![CDATA[0,70 a 1,80  ng/dL]]></valorreferencia>         </exame>         <exame codigo="AMILA" descricao="AMILASE TOTAL" dataalteracao="16/04/2019 12:02:51">             <linhasresultado>                 <linha codigo="83" descricao="AMILASE TOTAL" unidade="U/L"/>             </linhasresultado>             <valorreferencia><![CDATA[Até  115,0 U/L]]></valorreferencia>         </exame>         <exame codigo="FA" descricao="FOSFATASE ALCALINA" dataalteracao="15/04/2019 11:51:01">             <linhasresultado>                 <linha codigo="542" descricao="FOSFATASE ALCALINA" unidade="U/L"/>             </linhasresultado>             <valorreferencia><![CDATA[0 a 14 dias: 82 a 249 U/L 15 dias a 1 ano: 122 a 473 U/L Sexo Feminino: Feminino 1 a 9 anos: 149 a 301 U/L Feminino 10 a 12 anos: 127 a 326 U/L Feminino 13 a 14 anos: 62 a 212 U/L Feminino 15 a 16 anos: 52 a 120 U/L Feminino 17 a 18 anos: 45 a 97 U/L Adultos: 25 a 100 U/L Sexo Masculino: Masculino 1 a 9 anos: 149 a 301 U/L Masculino 10 a 12 anos: 127 a 326 U/L Masculino 13 a 14 anos: 129 a 437 U/L Masculino 15 a 16 anos: 78 a 268 U/L Masculino 17 a 18 anos: 40 a 129 U/L Adultos: 25 a 100 U/L Referência: Fontes R, Cavalari E, Vieira Neto L, et al. Alkaline phosphatase: reference interval transference from CALIPER to a pediatric Brazilian population. J Bras Patol Med Lab. 2018; 54(4): 227-31.]]></valorreferencia>         </exame>         <exame codigo="HBGLI3" descricao="HEMOGLOBINA GLICADA" dataalteracao="28/06/2021 09:26:18">             <linhasresultado>                 <linha codigo="12976" descricao="Hb SA1c - Forma estável" unidade="%"/>                 <linha codigo="16572" descricao="Glicose Média Estimada (GME)" unidade="mg/dL"/>             </linhasresultado>             <valorreferencia><![CDATA[ Hemoglobina Glicada - Hb SA1c Normal: Inferior a 5.7% Risco aumentado para Diabetes Mellitus: 5,7 a 6,4% Diabete Mellitus: Igual ou superior a 6,5% Para o diagnóstico de Diabetes Mellitus a dosagem  de HbA1c deve ser confirmada com novo exame em dia diferente,exceto se houver hiperglicemia inequívo- ca com descompensação metabólica aguda ou sintomas clássicos da doença. A Associação Americana de Diabetes recomenda como  meta para o tratamento de pacientes diabéticos re- sultados de HbA1c iguais ou inferiores a 7%.  Conforme recomendado pela American Diabetes Asso- ciation(ADA) e European Association for the Study  of Diabetes (EASD), estamos liberando cálculo da  glicose média estimada(GME). Este cálculo é obtido a partir do valor de HbA1c através de uma fórmula  matemática baseada em uma relação linear entre os  níveis de HbA1c e a glicose média sanguínea.  Ref. Diabetes Care, 2014; 37 (suppl 1): 81-90/Diretri- zes da Sociedade Brasileira de Diabestes/2013-2014 :9-11.]]></valorreferencia>         </exame>         <exame codigo="COAG4" descricao="COAGULOGRAMA IV" dataalteracao="06/09/2019 14:27:19">             <linhasresultado>                 <linha codigo="14811" descricao="PLAQUETAS - Contagem" unidade="/uL"/>             </linhasresultado>             <valorreferencia><![CDATA[Atividade de Protrombina: 70 a 100% RNI: 0,80 a 1,20 Ratio: Inferior a 1,25 Plaquetas: 150.000 a 450.000/uL RNI - Intervalo de Refêrencias(Alvos Terapeuticos) Recomendações do American College of Physicians, National Heart Lung and Blood Institute for Haematology.]]></valorreferencia>         </exame>     </cadastros>     <solicitacao codigo="238228701" codigo_aol="238228701" paciente="250058718">         <amostras>             <amostra codigo="0" descricao="Basal" material="856"/>             <amostra codigo="1" descricao="Basal" material="879"/>             <amostra codigo="2" descricao="Basal" material="543"/>         </amostras>         <exame codigo="FA" dataresultado="20/07/2021 04:27:20" metodo="Colorimétrico" observacao="" normal="S">             <resultado amostra="2" linharesultado="542" resultado="51,0"/>         </exame>         <exame codigo="HBGLI3" dataresultado="20/07/2021 05:48:28" metodo="Imunoensaio Turbidimétrico de Inibição " observacao="" normal="S">             <resultado amostra="1" linharesultado="12976" resultado="5,1"/>             <resultado amostra="1" linharesultado="16572" resultado="100"/>         </exame>         <exame codigo="TSH" dataresultado="20/07/2021 04:27:20" metodo="Eletroquimioluminescência" observacao="Considerar a metodologia Quimioluminescência para a análise deste teste." normal="S">             <resultado amostra="2" linharesultado="1240" resultado="2,000"/>         </exame>         <exame codigo="AMILA" dataresultado="20/07/2021 04:27:20" metodo="Colorimétrico Enzimático" observacao="Considerar a metodologia Quimioluminescência para a análise deste teste." normal="S">             <resultado amostra="2" linharesultado="83" resultado="83,0"/>         </exame>         <exame codigo="COAG4" dataresultado="21/07/2021 13:29:20" metodo="Coagulométrico/Sistema Automatizado" observacao="" normal="S">             <resultado amostra="0" linharesultado="14811" resultado="305000"/>         </exame>         <exame codigo="LIPAS" dataresultado="20/07/2021 04:27:20" metodo="Colorimétrico Enzimático" observacao="" normal="S">             <resultado amostra="2" linharesultado="883" resultado="47,0"/>         </exame>         <exame codigo="T4L" dataresultado="20/07/2021 04:27:20" metodo="Eletroquimioluminescência" observacao="Considerar a metodologia Quimioluminescência para a análise deste teste." normal="S">             <resultado amostra="2" linharesultado="1174" resultado="1,16"/>         </exame>     </solicitacao> </resultados>  
      Até ai consegui e conseguir mostrar o valor de codigo="codigo do exame". Porém preciso fazer uma segunda consulta da parte :
       
       
      <solicitacao codigo="238228701" codigo_aol="238228701" paciente="250058718">         <amostras>             <amostra codigo="0" descricao="Basal" material="856"/>             <amostra codigo="1" descricao="Basal" material="879"/>             <amostra codigo="2" descricao="Basal" material="543"/>         </amostras>         <exame codigo="FA" dataresultado="20/07/2021 04:27:20" metodo="Colorimétrico" observacao="" normal="S">             <resultado amostra="2" linharesultado="542" resultado="51,0"/>         </exame>         <exame codigo="HBGLI3" dataresultado="20/07/2021 05:48:28" metodo="Imunoensaio Turbidimétrico de Inibição " observacao="" normal="S">             <resultado amostra="1" linharesultado="12976" resultado="5,1"/>             <resultado amostra="1" linharesultado="16572" resultado="100"/>         </exame>         <exame codigo="TSH" dataresultado="20/07/2021 04:27:20" metodo="Eletroquimioluminescência" observacao="Considerar a metodologia Quimioluminescência para a análise deste teste." normal="S">             <resultado amostra="2" linharesultado="1240" resultado="2,000"/>         </exame>         <exame codigo="AMILA" dataresultado="20/07/2021 04:27:20" metodo="Colorimétrico Enzimático" observacao="Considerar a metodologia Quimioluminescência para a análise deste teste." normal="S">             <resultado amostra="2" linharesultado="83" resultado="83,0"/>         </exame>         <exame codigo="COAG4" dataresultado="21/07/2021 13:29:20" metodo="Coagulométrico/Sistema Automatizado" observacao="" normal="S">             <resultado amostra="0" linharesultado="14811" resultado="305000"/>         </exame>         <exame codigo="LIPAS" dataresultado="20/07/2021 04:27:20" metodo="Colorimétrico Enzimático" observacao="" normal="S">             <resultado amostra="2" linharesultado="883" resultado="47,0"/>         </exame>         <exame codigo="T4L" dataresultado="20/07/2021 04:27:20" metodo="Eletroquimioluminescência" observacao="Considerar a metodologia Quimioluminescência para a análise deste teste." normal="S">             <resultado amostra="2" linharesultado="1174" resultado="1,16"/>         </exame>     </solicitacao>  
      Onde eu consiga pegar o codigo que recuperei acima e liste os resultados da parte de solicitacao referente ao codigo="codigo do exame que eu listei a cima" mas nao to conseguindo fazer. Como eu posso fazer isso?
    • By ILR master
      Boa tarde pessoal!
       
      A minha dúvida é a seguinte:
      O script abaixo é de um formulário onde o cliente envia suas dúvidas ou sugestões, mas o email está chegando da seguinte forma:
      orcamentos@portasautomaticasandreluis.com.br - Contato pelo site
      e eu quero que chegue assim:
      André Luis Portas de Enrolar - Contato pelo site
       
      ou seja, no lugar do email quero que seja o nome da empresa.
       
      Será que consegui ser claro?
       
      Segue script que estou usando.
       
      Agradeço desde já!
       
      $atitulo= "Contato pelo site";
      $aemail = "orcamentos@portasautomaticasandreluis.com.br";
      $amsg .= "Olá, Administrador!
      O usuário ".$nome." com o email ".$email.", acabou de enviar a seguinte mensagem:
      ".$mensagem."";
      $amsg = utf8_decode($amsg);

          if (PATH_SEPARATOR ==":") {
              $quebra = "\r\n";
          } else {
              $quebra = "\n";
          }
          $headers = "MIME-Version: 1.1".$quebra;
          $headers .= "Content-type: text/plain; charset=iso-8859-1".$quebra;
          $headers .= "From: orcamentos@portasautomaticasandreluis.com.br".$quebra; //E-mail do remetente
          $headers .= "Return-Path: orcamentos@portasautomaticasandreluis.com.br".$quebra; //E-mail do remetente
          mail($aemail, $atitulo, $amsg, $headers, "-r". "orcamentos@portasautomaticasandreluis.com.br");
          }
×

Important Information

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