Jump to content


Photo

Inserir Dados Num Banco De Dados Através Do Phpmyadmin


  • Faça o login para participar
8 replies to this topic

#1 melro

melro

    Novato no fórum

  • Usuários
  • 12 posts
  • Sexo:Não informado

Posted 17/05/2008, 18:42

Bons dias,
estou a precisar da vossa ajuda. Estou a começar a dar os primeiros passos na área web e as dúvidas são mais que muitas. Através do processo de tentativa e erro algumas vão desaparecendo. Vamos ao que interessa.

Estou a criar um formulário que recolhe informação postada pelos visitantes, mas ele não quer funcionar.

Tenho instalados na minha máquina o seguinte:
Windows XP
officce 2003
Apahe 2.2
PHP 5.2.6 win32
PHPMyAdmin 2.11.6-all-languages-utf-8-only
mysql-noinstall-5.0.51b-win32 (OPTEI POR instalar este, de acordo com)

Tenho os seguintes ficheiros na pasta htdocs do apache

Formulário em HTML

<html>
<head>
<title>Formul&aacute;rio para inserir dados na BD</title>
<meta http-equiv="content-Type" content="text/html;charset=iso-8859-1">
</head>

<boby>
<form action="inserindo.php" method="post" name="Mural" id="Mural">
<table width="450" border="0" cellspacing="0" cellpadding="3">
<tr>
<td width="111"><div align="right">Nome:</div></td>
<td width="339"><input name="nome" type="text" id="nome" size="30"></td>
</tr>
<tr>
<td valign="top"><div align="right">Mensagem:</div></td>
<td><textarea name="mensagem" cols="30" rows="10" id="mensagem"></textarea></td>
</tr>
<tr>
<td height="29" colspan="2" valign="top"><div align="center">
<input type="submit" name="Submit" value="Inserir na Base de Dados">
</div>
</td>
</tr>
</table>
</form>
</body>
</html>

Ficheiro inserindo em PHP

<html>
<head>
<title>Inserir dados na BD</title>
<meta http-equiv="content-Type" content="text/html;charset=iso-8859-1">
</head>

<boby>

<?
/** Arquivo para conectar ao banco de dados */
require("conectdb.php");

if(!$db){
  echo "Erro: Não foi feita a conexão com o banco de dados. Tente novamente.";
}

/** Inserindo a tabela tb_mural, nos campos os valores das variáveis */
$sqlinsert="INSERT INTO tb_mural(id_mensagem, nome, mensagem) VALUES('' , '$nome' , 'mensagem')";


/** mysql_query -- Realiza uma query MySQL, executa o comando da variavel */
/** o comando die serve pra caso aconteça algum erro (Mostra uma mensagem e termina o Scrip atual) */
mysql_query($sqlinsert) or die("Não foi possível inserir");

/** Exibe as informações se for inserido com sucesso*/
echo "$nome disse:<br>$mensagem";

?>

</body>
</html>

Ficheiro conectdb em PHP

<?php
/** Local onde está rodando o php */
$hostname='localhost:8080';
/** Nome de usuário que tem acesso */
$username='root';
/** Senha do usuário que tem acesso ao banco */
$senha='';
/** Banco de dados desejado */
$banco='experiencia';
/** mysql_connect -- Abre uma conexão com o servidor MySQL */
$db=mysql_connect($hostname, $username, $senha);
/** mysql_select_db -- Seleciona um banco de dados MySQL */
mysql_select_db($banco, $db);
?>

aqui na senha e no utilizador está ainda com root e sem nada, pois é o sql noninstall


Ficheiro exibir em PHP

<html>
<head>
<title>Conte&uacute;do da tabela tb_mural</title>
<meta http-equiv="content-Type" content="text/html;charset=iso-8859-1">
</head>

<boby>

<?
/** Arquivo para conectar ao Banco de Dados */
require("conectdb.php");
/** Selecionando os dados do Banco de dados */
$sql="SELECT * FROM tb_mural";
$limite=mysql_query("$sql");
/** Buscando o limite da tabela para exibição */
while ($sql=mysql_fetch_array($limite) ) {
$id_mensagem=$sql["id_mensagem"];
$nome=$sql["nome"];
$mensagem=$sql["mensagem"];


/** exibindo através do echo o comando obtido */
echo "Mensagem do id $id_mensagem<br>$nome<br>$mensagem<br><br>";
} //fechando while
?>

</body>
</html>


De tudo o que está acima sempre que carrego no "submit" do formulário o que me aparece é uma janela normal a perguntar se "Pretende abrir ou guardar este ficheiro" e nada mais.

Espero que a informação acima seja suficiente para que alguém me possa a ultrapassar esta dificuldade.

Aguardo as vossas ajudas e se puderem testar nas vossas máquinas antes de responderem agradeço.


NOTA: eu não sei se não será algum problema com os espaços no código, por exemplo $mensagem=$sql ou $mensagem = $sql, por isso agradeço toda esta colaboração nas vossas respostas.

Obrigado e um abração,

Edição feita por: lwirkk, 17/05/2008, 20:00.
Adicionado a tag CODE/CODEBOX para melhor visualização do código-fonte.


