Jump to content
TeixeiraRamos

Erro ao enviar a mensagem!

Recommended Posts

Olá,

Tenho uma página em PHP 7 com MySQL,  com um formulário, código (PDO). 

Os registros são salvos no banco de dados sem problema, mas na parte superior do form indicar "Erro ao enviar a mensagem!".  O correto, já que não tem erro, seria indicar                                "Mensagem enviada com sucesso!", mensagem essa prevista no código.

O Código é esse:

<?php
session_start();
include_once("../versao_03/bd/conexao.php")
?>

<?php
	
if (isset($_SESSION['msg'])){
	echo $_SESSION['msg'];
	unset($_SESSION['msg']);
}	
	
$nome = filter_input(INPUT_POST, 'nome', FILTER_SANITIZE_STRING);
$mensagem = filter_input(INPUT_POST, 'mensagem', FILTER_SANITIZE_STRING);


$sql = "INSERT INTO mensagens_terco_m_gozosos (nome, mensagem) VALUES ('$nome','$mensagem')";

$result = $PDO->query($sql);

if(!$result)
{
	//print_r($PDO->errorInfo());
	//exit;
	
	$_SESSION['msg'] = "<div class='alert alert-success' role='alert'>Mensagem enviada com sucesso!</div>";
	header("Location: http://localhost/minhaspaginas/versao_03/tercomisteriosgozosos.php");
}else{
	$_SESSION['msg'] = "<div class='alert alert-danger' role='alert'>Erro ao enviar a mensagem!</div>";
	header("Location: http://localhost/minhaspaginas/versao_03/tercomisteriosgozosos.php");
}

?>

Obrigado

Share this post


Link to post
Share on other sites

Primeiro devo falar que seu código está completamente exposto a ataques.

if(!$result)

Se a variável não existe ou se não for nula entra nessa condição.

Share this post


Link to post
Share on other sites
try{
$sql = "INSERT INTO mensagens_terco_m_gozosos (nome, mensagem) VALUES ('$nome','$mensagem')";
$result = $PDO->query($sql);
$_SESSION['msg'] = "<div class='alert alert-success' role='alert'>Mensagem enviada com sucesso!</div>";
header("Location: http://localhost/minhaspaginas/versao_03/tercomisteriosgozosos.php");

}catch(PDOException $e){
    $_SESSION['msg'] = "<div class='alert alert-danger' role='alert'>Erro ao enviar a mensagem!</div>";
    header("Location: http://localhost/minhaspaginas/versao_03/tercomisteriosgozosos.php");

}

Share this post


Link to post
Share on other sites

Marcos,

Perfeito! O resultado foi satisfatório.

Vou procurar estudar a linha que você introduziu no meu código para não cometer esse erro novamente.

Muito obrigado, mas muito obrigado mesmo.

Desejo Muita Saúde, Paz e Sucesso na sua vida.

 

Com relação ao alerta do Omar, obrigado também.

 

Abraços e fiquem com Deus.

Share this post


Link to post
Share on other sites
Em 15/01/2020 at 11:44, Omar~ disse:

Primeiro devo falar que seu código está completamente exposto a ataques.

if(!$result)

Se a variável não existe ou se não for nula entra nessa condição.

 

