Ir para conteúdo
Fórum Script Brasil
  • 0

[Ajuda] Gravar dados Na tabela!


Rafael-PHP

Pergunta

Primeiramente Bom dia, Boa Tarde, Boa noite. Sou Rafael Novo no forúm, e estou iniciando em PHP.

Estou assistindo umas Video Aulas sobre PHP basico e avançado de Fernando Noronha beck.com. E meu formulario não esta salvando os arquivos digitados na tabela Mysql.

já revi o Codigo, a video aula, e ainda não encontrei o erro! Me desculpem por perguntas idiotas!

Meu form: Form.php

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>

<body>
<table width="200" border="0">
  <tr>
    <td>Nome:</td>
    <td><form id="form1" name="form1" method="post" action="funcoes.php?funcao=gravar">
      <label>
        <input type="text" name="nome" id="nome" />
        </label>
    </form>
    </td>
  </tr>
  <tr>
    <td>E-mail:</td>
    <td><form id="form2" name="form2" method="post" action="">
      <label>
        <input type="text" name="email" id="email" />
        </label>
    </form>
    </td>
  </tr>
  <tr>
    <td>Cidade:</td>
    <td><form id="form3" name="form3" method="post" action="">
      <label>
        <input type="text" name="cidade" id="cidade" />
        </label>
    </form>
    </td>
  </tr>
  <tr>
    <td>Mensagem:</td>
    <td><form id="form4" name="form4" method="post" action="">
      <label>
        <textarea name="mensagem" id="mensagem" cols="45" rows="5"></textarea>
        </label>
    </form>
    </td>
  </tr>
  <tr>
    <td> </td>
    <td><form id="form5" name="form5" method="post" action="">
      <label>
        <input type="submit" name="button" id="button" value="Cadastrar" />
        </label>
    </form>
    </td>
  </tr>
</table>
</body>
</html>
Script para as Funções: funcoes.php
<?

include "conexao.php";
$acao = isset($_GET['funcao']);

if ($acao == "gravar") {
$grava_nome = isset($_POST['nome']);
$grava_email = isset($_POST['email']);
$grava_cidade = isset($_POST['cidade']);
$grava_mensagem = isset($_POST['mensagem']);

$sql_gravar = mysql_query("INSERT INTO  tb_curso (nome, email, cidade, mensagem) value ('$grava_nome', '$grava_email', '$grava_cidade', '$grava_mensagem')");
header:('Location:form.php');
}
?>
Scripts para conexão com o Banco de Dados: conexão.PHP
<?
$host = "localhost";
$usuario = "root";
$senha = "";
$banco = "curso_db";

$con = mysql_connect($host, $usuario, $senha) or die ("Servidor não responde");
$db = mysql_select_db($banco, $con) or die ("Não foi possivel selecionar o Banco de Dados");
?>

Desde já Muito Obrigado!

Link para o comentário
Compartilhar em outros sites

9 respostass a esta questão

Posts Recomendados

  • 0

eahe.. beleza??

1 - (importante): troca VALUE por VALUES..

e.. cara, d boa,, nunca tinha visto esse negocio d "form1", "form2"..

verifica isso.. normal é 1 form só,

tipo:

<form id="form1" name="form1" method="post" action="funcoes.php?funcao=gravar">
Nome:<label>&nbsp;
<input type="text" name="nome" id="nome" />
</label>
<br />
E-mail:&nbsp; 
<label>
<input type="text" name="email" id="email" />
<br />
</label>
Cidade:
<label>
<input type="text" name="cidade" id="cidade" />
</label>
<br />
Mensagem:<br />
<label>
<textarea name="mensagem" id="mensagem" cols="45" rows="5"></textarea>
</label>
<p>
<input type="submit" name="button" id="button" value="Cadastrar" />
</p>
</form>

falou, fui..

ah, + dicas:

não abra c/ a short tag (<?) melhor usar a completa: <?php

se der alguma msg d erro posta ela aqui..

Editado por Marcelo_2
Link para o comentário
Compartilhar em outros sites

  • 0

Vlw cara parece que era o form mesmo. Esta salvando já so que ele não esta voltando para a Pagina form novamente. Pode me ajudar?

<?php

include "conexao.php";


$grava_nome = $_POST['nome'];
$grava_email = $_POST['email'];
$grava_cidade = $_POST['cidade'];
$grava_mensagem = $_POST['mensagem'];

if ($_GET['funcao'] == "gravar") {
$sql_gravar = mysql_query("INSERT INTO  tb_curso (nome, email, cidade, mensagem) value ('$grava_nome', '$grava_email', '$grava_cidade', '$grava_mensagem')");
header:('Location:form.php');
}
?>

Gostaria de Aproveitar o tópico para não criar outro. Qual "Collation" eu coloco para o PHPMyAdmin aceitar o "Ç" ?

Link para o comentário
Compartilhar em outros sites

  • 0
não esta voltando para a Pagina form novamente.

onde está

header:('Location:form.php')
tire os primeiros 2 pontos; assim:
header('Location:form.php')

quanto ao "collation".. n uso o myAdmin... mas eu uso Latin-1..

quero dizer.. já configuro isso quando instalo.. bom, tente esses links:

http://www.google.com.br/search?q=tutorial...lient=firefox-a

c n rolar, melhor abrir outro tópico sim, falou? fui..

Link para o comentário
Compartilhar em outros sites

  • 0

Consegui Passar dessa aula, Muito Obrigado. Porem avancei para a aula do comando UPDATE e SELECT. Fiz o que tinha na aula talvez mais algumas besteiras e deu erros em duas paginas.

na pagina Form da os seguintes erros:

Notice: Undefined index: funcao in C:\wamp\www\Mysql_PHP\form.php on line 16

Notice: Undefined index: funcao in C:\wamp\www\Mysql_PHP\form.php on line 46

