Ir para conteúdo

Arquivado

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

TeixeiraRamos

Erro em if

Recommended Posts

Por favor,

PHP 7 com MySQL 5.7

Tenho página inserir.php

<html>
	<head>
	<title>Gerenciando Registros</title>
	</head>
	<body>
	 Preencha os campos abaixo:
	  <form method="POST" action="gerencia-registro.php?acao=adicionar">
	    <table> 
			<tr>
				<td>Nome do Livro:</td>
				<td>
				 <input name="FormNomeLivro" maxlength=64>
				</td>			
			</tr>
		    <tr>
				<td>Nome do Autor:</td>
			    <td>
				 <input name="FormNomeAutor" maxlength=32>
				</td>			
			</tr>
			<tr>
				<td>Nome da Editora:</td>
				<td>
				 <input name="FormNomeEditora" maxlength=16>				
				</td>
			</tr>
			<tr>
				<td colspan=2 aling='right'>
				 <input type="reset" value="Limpar">
				 <input type="submit" value="Cadastrar">
				</td>
			</tr>
		</table> 
	  </form>
	</body>
</html>

Resultado:

Abre normal.

Clicando no botão "Cadastrar" do form inserir.php mostra erro:

Citar

Notice: Undefined variable: acao in C:\wamp\www\estudoporlivros\livromysqlguiaprogramador\gerencia-registro.php on line 14

 

A página gerencia-registro.php

<?php
//Dados para conexão com o banco de dados
$servidor = 'localhost'; 
$usuario = 'root'; 
$senha = '';
$banco = 'integracao';

//Executa a conexão com MySQL
$link = mysqli_connect($servidor, $usuario, $senha, $banco)
or die('Não foi possível conectar: '.mysqli_error());
mysqli_set_charset($link, 'utf8');

//Verifica se o arquivo foi chamado a partir de um formulário
if($acao == "adicionar")        //AQUI LINHA 14 ********************
{
//Cria a expressão SQL de inserção
$sql = "INSERT INTO livros (livro, autor, editora) VALUES (";
$sql .= "'$FormNomeLivro', ";
$sql .= "'$FormNomeAutor', ";
$sql .= "'$FormNomeEditora'";
$sql .= ")";

//Executa a expressão SQL no servidor, e armazena o resultado 
$result = mysqli_query($sql);

//Verifica o sucesso da operação
if (!$result)
{ die('Erro: '.mysqli_error());}

//Se a operação foi realizada com sucesso, informa na tela
else
{ echo 'A operação foi realizada com sucesso.';}
}	
?>
<br><a href="inserir.php">Clique aqui para inserir um novo registro</a>
<br><a href="lista.php">Clique aqui para visualizar os registros.</a>

Conforme indiquei a linha 14 do erro é essa:

Citar

 13  //Verifica se o arquivo foi chamado a partir de um formulário
 14  if($acao == "adicionar")

 

Página lista.php

<?php
//Dados para a conexao com o banco de dados
$servidor = 'localhost'; 
$usuario = 'root'; 
$senha = '';
$banco = 'integracao';


//Executa a conexão com MySQL
$link = mysqli_connect($servidor, $usuario, $senha, $banco)
or die('Não foi possível conectar: '.mysqli_error());
mysqli_set_charset($link, 'utf8');

//Cria s expressão de consulta aos registros
$sql = mysqli_query($link, "SELECT * FROM livros") or dio ("Erro");

?>
<html>
<?php
echo"<table border='1'>
<thead>
		<tr>
			<td>Cód</td>
			<td>Livro</td>
			<td>Autor</td>
			<td>Editora</td>
		</tr>
</thead>
<tbody>";

 //Exibr os resultados de novidades e notícias
while($tbl = mysqli_fetch_array($sql))
{
  echo"<tr>
      <td>" . $tbl['id']      . "</td>
      <td>" . $tbl['livro']   . "</td>
      <td>" . $tbl['autor']   . "</td>
      <td>" . $tbl['editora'] . "</td>
      </tr>";
}
  echo"</tbody>
  </table>";
 ?> 
 <br><a href="inserir.php">Clique aqui para inserir um novo registro.</a>
 </html>

Abre normalmente.

Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Prezado Gleyson,

Vou ter que estudar mais.

Não consegui ainda. Todo mundo um dia iniciou e eu estou iniciando.

Guardei bem as suas sugestões.

Todas essas páginas são do livro MySQL Guia do Programador - André Milani, mas a versão do PHP é inferir a 7 que tem na minha máquina.