#2 lwirkk

lwirkk

    Veterano

  • Usuários
  • 1314 posts
  • Sexo:Não informado

Posted 17/05/2008, 20:01

NOTA: eu não sei se não será algum problema com os espaços no código, por exemplo $mensagem=$sql ou $mensagem = $sql, por isso agradeço toda esta colaboração nas vossas respostas.


Com espaço entre eles/elas não tem problema...
=)
Posted Image
"Se quiser ser feliz por um dia, vingue-se; se quiser ser feliz por uma vida inteira, perdoe."

Muito Obrigado à todos do fórum, e à toda equipe do fórum! =)

#3 tempest

tempest

    12 Horas

  • Usuários
  • 131 posts
  • Sexo:Masculino
  • Localidade:Caçador, SC
  • Interesses:Php, Mysql e interatividade!

Posted 17/05/2008, 20:07

Faltou pegar os dados enviados pelo formulario no inicio de inserindo.php

$nome = $_POST['nome'];
$mensagem = $_POST['mensagem'];


:click:

Edição feita por: tempest, 17/05/2008, 20:08.

Posted Image
Css - Flash - Php?...
<? echo "Compartilhar é uma boa forma de aprender"; ?>

#4 melro

melro

    Novato no fórum

  • Usuários
  • 12 posts
  • Sexo:Não informado

Posted 17/05/2008, 21:06

Faltou pegar os dados enviados pelo formulario no inicio de inserindo.php

$nome = $_POST['nome'];
$mensagem = $_POST['mensagem'];


:click:



Ora viva,

no inicio, entre que linhas do código que mostrei??

É só este erro?

#5 tempest

tempest

    12 Horas

  • Usuários
  • 131 posts
  • Sexo:Masculino
  • Localidade:Caçador, SC
  • Interesses:Php, Mysql e interatividade!

Posted 17/05/2008, 21:29

Sim, antes de inseri-los na tabela...

seu codigo ficou tão comentado que ficou confuso! :blink:
Posted Image
Css - Flash - Php?...
<? echo "Compartilhar é uma boa forma de aprender"; ?>

#6 melro

melro

    Novato no fórum

  • Usuários
  • 12 posts
  • Sexo:Não informado

Posted 18/05/2008, 08:05

Sim, antes de inseri-los na tabela...

seu codigo ficou tão comentado que ficou confuso! :blink:




Ficou assim

<html>
<head>
<title>Inserir dados na BD</title>
<meta http-equiv="content-Type" content="text/html;charset=iso-8859-1">
</head>

<boby>

<?
/** Arquivo para conectar ao banco de dados */
require("conectdb.php");

if(!$db){
echo "Erro: Não foi feita a conexão com o banco de dados. Tente novamente.";
}

$nome = $_POST['nome'];
$mensagem = $_POST['mensagem'];


/** Inserindo a tabela tb_mural, nos campos os valores das variáveis */
$sqlinsert="INSERT INTO tb_mural(id_mensagem, nome, mensagem) VALUES('' , '$nome' , 'mensagem')";


/** mysql_query -- Realiza uma query MySQL, executa o comando da variavel */
/** o comando die serve pra caso aconteça algum erro (Mostra uma mensagem e termina o Scrip atual) */
mysql_query($sqlinsert) or die("Não foi possível inserir");

/** Exibe as informações se for inserido com sucesso*/
echo "$nome disse:<br>$mensagem";

?>

</body>
</html>


, mas continua a não passar daquela janela que falei acima.

PRECISO DE AJUDA URGENTE AMIGO.

#7 victorhb

victorhb

    24 Horas

  • Usuários
  • 489 posts
  • Sexo:Masculino
  • Localidade:Brasília-DF

Posted 18/05/2008, 20:50

Se a diretiva short tags estiver off no php, o apache não vai reconhecer o código como PHP (ou o interpretador não) eu acho, tente trocar <? por <?php, o erro que você disse estar acontecendo é um sintoma, mas não garanto que vai funcionar.

Edição feita por: victorhb, 18/05/2008, 20:56.


#8 melro

melro

    Novato no fórum

  • Usuários
  • 12 posts
  • Sexo:Não informado

Posted 19/05/2008, 14:08

Se a diretiva short tags estiver off no php, o apache não vai reconhecer o código como PHP (ou o interpretador não) eu acho, tente trocar <? por <?php, o erro que você disse estar acontecendo é um sintoma, mas não garanto que vai funcionar.



Já tentei e não dá, mas a diretiva short tags está on no php. De qualquer forma agradeço a contribuição.

Aguardo a vossa ajuda meus caros.

#9 victorhb

victorhb

    24 Horas

  • Usuários
  • 489 posts
  • Sexo:Masculino
  • Localidade:Brasília-DF

Posted 19/05/2008, 14:47

Por algum motivo o Apache não está entregando o trabalho pro interpretador PHP, verifique o log do Apache pode ajudar também. É fácil de achar, está na pasta logs do apache.




0 user(s) are reading this topic

0 membro(s), 0 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq