Jump to content
Fórum Script Brasil
  • 0

(Resolvido) Ajuda para um iniciante


samoel

Question

Bom dia pessoal, estou estudando php e estou acompanhando uma video aula. estou fazendo o exercicio de gravar dados no banco de dados mysql. Estou usando o dreanweaver para estudar php.

fiz o exercicio proposto pelo professor, sendo que quando mando gravar só grava o campo id que e auto incremento e o nome, os campos email , cidade, mensagem não esta gravando. Abaixo segue o codigo que fiz para voces me ajudarem no que estou errando.

**************************************************************************

CODIGO DO MEU FORMULÁRIO

<!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>

<form id="form1" name="form1" method="post" action="funcoes.php?funcao=gravar">

<table width="329" border="0">

<tr>

<td width="60">Nome</td>

<td width="247"><label>

<input name="nome" type="text" id="nome" size="40" />

</label></td>

</tr>

<tr>

<td>Email</td>

<td><input name="Email" type="text" id="Email" size="40" /></td>

</tr>

<tr>

<td>Cidade</td>

<td><input name="Cidade" type="text" id="Cidade" size="40" /></td>

</tr>

<tr>

<td>Mensagem</td>

<td><label>

<textarea name="Mensagem" id="Mensagem" cols="45" rows="5"></textarea>

</label></td>

</tr>

<tr>

<td> </td>

<td><input type="submit" name="button" id="button" value="Cadastrar" /></td>

</tr>

</table>

</form>

</body>

</html>

*************************************************************************

CONEXÃO.PHP

<?php

$db = mysql_connect("localhost","root","");

$dados = mysql_select_db("curso_db",$db);

?>

**************************************************************************

CODIGO FUNCOES.PHP

<?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 curso_tb(nome, email) value ('$grava_nome','$grava_email')");

header('location:form.php');

}

?>

Eu não consegui ver erro, como não tenho conhecimento, estou aprendendo, não tenho ideia o que possa ser.Desde já valeu pessoal pela ajuda.

Link to comment
Share on other sites

6 answers to this question

Recommended Posts

  • 0

Hi.

Se o erro for apenas de gravação no banco e estiver redirecionando para form.php normalmente, utilize a função mysql_error() para verificar os possíveis erros. Portanto:

$sql_gravar = mysql_query("INSERT INTO curso_tb(nome, email) value ('$grava_nome','$grava_email')") or die(mysql_error());

[]'s

Link to comment
Share on other sites

  • 0
Hi.

Se o erro for apenas de gravação no banco e estiver redirecionando para form.php normalmente, utilize a função mysql_error() para verificar os possíveis erros. Portanto:

$sql_gravar = mysql_query("INSERT INTO curso_tb(nome, email) value ('$grava_nome','$grava_email')") or die(mysql_error());

[]'s

O problema não está na query, pois segundo ele está sendo salvo o id que é autoincrement e os outros campos estão indo em branco.

Uma coisa que percebi é que em alguns campos, está sendo usado o nome com a primeira letra em maiúsculo (exemplo):

<input name=Email" type="text" id="Email" size="40" />

E na hora de resgatar:

$grava_email = $_POST['email];

Veja que $_POST['email'] é diferente de $_POST['Email']

Link to comment
Share on other sites

  • 0

Oi Fvox, te agradeço pela ajuda.

Seguinte : como disse em cima ele grava no banco de dados o campo Id e o campo nome, os outros campos não estão gravando.

Fiz o que voce me orientou e não retornou nenhum erro, e gravou somente o campo Id e o campo nome.

teria mais alguma ideia ?

Link to comment
Share on other sites

  • 0

ESerra na mosca.

O problema foi esse mesmo quando eu criei o formulário eu escrevi os campos com a primeira letra em maiúsculo e na hora da usar o $_post eu tratava com letra minúsculo.

coloquei tudo em minúsculo aí então funcionou, esta gravando todos os campos.

Muito obrigado ESerra e Fvox pela ajuda, sei que é um erro simples D+, mas como disse estou estudando php, não tenho experiência. pra mim esse erro já me fez aprender muita coisa.

Link to comment
Share on other sites

  • 0

estou encontrando outra falha nesse codigo:

quando gravo na tabela ele me retorna um erro na pagina

Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\aulas\funcoes.php:2) in C:\xampp\htdocs\aulas\funcoes.php on line 14

mas mesmo retornando esse erro ele esta gravando na tabela. Dei uma procurada na net, li varias soluções algumas não funcionaram e outras não sei fazer ainda. Outra dificuldade que estou encontrando : Se a palavra tem algum acente ele grava com caracter stranho, já fiz varias modificações como por exemplo mudar de charset=utf-8 para iso, já refiz o banco de dados no padrão utf-8 mas nenhuma adiantou. fico aguardando a ajuda dos amigos.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      152.2k
    • Total Posts
      652k
×
×
  • Create New...