CODIGO DA PAGINA FORM

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Untitled Document</title>
<style type="text/css">
<!--
.style6 {color: #000000; font-weight: bold; }
-->
</style>
</head>

<body>
<?php 
 include "conexao.php";
if ($_GET['funcao'] != "editar") {
?>
<form id="form1" name="form1" method="post" action="funcoes.php?funcao=gravar">
  <label></label>
<p>Nome:     
  <input name="nome" type="text" id="nome" size="60"  />
</p>
<p>E-mail:    
  <input name="email" type="text" id="email" size="60"  />
</p>
<p>Cidade:
  <input name="cidade" type="text" id="cidade" size="60" />
</p>
<p>Mensagem:</p>

  <p>
    <textarea name="mensagem" id="mensagem" cols="65" rows="5"></textarea>
</p>
  <p>
    <label>
    <input type="submit" name="button" id="button" value="Cadastrar" />
    </label>
</p>
</form>
<?php 
}
?>

<?php 

if ($_GET['funcao'] == "editar") {
$id = $_GET['id'];
$sql_update = mysql_query("SELECT * FROM tb_curso WHERE id = '$id' ");  
while($linha = mysql_fetch_array($sql_update)) {

   $nome = $linha['nome'];
   $email = $linha['email'];
   $cidade = $linha['cidade'];
   $mensagem = $linha['mensagem'];

}
?>
<form id="form1" name="form1" method="post" action="form.php?funcao=editar&id=<?php echo $id  ?>">
  <label></label>
<p>Nome:     
  <input name="nome" type="text" id="nome" size="60" values="<?php echo $nome ?>" />
</p>
<p>E-mail:    
  <input name="email" type="text" id="email" size="60" values="<?php echo $email ?>" />
</p>
<p>Cidade:
  <input name="cidade" type="text" id="cidade" size="60" values="<?php echo $cidade ?>"  />
</p>
<p>Mensagem:</p>

  <p>
    <textarea name="mensagem" id="mensagem" cols="65" rows="5"> <?php echo $mensagem ?> </textarea>
</p>
  <p>
    <label>
    <input type="submit" name="button" id="button" value="Alterar" />
    </label>
</p>
</form>

<?php
}
?>

<table width="632" height="64" border="1">
  <tr>
    <td width="470" bgcolor="#999999"><div align="center" class="style6">Nome</div></td>
    <td width="70" bgcolor="#999999"><div align="center" class="style6">Editar</div></td>
    <td width="70" bgcolor="#999999"><div align="center" class="style6">Remover</div></td>
  </tr>
 <?php

  
 $sql_visualizar = mysql_query("SELECT nome, id FROM tb_curso ORDER BY nome");
 while($linha = mysql_fetch_array($sql_visualizar)){
 $pega_nome = $linha['nome'];
 $id = $linha['id'];

 ?>
  <tr>
    <td><?php echo $pega_nome ?></td>
    <td><div align="center"><a href="form.php?funcao=editar & id=<?php echo $id ?> ">Editar</a></div></td>
    <td><div align="center"><a href="funcoes.php?funcao=remover & id=<?php echo $id ?>">Excluir</a></div></td>
  </tr>
 <?php
 }
 ?>
</table>
<p> </p>
</body>
</html>
ERRO PAGINA FUNÇÕES Notice: Undefined index: nome in C:\wamp\www\Mysql_PHP\funcoes.php on line 6 Notice: Undefined index: email in C:\wamp\www\Mysql_PHP\funcoes.php on line 7 Notice: Undefined index: cidade in C:\wamp\www\Mysql_PHP\funcoes.php on line 8 Notice: Undefined index: mensagem in C:\wamp\www\Mysql_PHP\funcoes.php on line 9 Notice: Undefined index: funcao in C:\wamp\www\Mysql_PHP\funcoes.php on line 12 Notice: Undefined index: funcao in C:\wamp\www\Mysql_PHP\funcoes.php on line 18 CODIGO DA PAGINA FUNCOES
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<?php
include "conexao.php";


$grava_nome = $_POST['nome'];
$grava_email = $_POST['email'];
$grava_cidade = $_POST['cidade'];
$grava_mensagem = $_POST['mensagem'];

//******************************************************************************************************
if ($_GET['funcao'] == "gravar") {
$sql_gravar = mysql_query("INSERT INTO  tb_curso (nome, email, cidade, mensagem) value ('$grava_nome', '$grava_email', '$grava_cidade', '$grava_mensagem')");
header("Location:form.php");
}else

//******************************************************************************************************
if ($_GET['funcao'] == "editar") {
$id = $_GET['id'];
$sql_alterar = mysql_query("UPDATE tb_curso SET nome='$gravar_nome', email='$grava_email', cidade='$grava_cidade', mensagem='$grava_mensagem' WHERE id = '$id' ");
header("Location:form.php");
}

?>

Link para o comentário
Compartilhar em outros sites

  • 0

BLEW

Coloquei como voce me disse e pesquisei. O Isset serve para verificar se a Variavel não esta vazia. Mas o que aconteceu foi o seguinte meu form não esta sendo mostrado, olha ai o codigo.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Untitled Document</title>
<style type="text/css">
<!--
.style6 {color: #000000; font-weight: bold; }
-->
</style>
</head>

<body>
<?php 
 include "conexao.php";
if(isset($_GET['funcao']) && ($_GET['funcao'] != "editar")) {
?>
<form id="form1" name="form1" method="post" action="funcoes.php?funcao=gravar">
  <label></label>
<p>Nome:     
  <input name="nome" type="text" id="nome" size="60"  />
</p>
<p>E-mail:    
  <input name="email" type="text" id="email" size="60"  />
</p>
<p>Cidade:
  <input name="cidade" type="text" id="cidade" size="60" />
</p>
<p>Mensagem:</p>

  <p>
    <textarea name="mensagem" id="mensagem" cols="65" rows="5"></textarea>
</p>
  <p>
    <label>
    <input type="submit" name="button" id="button" value="Cadastrar" />
    </label>
</p>
</form>
<?php 
}
?>

<?php 

if(isset($_GET['funcao']) && ($_GET['funcao'] == "editar")) {
$id = $_GET['id'];
$sql_update = mysql_query("SELECT * FROM tb_curso WHERE id = '$id' ");  
while($linha = mysql_fetch_array($sql_update)) {

   $nome = $linha['nome'];
   $email = $linha['email'];
   $cidade = $linha['cidade'];
   $mensagem = $linha['mensagem'];

}
?>
<form id="form1" name="form1" method="post" action="form.php?funcao=editar&id=<?php echo $id  ?>">
  <label></label>
<p>Nome:     
  <input name="nome" type="text" id="nome" size="60" values="<?php echo $nome ?>" />
</p>
<p>E-mail:    
  <input name="email" type="text" id="email" size="60" values="<?php echo $email ?>" />
</p>
<p>Cidade:
  <input name="cidade" type="text" id="cidade" size="60" values="<?php echo $cidade ?>"  />
</p>
<p>Mensagem:</p>

  <p>
    <textarea name="mensagem" id="mensagem" cols="65" rows="5"> <?php echo $mensagem ?> </textarea>
</p>
  <p>
    <label>
    <input type="submit" name="button" id="button" value="Alterar" />
    </label>
</p>
</form>

<?php
}
?>

<table width="632" height="64" border="1">
  <tr>
    <td width="470" bgcolor="#999999"><div align="center" class="style6">Nome</div></td>
    <td width="70" bgcolor="#999999"><div align="center" class="style6">Editar</div></td>
    <td width="70" bgcolor="#999999"><div align="center" class="style6">Remover</div></td>
  </tr>
 <?php

  
 $sql_visualizar = mysql_query("SELECT nome, id FROM tb_curso ORDER BY nome");
 while($linha = mysql_fetch_array($sql_visualizar)){
 $pega_nome = $linha['nome'];
 $id = $linha['id'];

 ?>
  <tr>
    <td><?php echo $pega_nome ?></td>
    <td><div align="center"><a href="form.php?funcao=editar & id=<?php echo $id ?> ">Editar</a></div></td>
    <td><div align="center"><a href="funcoes.php?funcao=remover & id=<?php echo $id ?>">Excluir</a></div></td>
  </tr>
 <?php
 }
 ?>
</table>
<p>&nbsp;</p>
</body>
</html>

Link para o comentário
Compartilhar em outros sites

  • 0

não porque quando você seta a variavel get, você precisa complementar

assim:

$id = $_REQUEST['id'];
$sql = "select * from sua_tabela where id = $id";
$query = mysql_query($sql);

while ($row = mysql_fetch_array($query) {

ai dps do while você poe seu formulario

no campo "value" de cada caixa de texto, você faz

value = "<?php echo $row['nome']; ?>"

e assim vai

que ele vai resgatar os dados que estão no banco e trazes pro formulario!

*esse exemplo é só para editar

você dividiu seu formulario

faz um if só, o primeiro no caso, e coloca else

ve se vai também

Link para o comentário
Compartilhar em outros sites

  • 0

Não sei se você entendeu o que o codigo faz, ou eu não entendi sua resposta. Vou tentar explicar.

Nessa primeira parte:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Untitled Document</title>
<style type="text/css">
<!--
.style6 {color: #000000; font-weight: bold; }
-->
</style>
</head>

<body>
<?php 
 include "conexao.php";
if(isset($_GET['funcao']) && ($_GET['funcao'] != "editar")) {
?>
<form id="form1" name="form1" method="post" action="funcoes.php?funcao=gravar">
  <label></label>
<p>Nome:     
  <input name="nome" type="text" id="nome" size="60"  />
</p>
<p>E-mail:    
  <input name="email" type="text" id="email" size="60"  />
</p>
<p>Cidade:
  <input name="cidade" type="text" id="cidade" size="60" />
</p>
<p>Mensagem:</p>

  <p>
    <textarea name="mensagem" id="mensagem" cols="65" rows="5"></textarea>
</p>
  <p>
    <label>
    <input type="submit" name="button" id="button" value="Cadastrar" />
    </label>
</p>
</form>
<?php 
}
?>
Ele vai verificar se o Valor da Variavel função que eu setei e Diferente de Editar, se for então ele vai abrir o primeiro form, que por sua vez ira puxar a Função gravar do Script função que eu criar. já nessa Segunda parte:
<?php 

if(isset($_GET['funcao']) && ($_GET['funcao'] == "editar")) {
$id = $_GET['id'];
$sql_update = mysql_query("SELECT * FROM tb_curso WHERE id = '$id' ");
while($linha = mysql_fetch_array($sql_update)) {

   $nome = $linha['nome'];
   $email = $linha['email'];
   $cidade = $linha['cidade'];
   $mensagem = $linha['mensagem'];

}
?>
<form id="form1" name="form1" method="post" action="form.php?funcao=editar&id=<?php echo $id  ?>">
  <label></label>
<p>Nome:     
  <input name="nome" type="text" id="nome" size="60" values="<?php echo $nome ?>" />
</p>
<p>E-mail:    
  <input name="email" type="text" id="email" size="60" values="<?php echo $email ?>" />
</p>
<p>Cidade:
  <input name="cidade" type="text" id="cidade" size="60" values="<?php echo $cidade ?>"  />
</p>
<p>Mensagem:</p>

  <p>
    <textarea name="mensagem" id="mensagem" cols="65" rows="5"> <?php echo $mensagem ?> </textarea>
</p>
  <p>
    <label>
    <input type="submit" name="button" id="button" value="Alterar" />
    </label>
</p>
</form>

<?php
}
?>

<table width="632" height="64" border="1">
  <tr>
    <td width="470" bgcolor="#999999"><div align="center" class="style6">Nome</div></td>
    <td width="70" bgcolor="#999999"><div align="center" class="style6">Editar</div></td>
    <td width="70" bgcolor="#999999"><div align="center" class="style6">Remover</div></td>
  </tr>
 <?php

  
 $sql_visualizar = mysql_query("SELECT nome, id FROM tb_curso ORDER BY nome");
 while($linha = mysql_fetch_array($sql_visualizar)){
 $pega_nome = $linha['nome'];
 $id = $linha['id'];

 ?>
  <tr>
    <td><?php echo $pega_nome ?></td>
    <td><div align="center"><a href="form.php?funcao=editar & id=<?php echo $id ?> ">Editar</a></div></td>
    <td><div align="center"><a href="funcoes.php?funcao=remover & id=<?php echo $id ?>">Excluir</a></div></td>
  </tr>
 <?php
 }
 ?>
</table>
<p>&nbsp;</p>
</body>
</html>
Ele ira abrir outra função no form mesmo que sera o de puxar os valores da tabela, e quando eu apertar no botão Alterar salvar os dados com a função do Script funções que eu fiz. Acho que o que complicou a voce me ajudar foi não postar o SCRIPT funcoes então ai vai. funcoes.php
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<?php
include "conexao.php";


$grava_nome = isset ($_POST['nome']);
$grava_email = isset ($_POST['email']);
$grava_cidade = isset ($_POST['cidade']);
$grava_mensagem = isset ($_POST['mensagem']);

//******************************************************************************************************
if(isset($_GET['funcao']) && ($_GET['funcao'] == "gravar")) {
$sql_gravar = mysql_query("INSERT INTO  tb_curso (nome, email, cidade, mensagem) value ('$grava_nome', '$grava_email', '$grava_cidade', '$grava_mensagem')");
header("Location:form.php");
}else

//******************************************************************************************************
if(isset($_GET['funcao']) && ($_GET['funcao'] == "editar")) {
$id = $_GET['id'];
$sql_alterar = mysql_query("UPDATE tb_curso SET nome='$gravar_nome', email='$grava_email', cidade='$grava_cidade', mensagem='$grava_mensagem' WHERE id = '$id' ");
header("Location:form.php");
}

?>

Ai voce deve me perguntar por que voce criou outro if, não era so colocar o Else?

A resposta e simples, porque vem outro if depois com a função de deletar.

Desculpe por pertubar tanto!

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,5k
×
×
  • Criar Novo...