Ir ao conteúdo

Posts recomendados

Postado

Tentei fazer um formulário e gravar os arquivos mas aparecer mensagem de erro ao gravar , alguem poderia me dizer o que pode ser??

já troque method get pelo post não adiantou

 

 

 

Esse é o index.php 

 

 

<!DOCTYPE HTML><html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"><title>Gravando no banco de dados</title></head><body><form method="GET" name="f" action="grava.php">Nome<br/><input type="text" name="nome"/><br/>Idade <br/><input type="text" name="idade"/><br/>Email<br/><input type="text" name="email"/><br/><br/><input type="submit" name="enviar" value="Enviar"></form><div id="resposta"><?php//isset - verifica se existe algo na variavelif(isset($_GET['info'])){echo$_GET['info'];}else{echo"!";}?></div></body></html>
==================================================================
 
 
Esse é o de grava
<!DOCTYPE HTML PUBLIC"-//W3C//HTML4.01 Transational//EN"><html> <meta http-equiv="Content-Type" content="text/html ; charset=UTF-8"> <title><title/></head><body>   <?php      $nome=trim($_GET['nome']);   $idade=trim($_GET['idade']);   $email=trim($_GET['email']);      include'conexao.php';        //'' ==> "" ==> .. ==> exemplo: '".$variavel."' ---- no exemplo abaixo ('".$nome."','".$idade."','") essa é a boa pratica      $query=("insert into aluno(mat,nome,idade,email) values (null,'".$nome."',".$idade.",'".$email."');") or die ("Nao foi conectado");      if(mysql_query($query,$conexao)){       $msg="DADOS GRAVADOS";}else{$msg ="ERRO AO GRAVAR";}header("location:index.php?info=".$msg);mysql_close($conexao);?><br/><br/><a href="index.php">Voltar</a></body></html>
 
============================================
 
 E esse é o script sql
 
create database aula4;use aula4;create table aluno(mat int primary key auto_increment,nome varchar(30) not null,idade int(2) not null,email varchar(30) not null);
 
==============================================
 
É essa e consultar
<!DOCTYPE HTML><html>  <head>  <meta http-equiv="Content-Type" content="text/html ; charset=UTF-8">  <title><title/>   </head> <body> <form action="consultar.php" method="get"> Nome: <input type="text" name="nome"> <input type="submit" value="consultar"> </form> <hr/> <! -- usando o Get pra deixar a consulta mais rápida --> <?php if (isset($_GET['nome'])){$nome=$_GET['nome'];$query="select * from aluno where nome like '".$nome."%';";  $resultado=mysql_query($query,$conexao); // armazenou dentro da variavel     if(mysql_num_rows($resultado)>0){  ?><table width="800px" border="1px">            <tr>               <th> Matrícula </th>  <th> Nome </th>  <th> Idade </th>  <th> Email </th>  <th> Editar </th>  <th> Excluir </th></tr><?phpwhile($lista=mysql_fetch_array($resultado)){?><tr>  <td><?php echo $lista['mat']?></td>  <td><?php echo $lista['nome']?></td>  <td><?php echo $lista['idade']?></td>  <td><?php echo $lista['email']?></td>  <td><a href="editar.php?mat=<?php echo base64_encode($lista['mat'])?>">Editar</a></td>  <td><a href="excluir.php?mat=<?php echo $lista['mat'])?>"> Excluir</a></td>    </tr>        <?php       }  ?></table>     <?php        } else { echo "nenhum aluno encontrado";}                }                 ?></body></html>
=============================================
é essa conexão
 
<?php $conexao=mysql_connect("localhost","root","37539949117") or die ("Nao foi conectado");    mysql_select_db("aula4",$conexao)or die ("Nao foi selecionar");      ?>
 
 
 
  • Moderador
Postado

@Yuno_

 

Olá,

Um dos principais erros iniciais é tentar fazer tudo junto no mesmo arquivo. e usar cabeçalhos onde não precisa..

 

Vamos por partes. Primeiro de tudo seu banco de dados.  está certa veja funcionando aqui: http://sqlfiddle.com/#!9/b3d18/1

 

Não sei qual o programa que você está usando em localhost..  eu recomendo o easyphp 14.1.

 

A extensão mysql é obsoleta.. então passe a usar a extensão mysqli.. Para ativar tem que mexer nas configurações do apache do easyphp.. e descomentar a linha referente ao mysqli.

 

Por sugestão crie um arquivo de formulário html

<!DOCTYPE HTML><html><head>     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">     <title>Gravando no banco de dados</title></head><body>      <form method="POST" action="grava.php">           <input type="text" name="nome" placeholder="Nome"/><br/>           <input type="text" name="idade" placeholder="Idade"/><br/>           <input type="text" name="email" placeholder="Email"/><br/>           <input type="submit" value="Enviar">      </form></body></html>

Apenas isso.

 

Agora o arquivo de conexão.php

<?php $conexao = mysqli_connect("localhost","root","37539949117","aula4") or die ("Nao foi conectado");

Agora o arquivo grava.php

<?php   $nome  = trim($_POST['nome']);   $idade = trim($_POST['idade']);   $email = trim($_POST['email']);      include'conexao.php';      $query = mysqli_query($conexao, 'insert into aluno(mat,nome,idade,email)                                     values ("$nome","$idade","$email"));      if($query):       echo $msg = " DADOS GRAVADOS ";   else:       echo $msg ="ERRO AO GRAVAR";   endif;     mysqli_close($conexao);?><br/><br/><a href="index.php">Voltar</a>

Como o gravar.php é só designado para processar os dados recebidos do formulário... e gravar no banco.. ele não precisa ter os cabeçalhos e tags html.

 

O consultar é a mesma coisa... cria o arquivo consultar.php

<!DOCTYPE HTML><html>  <head>  <meta http-equiv="Content-Type" content="text/html ; charset=UTF-8">  <title><title/>   </head> <body> <form action="recebeDados.php" method="POST">     <input type="text" name="nome" placeholder="Nome"/>     <input type="submit" value="consultar"/> </form></body></html>

Crie um arquivo chamado recebeDados.php

<table width="800px" border="1px">            <tr>               <th> Matrícula </th>  <th> Nome </th>  <th> Idade </th>  <th> Email </th>  <th> Editar </th>  <th> Excluir </th></tr><?php  $nome = $_POST['nome'];  include 'conexao.php';  $query = mysqli_query($conexao,"select * from aluno where nome like '%$nome%'");   if(mysqli_num_rows($resultado)>0):      while( $lista = mysqli_fetch_object($query)):         echo'             <tr>                <td>$lista->mat></td>                <td>$lista->nome></td>                <td>$lista->idade</td>                <td>$lista->email</td>                <td><a href="editar.php?mat= $lista->mat">Editar</a></td>                <td><a href="excluir.php?mat= $lista->mat"> Excluir</a></td>             </tr>';        endwile;  ?></table>     <?php        else: echo "nenhum aluno encontrado";        endif;      ?></body></html>

Desde o início, acostume-se com os padrões da orientação a objetos.. no caso a função  mysqli_fetch_object()... veja  ali por exemplo a linha  <td>$lista->nome></td>

a variável $linha está atribuída ao campo nome do banco de dados.

eu acho bem mais limpo desta forma do que usar com arrays.. por exemplo $linha['nome']

bom.. é por ai... 

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Mostrar mais  

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

Mostrar mais  
×
×
  • Criar novo...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!