OK. Muito obrigado.

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

  • Similar Content

    • By Jack Oliveira
      Ola pessoal bom dia 
      Bom estou tentando fazer um formulario de cadastros
      com ajax
       
      mais sempre me retorna o erro uma msg que definir caso não esteja fazendo
      Houve um erro ao fazer o seu cadastro, tente novamente!
       
       
      Mais já olhei tudo que podia não há porque dar erro pois esta sendo colocando os campos certos para cadastrar
       
      No Ajax esta da seguinte forma
      <script> $(function(){ $('.form').submit(function(){ $('.loading').html("<img src='loading.gif' width='45'>"); $.ajax({ url: '<?= ConfigPainel('site_url');?>controlers/cadastro_empresa_users.php', type: 'POST', data: $('.form').serialize(), success: function(data){ $('.mostrar').html(data); $('.loading').hide(); $('.form')[0].reset(); } }); return false; }); }); </script> no html no form fiz assim pegando a class form do ajax creio que não há nada de errado aqui
      <form action="" method="post" enctype="multipart/form-data" class="form">
       
      no php esta assim
       
      <?php header('Access-Control-Allow-Origin: *'); require_once ('../admin/database/config.php'); require_once ('../admin/database/config.database..php'); require_once ('../admin/database/config.session.php'); require_once ('../admin/includes/funcoes.php'); if($_POST){ if(empty($_POST['user_name']) || empty($_POST['user_lastname']) || empty($_POST['user_email']) || empty($_POST['user_telefone']) || empty($_POST['user_password']) || empty($_POST['user_plano']) || empty($_POST['nome_empresa']) || empty($_POST['nome_empresa_link'])){ echo '<script> $(document).ready(function(){ swal("Ops...","Preencha todos os campos obrigatórios!","warning"); }); </script>'; }else{ // INICIO PASSANDO PARA ARRAY DO USUARIO. $user_name = post('user_name'); $user_lastname = post('user_lastname'); $user_email = post('user_email'); $user_telefone = post('user_telefone'); $user_password = md5(post('user_password')); $user_plano = post('user_plano'); $user_level = 3; $user_registration = date('Y-m-d H:i:s'); // FIM ARRAY DO USUARIO. $QueryC = DBRead('configuracoes_site','*'); if (is_array($QueryC)) { foreach ($QueryC as $CONF) { //Teste $DiasDeTeste = $CONF['dias_testes']; //Plano 1 $nome_plano_um = $CONF['nome_plano_um']; $v_plano_um = $CONF['v_plano_um']; $dias_plano_um = $CONF['dias_plano_um']; //Plano 2 $nome_plano_dois = $CONF['nome_plano_dois']; $v_plano_dois = $CONF['v_plano_dois']; $dias_plano_dois = $CONF['dias_plano_dois']; //Plano 3 $nome_plano_tres = $CONF['nome_plano_tres']; $v_plano_tres = $CONF['v_plano_tres']; $dias_plano_tres = $CONF['dias_plano_tres']; }} //INICIO PASSANDO PARA ARRAY DA EMPRESA $nome_empresa = post('nome_empresa'); $nome_empresa_link = post('nome_empresa_link'); $end_uf_empresa = post('end_uf_empresa'); $cidade_empresa = post('cidade_empresa'); $end_bairro_empresa = post('end_bairro_empresa'); $end_rua_n_empresa = post('end_rua_n_empresa'); $email_empresa = post('user_email'); $telefone_empresa = preg_replace("/[^0-9]/", "", post('user_telefone')); $empresa_data_renovacao = date("Y-m-d", strtotime("+{$DiasDeTeste} days")); $QueryE = DBRead('estados','*',"WHERE id='{$end_uf_empresa}'"); if (is_array($QueryE)) { foreach ($QueryE as $ES) { $uf_empresa = $ES['sigla']; }} $QueryU = DBRead('ws_users','*',"WHERE user_plano='{$user_plano}'"); if (is_array($QueryU)) { foreach ($QueryU as $USER) { $UserPlano = $USER['user_plano']; }} switch ($UserPlano) { case '1': $Planos = $nome_plano_um; $Valor = 'R$:'.$v_plano_um.''; $Dias = 'Assinatura de '.$dias_plano_um.' dias'; break; case '2': $Planos = $nome_plano_dois; $Valor = 'R$:'.$v_plano_dois.''; $Dias = 'Assinatura de '.$dias_plano_dois.' dias'; break; case '3': $Planos = $nome_plano_tres; $Valor = 'R$:'.$v_plano_tres.''; $Dias = 'Assinatura de '.$dias_plano_tres.' dias'; break; default: $Planos = 'Plano Teste'; $Valor = 'Bônus R$: 21,00'; $Dias = 'Assinatura de '.$empresa_data_renovacao.' dias grátis'; break; } $Adicionar = array( 'user_name' => $user_name, 'user_lastname' => $user_lastname, 'user_email' => $user_email, 'user_telefone' => $user_telefone, 'user_password' => $user_password, 'user_plano' => $user_plano, 'user_level' => 3, 'user_registration' => $user_registration ); $Query = DBCreate('ws_users', $Adicionar); $Adicionar = array( 'nome_empresa' => $nome_empresa, 'nome_empresa_link' => $nome_empresa_link, 'end_uf_empresa' => $uf_empresa, 'cidade_empresa' => $cidade_empresa, 'end_bairro_empresa' => $end_bairro_empresa, 'end_rua_n_empresa' => $end_rua_n_empresa, 'email_empresa' => $email_empresa, 'telefone_empresa' => $telefone_empresa, 'empresa_data_renovacao' => $empresa_data_renovacao ); $Query = DBCreate('ws_empresa', $Adicionar); if ($Query != 0) { echo' <script> $(document).ready(function(){ swal("Ops '.utf8_encode($user_name).'...","Houve um erro ao fazer o seu cadastro, tente novamente!", "error"); }); </script>'; }else{ echo' <script> $(document).ready(function(){ swal("Sucesso '.utf8_encode($user_name).'...", "Seu cadastro foi realizado com sucesso.<br><a href="./login/Acessar"><button class="btn btn-default btn-sm"></button>Fazer Login...</a>", "success") }); </script>'; } } } Posso esta deixando passar algo no php que não estou vendo o problema....
    • By rafaelti
      Pessoal, tudo bem?
       
      Estou desenvolvendo um pequeno serviço gratuito para integrar formulários HTML com o Microsoft Teams. Gostaria de saber se esta ferramenta é útil para vocês, e também se teriam alguma sugestão de melhoria?
      Pretendo adicionar outros serviços futuramente, como Slack e Facebook Messenger.
       
      Segue o link:
      https://dockform.net
       
      Att,
      Rafael
    • By kaioneresm
      Olá, tenho um formulario que pede um nome de usuário.
      Preciso que ao tentar digitar o espaço do teclado ele não funcione. Ou seja o input text bloquea no mesmo momento que for digiado.
       
      Alguem pode me ajudar? Obrigado !!
    • By Alberto Nascimento
      Como faço que consiga colocar parágrafos no campo tipo "text" do formulário?
          <input name="Text1" style="width: 528px; height: 223px" type="text" /></form>
      Se eu pressiono ENTER automaticamente envia o formulário
      Como então consigo digitar ao preencher o formulário da forma abaixo?
       
    • By AndersonVSilva
      Bom dia Pessoal,
       
      Efetuei uma busca no forum e não encontrei alguma solução para meu problema.
       
      Tenho este form via HTML:
       
      <td><form id="form1" action="CallProc02.php" method="post"><input type="hidden" name="id" value="1" /></form></td> <td><input form="form1" type="text" name="DDDA" value="Ex: 75" /></td> <td><input form="form1" type="text" name="NumA" value="Ex: 982825441" /></td> <td><input form="form1" type="text" name="DtInit" value="Ex: 2018-01-01" /></td> <td><input form="form1" type="text" name="DtEnd" value="Ex: 2019-01-01" /></td> <td><input form="form1" type="submit" value="Enviar" /></td> E aqui está o código PHP:
      <?php $sDDDA = $_POST['DDDA']; $sNumA = $_POST['NumA']; $sDtInit = $_POST['DtInit']; $sDtEnd = $_POST['DtEnd']; $con = new PDO("mysql:host:IP;dbname=DB", "User", "Pass"); $stmt = $con->prepare("CALL NOC_cobranca_conecta_historico_msisdn(:qDDDA, :qNumA, :qDtInit, :qDtEnd) "); $stmt->bindParam(":qDDDA", $sDDDA, PDO::PARAM_STR, 3); $stmt->bindParam(":qNumA", $sNumA, PDO::PARAM_STR, 10); $stmt->bindParam(":qDtInit", $sDtInit, PDO::PARAM_STR, 12); $stmt->bindParam(":qDtEnd", $sDtEnd, PDO::PARAM_STR, 12); $stmt->execute(); $result = $stmt->fetchAll(PDO::FETCH_ASSOC); if ($result) { echo "OK"; } else { echo "NOK - Report Development Team"; } ?> No Apache ele fica logando o erro ' PHP Notice:  Undefined index: NumA in /var/www/html/Consulta/CallProc02.php' .
       
      Alguém pode me dizer oque estou fazendo errado?
       
      Obrigado desde já pela ajuda.
×

Important Information

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