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á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ú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.