Jump to content
Marxrj

Newsletter com erro de pular paragrafo e acentuação

Recommended Posts

Bom pessoal, tenho um newsletter bem simples, porém funciona com o disparado da hospedagem sem problemas.

Mas estou tendo dois problemas, o primeiro é que ao chegar o email no destinatário, o assunto chega com o erro de acentuação, porém na mensagem não tem o erro.

E o segundo e na mensagem que não pula a linha.

 

No assunto mando para testar: Olá Você e chega Olá? Você

Já na mensagem eu escrevo: 

Olá Você

Como vai?

E chega sem o pulo da linha, porém sem erro de acentuação:  Olá você\r\nComo vai?

 

O trecho do arquivo para quem puder dar uma bola

 

<td width="100%" valign="center">
	<p align="center"><font size=3><b>Aviso por email</b></p>
    <? if ($_POST[acao] == "enviar") {

$sql = $sqli->query("SELECT * FROM clientes");
$i = 1;
while ($coluna = mysqli_fetch_array($sql)) {
$headers = "Content-type: text/html; charset=iso-8859-1\r\n";
$headers.= "From:$_POST[form_nome]<$_POST[form_email]>";
	if (@mail($coluna[email],$_POST[form_assunto],$_POST[form_mensagem],$headers)) { echo "$i. <font color=blue><font size=3>$coluna[email] - $coluna[cliente] - enviado</font><br>"; }
	else { echo "$i. <font color=red><font size=4>$coluna[email] $coluna[cliente] - $coluna[cpf]- falhou</font><br>"; }
flush(); $i++;
} ?><p align="center"><a href="<?=$_SERVER['SCRIPT_NAME']?>">Voltar</a></p>
<? } else { ?><p align="center"><font size=3><b>O sistema possui <? echo mysqli_num_rows($result = $sqli->query("SELECT * FROM clientes"))?> Clientes cadastrados no banco de dados.</p>
		<form name="form1" method="post" action="<?=$_SERVER['SCRIPT_NAME']?>">
		  <table width="100%"  border="0" align="center" cellpadding="0" cellspacing="0" bordercolor="#FFE4C4">
           
			
		<div class="container">
                     <form>	
			<div class="row">
      <div class="col-25">
        <label><b>De:</b></label>
      </div>
      <div class="col-75">
        <input name="form_nome" id="form_nome" value="" placeholder="Seu nome" size="30">
      </div>
    </div>
	
	   <div class="row">
      <div class="col-25">
        <label><b>Email:</b></label>
      </div>
      <div class="col-75">
        <input name="form_email" id="form_email" value="" placeholder="Seu email" size="30">
      </div>
    </div>

<div class="row">
      <div class="col-25">
        <label><b>Assunto:</b></label>
      </div>
      <div class="col-75">
        <input name="form_assunto" id="form_assunto" value="" placeholder="Seu assunto" size="30">
      </div>
    </div>

<div class="row">
      <div class="col-25">
        <label><b>Aviso:</b></label>
      </div>
      <div class="col-75">
        <textarea name="form_mensagem" type="text" id="form_mensagem"></textarea>
      </div>
    </div>	
							
            <tr align="right">
              <td colspan="2"><input name="acao" type="hidden" id="acao" value="enviar">
                  <input type="submit" name="Submit" value="Enviar Mensagem"></td>
            </tr>
          </table>
	      </form>

 

Share this post


Link to post
Share on other sites

Cara inclui no seu formulário

 

$headers  = 'MIME-Version: 1.1' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
$headers .= "Content-type: text/html; charset=utf-8\n";

e ver se ajuda em algo.

Share this post


Link to post
Share on other sites
6 minutos atrás, Francklyn Souza disse:

Cara inclui no seu formulário

 


$headers  = 'MIME-Version: 1.1' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
$headers .= "Content-type: text/html; charset=utf-8\n";

e ver se ajuda em algo.

Não alterou em nada, continua a mesma coisa sem tirar nem por

Share this post


Link to post
Share on other sites
3 minutos atrás, Marxrj disse:

Não alterou em nada, continua a mesma coisa sem tirar nem por

Bom faz assim, tenta enviar direto pelo form

 

<form name="form1" accept-charset="ISO-8859-1" method="post" action="<?=$_SERVER['SCRIPT_NAME']?>">

Eu utilizo assim no meu e não tenho problemas assim que eu envio.

Share this post


Link to post
Share on other sites
3 minutos atrás, Francklyn Souza disse:

 

 


<form name="form1" accept-charset="ISO-8859-1" method="post" action="<?=$_SERVER['SCRIPT_NAME']?>">

Colocando este accept-charset="ISO-8859-1" a mensagem agora não chega nem com assunto nem mensagem. Que bagulho doido

 

Share this post


Link to post
Share on other sites
1 minuto atrás, Marxrj disse:

Colocando este accept-charset="ISO-8859-1" a mensagem agora não chega nem com assunto nem mensagem. Que bagulho doido

Então tem algo errado no seu código, vou deixar pro pessoal aqui lhe ajudar melhor, pois eu não utilizo servidor e sim só envio pro email, mais deixar o pessoal aqui lhe dá maiores informações.

Share this post


Link to post
Share on other sites
17 minutos atrás, Dimitry disse:

adiciona esse meta no teu header no HTML


<meta http-equiv="Content-Language" content="pt-br">

 

Ele já tem este meta no header, não é isso ainda

Share this post


Link to post
Share on other sites

Tem de verificar TMB em que formato esta a ser gravada a informação na DB. ou seja em que charset

 

E verificar em que charset foi feita a DB

Share this post


Link to post
Share on other sites
1 minuto atrás, Dimitry disse:

Tem de verificar TMB em que formato esta a ser gravada a informação na DB. ou seja em que charset

Mas não é isso, pois o newsletter não pega nem assunto e nem mensagem do BD, ele só pega os emails dos clientes, então não é nada com o BD. Vou jogar o arquivo completo para download em algum lugar e postar aqui, aí talvez fique mais fácil para quem quiser verificar

Share this post


Link to post
Share on other sites

tenta assim:

<td width="100%" valign="center">
	<p align="center"><font size=3><b>Aviso por email</b></p>
    <? if ($_POST[acao] == "enviar") {

$sql = $sqli->query("SELECT * FROM clientes");
$i = 1;
while ($coluna = mysqli_fetch_array($sql)) {
$headers = "Content-Type: text/html; charset=UTF-8". "\r\n";
$headers.= "From:$_POST[form_nome]<$_POST[form_email]>";
	if (@mail($coluna[email],$_POST[form_assunto],$_POST[form_mensagem],$headers)) { echo "$i. <font color=blue><font size=3>$coluna[email] - $coluna[cliente] - enviado</font><br>"; }
	else { echo "$i. <font color=red><font size=4>$coluna[email] $coluna[cliente] - $coluna[cpf]- falhou</font><br>"; }
flush(); $i++;
} ?><p align="center"><a href="<?=$_SERVER['SCRIPT_NAME']?>">Voltar</a></p>
<? } else { ?><p align="center"><font size=3><b>O sistema possui <? echo mysqli_num_rows($result = $sqli->query("SELECT * FROM clientes"))?> Clientes cadastrados no banco de dados.</p>
		<form name="form1" method="post" action="<?=$_SERVER['SCRIPT_NAME']?>">
		  <table width="100%"  border="0" align="center" cellpadding="0" cellspacing="0" bordercolor="#FFE4C4">
           
			
		<div class="container">
                     <form>	
			<div class="row">
      <div class="col-25">
        <label><b>De:</b></label>
      </div>
      <div class="col-75">
        <input name="form_nome" id="form_nome" value="" placeholder="Seu nome" size="30">
      </div>
    </div>
	
	   <div class="row">
      <div class="col-25">
        <label><b>Email:</b></label>
      </div>
      <div class="col-75">
        <input name="form_email" id="form_email" value="" placeholder="Seu email" size="30">
      </div>
    </div>

<div class="row">
      <div class="col-25">
        <label><b>Assunto:</b></label>
      </div>
      <div class="col-75">
        <input name="form_assunto" id="form_assunto" value="" placeholder="Seu assunto" size="30">
      </div>
    </div>

<div class="row">
      <div class="col-25">
        <label><b>Aviso:</b></label>
      </div>
      <div class="col-75">
        <textarea name="form_mensagem" type="text" id="form_mensagem"></textarea>
      </div>
    </div>	
							
            <tr align="right">
              <td colspan="2"><input name="acao" type="hidden" id="acao" value="enviar">
                  <input type="submit" name="Submit" value="Enviar Mensagem"></td>
            </tr>
          </table>
	      </form>

 

Share this post


Link to post
Share on other sites

Assim funciona de certeza absoluta garanto 100%

<?php include 'conexao.php';

 ?>

<!doctype html>
   <html>
      <head>

    <meta charset="utf-8">
    <title>Newsletter</title>
    <link href="css/estilo.css" rel="stylesheet" type="text/css" />
	<link rel="stylesheet" href="css/grid.css">
	<link href="css/bootstrap.min.css" rel="stylesheet">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta http-equiv="Content-Language" content="pt-br">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->
    <meta name="description" content="">
    <meta name="author" content="newsletter">
    
	
<style>
img{
 max-width:100%;
 height:auto;
}
</style>

</style>
		
</head>
      <body bgcolor="#E8E8E8">
          
    
	<table width="100%" border="1" align="center" cellpadding="2" cellspacing="0" bordercolor="#000000" style="border-collapse: collapse">
	  <tr><td width="100%" valign="top" bgcolor="#CFCFCF"><? include ("menu.php")?></td></tr>
      </table>
	  </td>
      </tr>
 
    <td width="100%" valign="center">
	<p align="center"><font size=3><b>Aviso por email</b></p>
    <? if ($_POST[acao] == "enviar") {

$sql = $sqli->query("SELECT * FROM clientes");
$i = 1;
while ($coluna = mysqli_fetch_array($sql)) {
$headers  = 'MIME-Version: 1.1' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
$headers .= "Content-type: text/html; charset=utf-8\n";
$headers.= "From:$_POST[form_nome]<$_POST[form_email]>";
	if (@mail($coluna[email],'=?UTF-8?B?'.base64_encode($_POST[form_assunto]).'?=','=?UTF-8?B?'.base64_encode($_POST[form_mensagem]).'?=',$headers)) { echo "$i. <font color=blue><font size=3>$coluna[email] - $coluna[cliente] - enviado</font><br>"; }
	else { echo "$i. <font color=red><font size=4>$coluna[email] $coluna[cliente] - $coluna[cpf]- falhou</font><br>"; }
flush(); $i++;
} ?><p align="center"><a href="<?=$_SERVER['SCRIPT_NAME']?>">Voltar</a></p>
<? } else { ?><p align="center"><font size=3><b>O sistema possui <? echo mysqli_num_rows($result = $sqli->query("SELECT * FROM clientes"))?> Clientes cadastrados no banco de dados.</p>
		<form name="form1" method="post" action="<?=$_SERVER['SCRIPT_NAME']?>">
		<table width="100%"  border="0" align="center" cellpadding="0" cellspacing="0" bordercolor="#FFE4C4">
           
			
		<div class="container">
                     <form>	
			<div class="row">
      <div class="col-25">
        <label><b>De:</b></label>
      </div>
      <div class="col-75">
        <input name="form_nome" id="form_nome" value="" placeholder="Seu nome" size="30">
      </div>
    </div>
	
	   <div class="row">
      <div class="col-25">
        <label><b>Email:</b></label>
      </div>
      <div class="col-75">
        <input name="form_email" id="form_email" value="" placeholder="Seu email" size="30">
      </div>
    </div>

<div class="row">
      <div class="col-25">
        <label><b>Assunto:</b></label>
      </div>
      <div class="col-75">
        <input name="form_assunto" id="form_assunto" value="" placeholder="Seu assunto" size="30">
      </div>
    </div>

<div class="row">
      <div class="col-25">
        <label><b>Aviso:</b></label>
      </div>
      <div class="col-75">
        <textarea name="form_mensagem" type="text" id="form_mensagem"></textarea>
      </div>
    </div>	
							
            <tr align="right">
              <td colspan="2"><input name="acao" type="hidden" id="acao" value="enviar">
                  <input type="submit" name="Submit" value="Enviar Mensagem"></td>
            </tr>
          </table>
	      </form>
<? } ?><br>
 <tr align="right" bgcolor="#0000FF">

            </tr>
        </table>
		
    </body>
</html>

 

Share this post


Link to post
Share on other sites
6 minutos atrás, Dimitry disse:

Assim funciona de certeza absoluta garanto 100%

Agora piorou de vez, até a mensagem vem cheia de erros. Rsrs

Share this post


Link to post
Share on other sites

Desculpa erro meu estava a pensar uma e fiz outra, "PRESA" agora sim vai funcionar a 100%

<?php include 'conexao.php';

 ?>

<!doctype html>
   <html>
      <head>

    <meta charset="utf-8">
    <title>Newsletter</title>
    <link href="css/estilo.css" rel="stylesheet" type="text/css" />
	<link rel="stylesheet" href="css/grid.css">
	<link href="css/bootstrap.min.css" rel="stylesheet">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta http-equiv="Content-Language" content="pt-br">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->
    <meta name="description" content="">
    <meta name="author" content="newsletter">
    
	
<style>
img{
 max-width:100%;
 height:auto;
}
</style>

</style>
		
</head>
      <body bgcolor="#E8E8E8">
          
    
	<table width="100%" border="1" align="center" cellpadding="2" cellspacing="0" bordercolor="#000000" style="border-collapse: collapse">
	  <tr><td width="100%" valign="top" bgcolor="#CFCFCF"><? include ("menu.php")?></td></tr>
      </table>
	  </td>
      </tr>
 
    <td width="100%" valign="center">
	<p align="center"><font size=3><b>Aviso por email</b></p>
    <? if ($_POST[acao] == "enviar") {

$sql = $sqli->query("SELECT * FROM clientes");
$i = 1;
while ($coluna = mysqli_fetch_array($sql)) {
$headers  = 'MIME-Version: 1.1' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
$headers .= "Content-type: text/html; charset=utf-8\n";
$headers.= "From:$_POST[form_nome]<$_POST[form_email]>";
	if (@mail($coluna[email],'=?UTF-8?B?'.base64_encode($_POST[form_assunto]).'?=', mb_convert_encoding($_POST[form_mensagem], "ISO-8859-1"),$headers)) { echo "$i. <font color=blue><font size=3>$coluna[email] - $coluna[cliente] - enviado</font><br>"; }
	else { echo "$i. <font color=red><font size=4>$coluna[email] $coluna[cliente] - $coluna[cpf]- falhou</font><br>"; }
flush(); $i++;
} ?><p align="center"><a href="<?=$_SERVER['SCRIPT_NAME']?>">Voltar</a></p>
<? } else { ?><p align="center"><font size=3><b>O sistema possui <? echo mysqli_num_rows($result = $sqli->query("SELECT * FROM clientes"))?> Clientes cadastrados no banco de dados.</p>
		<form name="form1" method="post" action="<?=$_SERVER['SCRIPT_NAME']?>">
		<table width="100%"  border="0" align="center" cellpadding="0" cellspacing="0" bordercolor="#FFE4C4">
           
			
		<div class="container">
                     <form>	
			<div class="row">
      <div class="col-25">
        <label><b>De:</b></label>
      </div>
      <div class="col-75">
        <input name="form_nome" id="form_nome" value="" placeholder="Seu nome" size="30">
      </div>
    </div>
	
	   <div class="row">
      <div class="col-25">
        <label><b>Email:</b></label>
      </div>
      <div class="col-75">
        <input name="form_email" id="form_email" value="" placeholder="Seu email" size="30">
      </div>
    </div>

<div class="row">
      <div class="col-25">
        <label><b>Assunto:</b></label>
      </div>
      <div class="col-75">
        <input name="form_assunto" id="form_assunto" value="" placeholder="Seu assunto" size="30">
      </div>
    </div>

<div class="row">
      <div class="col-25">
        <label><b>Aviso:</b></label>
      </div>
      <div class="col-75">
        <textarea name="form_mensagem" type="text" id="form_mensagem"></textarea>
      </div>
    </div>	
							
            <tr align="right">
              <td colspan="2"><input name="acao" type="hidden" id="acao" value="enviar">
                  <input type="submit" name="Submit" value="Enviar Mensagem"></td>
            </tr>
          </table>
	      </form>
<? } ?><br>
 <tr align="right" bgcolor="#0000FF">

            </tr>
        </table>
		
    </body>
</html>

 

Share this post


Link to post
Share on other sites
4 minutos atrás, Dimitry disse:

Desculpa erro meu estava a pensar uma e fiz outra, "PRESA" agora sim vai funcionar a 100%

Nada amigo, não alterou nada, nem o erro de acentuação no assunto e na mensagem continua a não dar a quebra de linha

Share this post


Link to post
Share on other sites

Vou ver o que da mais trabalho, acertar isso ou chamar o phpMailer, se em que acho que não vai resolver, o problema ainda deve estar no código, coisa simples mas que tá dureza achar o problema

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 ppanetony
      Olá!
       
      Estou com um sistema em php onde alguns código estão duplicados.
      São códigos pequenos, simples, de no máximo umas 3 linhas.
      Esses código se repetem por vários arquivos.
      Qual a melhor maneira de eu extrair esses códigos para deixa-los como funções?!
      Um arquivo com várias funções, uma classe deixando essas funções como static, ..., ... ?!
       
       
      Valeu!
       
    • By drx
      Bom dia pessoal!
      Primeiramente, me perdoem a ignorância se minha pergunta for cabeluda, beleza pessoal?
      Me tirem uma dúvida aqui se possível.
      Eu envio a divulgação de um produto via e-mail a um cliente e ele recebe  uma pagina em php certo? É óbvio que ele receberá em html e suas tags.
      Quando o cliente clicar na imagem, então ele é redirecionado para uma loja virtual, correto?
      Esta página, pode interagir com um código php embutido nesta página tal como, identificar origem, link de quem enviou ?
       
      Aguardo.
    • By Boca
      Pessoal preciso fazer uma consulta simples mas não estou obtendo resultado, tenho a seguinte tabela
      --------------- | ID | TID | --------------- | 56 | 2 | --------------- | 58 | 2 | --------------- | 25 | 8 | --------------- | 25 | 2 | --------------- | 12 | 9 | --------------- | 18 | 2 | --------------- | 45 | 10 | --------------- | 35 | 2 | --------------- | 18 | 8 | ---------------
      Minha consulta
      SELECT ID FROM table WHERE TID = 2 and TID = 8 GROUP BY ID

      resultado esperado
      25 e 18
       
    • By marcosberaldo
      Boa noite.
       
      Estou criando um ranking de pontuação e preciso colocar uma paginação nesse ranking mas não posso fazer a paginação pelo select, pois a select tem que somar os pontos de cada jogador informados em cada registro no banco, se eu limito a select ele só vai somar os pontos dos registros da página e não todos os pontos do jogador.
       
      Dessa forma optei por fazer a select normalmente e criar um array onde eu pretendo exibir somente parte dos dados.
       
      Em resumo, consegui fazer da seguinte forma:
      $dados = mysqli_query($conn, "SELECT *, sum(Pontos) as TotalPontos, sum(Acerto_Exato) as Acertos FROM placares INNER JOIN jogadores ON placares.JogadorID = jogadores.id WHERE campeonato='$campeonato' GROUP BY JogadorID ORDER BY TotalPontos DESC, Acertos DESC "); for($a = 0; $a < 9; $a++ ) { $row = mysqli_fetch_array($dados); echo $row['JogadorID']. " - " .$row['nome']; } Esse código me retorna 10 registros do array, até ai tudo bem, mas eu gostaria de exibir apenas um intervalo, por exemplo do registro 5 ao 9. 
      Tentei da seguinte forma:
      $dados = mysqli_query($conn, "SELECT *, sum(Pontos) as TotalPontos, sum(Acerto_Exato) as Acertos FROM placares INNER JOIN jogadores ON placares.JogadorID = jogadores.id WHERE campeonato='$campeonato' GROUP BY JogadorID ORDER BY TotalPontos DESC, Acertos DESC "); for($a = 5; $a < 9; $a++ ) { $row = mysqli_fetch_array($dados); echo $row['JogadorID']. " - " .$row['nome']; } Dessa forma ele me mostra apenas 5 registros, mas ele sempre me mostra os 5 primeiros e eu preciso carregar os últimos 5.
       
      Como faço???
    • By Matheus Jollyl da Silva
      Estou fazendo um cadastro simples usando CRUD, comecei a programar a pouco tempo e está sendo minha primeira experiencia com CRUD.
      fiz um pequeno cadastro e estou alterando para implementar aos poucos. Com uma dessas alterações os botões que eu adicionei perderam suas funcionalidades.
       
      Segue o código: 
       
       
      <?php
      // Verificar se foi enviando dados via POST
      if ($_SERVER['REQUEST_METHOD'] == 'POST') {
          $id = (isset($_POST["id"]) && $_POST["id"] != null) ? $_POST["id"] : "";
          $nome = (isset($_POST["nome"]) && $_POST["nome"] != null) ? $_POST["nome"] : "";
          $email = (isset($_POST["email"]) && $_POST["email"] != null) ? $_POST["email"] : "";
          $celular = (isset($_POST["celular"]) && $_POST["celular"] != null) ? $_POST["celular"] : NULL;
          $cidade = (isset($_POST["cidade"]) && $_POST["cidade"] != null) ? $_POST["cidade"] : NULL;
          $estado = (isset($_POST["estado"]) && $_POST["estado"] != null) ? $_POST["estado"] : NULL;
      } else if (!isset($id)) {
          // Se não se não foi setado nenhum valor para variável $id
          $id = (isset($_GET["id"]) && $_GET["id"] != null) ? $_GET["id"] : "";
          $nome = NULL;
          $email = NULL;
          $celular = NULL;
          $cidade = NULL;
          $estado = NULL;
      }
      try {
          $conexao = new PDO("mysql:host=localhost;port=3307;dbname=crudsimples", "root", "usbw");
          $conexao->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
          $conexao->exec("set names utf8");
      } catch (PDOException $erro) {
          echo "Erro na conexão:" . $erro->getMessage();
      }
      if (isset($_REQUEST["act"]) && $_REQUEST["act"] == "save" && $nome != "") {
          try {
              $stmt = $conexao->prepare("INSERT INTO contatos (nome, email, celular, cidade, estado) VALUES (?, ?, ?, ?, ?)");
              $stmt->bindParam(1, $nome);
              $stmt->bindParam(2, $email);
              $stmt->bindParam(3, $celular);
              $stmt->bindParam(4, $cidade);
              $stmt->bindParam(5, $estado);
               
              if ($stmt->execute()) {
                  if ($stmt->rowCount() > 0) {
                      echo "Dados cadastrados com sucesso!";
                      $id = null;
                      $nome = null;
                      $email = null;
                      $celular = null;
                      $cidade = null;
                      $estado = null;
                  } else {
                      echo "Erro ao tentar efetivar cadastro";
                  }
              } else {
                     throw new PDOException("Erro: Não foi possível executar a declaração sql");
              }
          } catch (PDOException $erro) {
              echo "Erro: " . $erro->getMessage();
          }
      }
      if (isset($_REQUEST["act"]) && $_REQUEST["act"] == "upd" && $id != "") {
          try {
              $stmt = $conexao->prepare("SELECT * FROM contatos WHERE id = ?");
              $stmt->bindParam(1, $id, PDO::PARAM_INT);
              if ($stmt->execute()) {
                  $rs = $stmt->fetch(PDO::FETCH_OBJ);
                  $id = $rs->id;
                  $nome = $rs->nome;
                  $email = $rs->email;
                  $celular = $rs->celular;
                  $cidade = $rs->cidade;
                  $estado = $rs->estado;
              } else {
                  throw new PDOException("Erro: Não foi possível executar a declaração sql");
              }
          } catch (PDOException $erro) {
              echo "Erro: ".$erro->getMessage();
          }
      }
      if ($id != "") {
          $stmt = $conexao->prepare("UPDATE contatos SET nome=?, email=?, celular=? cidade=?, estado=? WHERE id = ?");
          $stmt->bindParam(5, $id);
      } else {
          $stmt = $conexao->prepare("INSERT INTO contatos (nome, email, celular, cidade, estado) VALUES (?, ?, ?, ?, ?)");
      }
      ?>
      <!DOCTYPE html>
      <html>
          <head>
              <meta charset="UTF-8" />
              <link rel="stylesheet" type="text/css" href="cadastro.css" />
              <title>Cadastro em reforma.</title>
          </head>
          <body>
          <h1>Cadastro Simples.</h1>
                  
              <form action="?act=save" method="POST" name="form1" >
                  <hr>
                  <input type="hidden" name="id" <?php
                  // Preenche o id no campo id com um valor "value"
                  if (isset($id) && $id != null || $id != "") {
                      echo "value=\"{$id}\"";
                  }
                  ?> />
                  <table>
                      <tr>
                          Nome:
                          <input type="text" name="nome" <?php
                          // Preenche o nome no campo nome com um valor "value"
                          if (isset($nome) && $nome != null || $nome != ""){
                              echo "value=\"{$nome}\"";
                          }
                          ?> />
                      </tr>
                  </table>
                          
                  <table>
                      <tr>
                          E-mail:
                          <input type="text" name="email" <?php
                          // Preenche o email no campo email com um valor "value"
                          if (isset($email) && $email != null || $email != ""){
                              echo "value=\"{$email}\"";
                          }
                          ?> />
                      </tr>
                  </table>
                  
                  <table>
                      <tr>
                          Celular:
                          <input type="text" name="celular" <?php
                          // Preenche o celular no campo celular com um valor "value"
                          if (isset($celular) && $celular != null || $celular != ""){
                              echo "value=\"{$celular}\"";
                          } 
                          ?> />
                      <table>
                          <tr>
                              Cidade:
                              <input type="text" name="cidade" <?php
                              // Preenche a cidade no campo nome com um valor "value"
                              if (isset($cidade) && $cidade != null || $cidade != ""){
                                  echo "value=\"{$cidade}\"";
                              }
                          ?> />
                      
                          Estado:
                          <input type="text" name="estado" <?php
                          // Preenche o estado no campo nome com um valor "value"
                          if (isset($estado) && $estado != null || $estado != ""){
                              echo "value=\"{$estado}\"";
                          }
                          
                  
                  
                  if (isset($_REQUEST["act"]) && $_REQUEST["act"] == "del" && $id != "") {
          try {
              $stmt = $conexao->prepare("DELETE FROM contatos WHERE id = ?");
              $stmt->bindParam(1, $id, PDO::PARAM_INT);
              if ($stmt->execute()) {
                  echo "Registo foi excluído com êxito";
                  $id = null;
              } else {
                  throw new PDOException("Erro: Não foi possível executar a declaração sql");
              }
          } catch (PDOException $erro) {
              echo "Erro: ".$erro->getMessage();
          }
      }
                  ?> />
                <br> <input type="submit" value="Salvar" />
                 <input type="reset" value="Novo" />
                </br>
                 <hr>
              </form>
              <table border="1" width="100%">
                              <tr>
                                  <th>Nome</th>
                                  <th>E-mail</th>
                                  <th>Celular</th>
                                  <th>Cidade</th>
                                  <th>Estado</th>
                                  <th>Ações</th>
                              </tr>
                              <?php
                      try {
                   
                      $stmt = $conexao->prepare("SELECT * FROM contatos");
                   
                          if ($stmt->execute()) {
                              while ($rs = $stmt->fetch(PDO::FETCH_OBJ)) {
                                  echo "<tr>";
                                  echo "<td>".$rs->nome."</td>
                                        <td>".$rs->email."</td>
                                        <td>".$rs->celular."</td>
                                        <td>".$rs->cidade."</td>    
                                        <td>".$rs->estado."</td>
                                        <td>
                                          <center>
                                              <a href=\"?act=upd&id=" . $rs->id . "\">[Alterar]</a>"
                                              ."&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"
                                              ."<a href=\"?act=del&id=" . $rs->id . "\">[Excluir]</a>
                                          </center>
                                        </td>";
                              echo "</tr>";
                              }
                          } else {
                              echo "Erro: Não foi possível recuperar os dados do banco de dados";
                          }
                  } catch (PDOException $erro) {
                      echo "Erro: ".$erro->getMessage();
                  }
                  ?>
              </table>
              
          </body>
      </html>
       
      Por algum motivo minha tabela no Phpmyadmin também mudou e não consigo mais editar. Exclui a "id" e depois adicionei novamente e começou os problemas. Agradeço a ajuda desde já.
×

Important Information

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