Mesmo com o "Guia de Atualização MySQL Para MySQLi" do Beraldo, ainda tenho dúvida.

Segundo ele é assim mesmo no início.

Tenho que estudar, mais o PHP com HTML. Meu problema é quando trabalho com os dois PHP e MySQLi.

Gleyson

Muito obrigado, pela atenção.

Desejo Saúde e  Sucesso para você.

 

 

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites
Em 01/05/2018 at 02:54, JulinhoooO disse:

Nunca pesquisei sobre esse assunto em específico, aprendi tudo praticando e vendo vídeos no YouTube. A respeito do critério para abrir e fechar, é o seguinte, você só vai fechar ou quando for concatenar alguma função ou variável dentro do comando, ou somente no fim dele.


//Desse modo geraria um erro de sintaxe, já que o PHP não iria interpetrar as duas váriaveis como dados de uma array
echo "<tr>	
  <td align='center'>$dados['id']</td>
  <td align='left'>$dados['nome']</td>
<tr>";
  
//Já desse modo não, que como as váriaveis estão fora da qualquer aspas o PHP identifica que se trata de um dado de uma array
echo"<tr>	
  <td align='center'>" .$dados['id']. "</td>
  <td align='left'>" .$dados['nome']. "</td>
<tr>";

 

 

Em 04/05/2018 at 00:00, Omar~ disse:

"Oxi..."!!! Quem deve desculpa sou eu por entender errado o que se referiu.

 

Quer dizer então que você tem banco tabelas e tal, mas tudo vazio, porque não tenta acessar o PMA(PhpMyAdmim) e ir inserindo registros aleatórios, para que possa fazer consultas dos mesmos? Dê uma pesquisada no programa NavCat ele é ótimo, muito simples e prático para editar tabelas inserir/apagar registro criar as mesmo etc... Se quiser manda uma MP que lhe passo a versão que utilizo. 

 

Mas se o livro ensina alguma coisa, pouco ou muito tanto faz porque abandonar? Todo conhecimento ainda não é o bastante, continue nele para aprender mais e mais, pois saiba que se alguém aqui disser que sabe de tudo e é capaz de tudo de cabeça, está mentindo.

 

Eu mesmo quando comecei a desenvolver aplicações para web, não li nenhum livro. 80% do que sei aprendi praticando e fazendo, ERRANDO e ERRANDO novamente e tentando até acertar. O resto foi no estudo porque não tem jeito mesmo, agente tem estudar para evoluir.

 

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Muito obrigado pela suas palavras.

Que bom que você entendeu, mas mesmo assim me arrependi de ter feito aquele pedido.

Tem momentos que certas colocações parecem humilhação, mas mesmo que sejam as vezes temos que suportar para não criar problemas. Se quisermos continuar aprendendo com quem sabe. 

Certo dia, um membro/moderador não lembro, informou "você não deve usar Dw para criar suas páginas (com outras palavras). Recebi aquela orientação, a principio, como um "puxão de orelha". Eu não procurei o Dw, alguém com me orientou para usar que era bom...Como eu poderia formar um juízo de uma pessoa que estava me orientando. Até que ponto ela era pior que outras pessoas do fórum? Depois de algum tempo comprei um livro que o autor mandava "abre o bloco de notas e digite todo o código". Foi ai que vi que muita "tags" e o próprio código poderia ficar mais limpo e, também como eu estava precisando aprender a digitar um código sem aquela ajuda do Dw. (uso ainda o Dw, mas bem menos). Lembrei do "puxão de orelha".

O próprio Beraldo e Professor Celso (curso Celke) também já me orientaram para ir devagar no PHP. Leio e executo todas as valiosas dicas que o Beraldo manda. Estou fazendo o curso do Celso Curso de MySQLi (100% concluído), Curso de PHP, MySQLi e Bootstrap4 (24% concluído). Só que vire e mexe estou tentando fazer algo fora do curso. Como agora que abrir o Livro MySQL - Guia do Programador, que usa versão anterior a PHP 7 e tentei fazer os exercícios. Achei que poderia porque tenho o Guia de Atualização MySQL Para MySQLi, mas já observei que não é só isso. Resolvo a questão do MySQL para MySQLi, mas não é bem assim existem outras barreiras que tenho que vencer quando junto PHP com HTML.

Mas vou a luta.

Abraços. 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por mateus.andriollo
      Existe uma forma de fazer um IF na select e comparar com Array de dados?
       
      algo como
       
      Select if( in_array(idCliente,'1,2,3,4,5')=true,'Tem','Não') ) as cliente Não consigo usar inner ou where pois esse array é algo q tem varias regras...
       
      Precisava saber se existe uma função assim em MySQL
    • Por mateus.andriollo
      Existe uma forma de fazer um IF na select e comparar com Array de dados?
       
      algo como
       
      Select if( in_array(idCliente,'1,2,3,4,5')=true,'Tem','Não') ) as cliente Não consigo usar inner ou where pois esse resultado do array é algo q tem varias regras...
       
      Precisava saber se existe uma função assim em MySQL
    • Por Rodrigo Bigas
      Olá colegas, 
      Desenvolvi um sistema simples de boletim escolar. Conforme os dados são inseridos nas textfields ao clicar no botão Resultado, deverá mostrar em uma JTable. O problema é que a última coluna (resultado) da JTable tem que estar dentro de uma condição if/else para setar se o aluno está "aprovado", "em recuperação" ou "reprovado conforme a condição". Estou com dificuldades em descobrir qual é o método correto que seta este resultado de forma dinâmica. Segue os prints:
       
      Conforme o código e o print acima, o sistema funciona somente para a primeira linha, porque está setando de forma estática, obtendo os valores do índice e coluna, qual seria o método para setar o valor de forma dinâmica do índice e coluna?
    • Por stefanyprs
      //modelo.html <!DOCTYPE html> <html lang="pt-br"> <head>     <meta charset="UTF-8">     <meta http-equiv="X-UA-Compatible" content="IE=edge">     <meta name="viewport" content="width=device-width, initial-scale=1.0">     <title>Hora do dia</title>     <link rel="stylesheet" href="estilo.css"> </head> <body onload="carregar()">     <header>         <h1> Hora do dia </h1>         </h1>     </header>     <section>         <div id="msg">             msg         </div>         <div id="foto">             <img class="imagem" src="fotomanha.jpg" alt="foto do dia">         </div>     </section>     <footer>         <p>&copy; Rodapé </p>     </footer>     <script src="script.js"></script> </body> </html>   //script.js function carregar () {     var msg = window.document.getElementById('msg')     var img  = window.document.getElementsByClassName('imagem')      var data = new Date()     var hora = data.getHours()          msg.innerHTML = 'Agora são ' + hora + ' horas'          if (hora >= 0 && hora < 12){         //Bom dia         img.src = 'fotomanha.jpg'         } else if (hora >= 12 && hora < 18){         //Boa tarde         img.src = 'fototarde.jpg'      } else {         //Boa noite         img.src = 'fotonoite.jpg'     } }   //estilo.css body{     background-color: aqua;     font: normal 15pt Arial; } header{     color:rgb(255, 255, 255);     text-align: center; } section{     background: white;     border-radius: 10px;     padding: 15px;     width: 500px;     margin:auto;     box-shadow: 5px 5px 10px rgba(0, 0, 0, 0.329);      } footer{     color:white;     text-align: center;     font-style: italic;   } div{     text-align: center; } .imagem{     width: 500px;    /* largura da imagem */     height: 350px;   /*  altura da imagem  */     margin-top: 10px; /* margem do topo */ }
    • Por Kefatif
      Prezados, boa tarde.
       
      Preciso de uma ajuda, tenho um select onde o usuário vai poder selecionar dentre os valores "1" e "2", mas gostaria que quando ele selecionasse o valor 2 fosse enviado um alerta de confirmação, estou tentando fazer através do evento blur, mas não estou sabendo fazer a comparação. Seria possível chamar o evento apenas se o valor selecionado for 2?
       
      Segue meu código teste abaixo.
       
      <!DOCTYPE html> <html> <head> <title>Teste</title> <script type="text/javascript" src="http://code.jquery.com/jquery-1.8.1.min.js"></script> <script type="text/javascript"> $(function(){ //inserir os códigos aqui $("#fase").blur(function(){ alert("O input perdeu o foco."); }); }); </script> </head> <body> <label style="width:15%">Fase<b style="color:red">*</b><br> <select name="fase" id="fase" class="form-control" required style="width:100%" > <option value="1">1</option> <option value="2">2</option> </select> </label> <label style="width:15%">teste<b style="color:red">*</b><br> <select name="teste" class="form-control" required style="width:100%" > <option value="">Selecione</option> <option value="SIM">SIM</option> <option value="NÃO">NÃO</option> </select> </label> </body> </html>  
      Agradeço desde já.
       
      Abs.
×

Informação importante

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