Presoti 0 Denunciar post Postado Janeiro 25, 2015 Olá, Estou com um problema em um projeto do curso técnico. Tenho de fazer um site com formulários. O site está feito correto, mas o envio dos formulários (conexão PHP) não está funcionando perfeitamente. Meu professor me passou uma folha com exemplos de como eu poderia fazer. Mas tive um problema na página em que eu precisava mostrar, em um tabela, todos os dados que estavam no Banco de Dados (enviados através dos formulários). Aí vem o problema. Eu peguei o código que ele me entregou, mas ao invés de aparecer uma tabela com os dados, aparece o código. Vou deixar os códigos em PHP abaixo. *Estou usando o Wamp Server (é o mesmo usado na minha escola). 1- Código HTML com a conexão em PHP para testes que eu criei. <html> <head> <title> Teste </title> </head> <body> <h1> Teste123 </h1> <?php $conexao = mysql_connect("localhost","root",""); mysql_select_db("escola",$conexao); $consulta = "select * from dadospessoais"; $resultado = mysql_query($consulta,$conexao); echo "<table border='1'>" echo "<tr> <td> Matricula </td> <td> Nome </td> <td> Rua e Número </td> <td> Bairro </td> <td> Cidade </td> <td> UF </td> <td> CEP </td> <td> Nome do Pai </td> <td> Nome da Mãe </td> <td> Data de Nascimento </td> <td> Data de Entrada na Escola </td> <td> Curso </td> <td> Serie </td> <td> Turma </td> </tr>"; while($linha= mysql_fetch_row($resultado)){ echo <tr> <td>".linha[0]."</td> <td>".linha[1]."</td> <td>".linha[2]."</td> <td>".linha[3]."</td> <td>".linha[4]."</td> <td>".linha[5]."</td> <td>".linha[6]."</td> <td>".linha[7]."</td> <td>".linha[8]."</td> <td>".linha[9]."</td> <td>".linha[10]."</td> <td>".linha[11]."</td> <td>".linha[12]."</td></tr>";} echo "</table>"; ?> </body> </html> 2- Código PHP que faz a conexão com o BD. <?php $matricula=$_POST["matricula"]; $nome=$_POST["nome"]; $ruanum=$_POST["ruanum"]; $bairro=$_POST["bairro"]; $cidade=$_POST["cidade"]; $uf=$_POST["uf"]; $cep=$_POST["cep"]; $pai=$_POST["pai"]; $mae=$_POST["mae"]; $dnasc=$_POST["dnasc"]; $dent=$_POST["dent"]; $curso=$_POST["curso"]; $serie=$_POST["serie"]; $turma=$_POST["turma"]; $escola=mysql_connect("localhost","root",""); mysql_select_db("escola",$escola) or die ("Erro ao selecionar Base de Dados "); mysql_query("insert into dadospessoais (matricula, nome, ruanum, bairro, cidade, uf, cep, pai, mae, dnasc, dent, curso, serie, turma) values ('$matricula', '$nome', '$ruanum', '$bairro', '$cidade', '$uf', '$cep', '$pai', '$mae', '$dnasc', '$dent', '$curso', '$serie', '$turma')") or die ("Erro ao gravar no Banco de Dados <br>"); echo "<b>Operação bem-sucedida! </b>"; ?> Compartilhar este post Link para o post Compartilhar em outros sites
webdev15 3 Denunciar post Postado Janeiro 25, 2015 cara pelo que tou vendo voce ta errando na linha onde retorna os dados do array echo <tr> <td>".linha[0]."</td> <td>".linha[1]."</td> <td>".linha[2]."</td> <td>".linha[3]."</td> <td>".linha[4]."</td> <td>".linha[5]."</td> <td>".linha[6]."</td> <td>".linha[7]."</td> <td>".linha[8]."</td> <td>".linha[9]."</td> <td>".linha[10]."</td> <td>".linha[11]."</td> <td>".linha[12]."</td></tr>" voce tem que colocar $linha["nome do campo da base dados"] por exemplo $linha["nome"] Compartilhar este post Link para o post Compartilhar em outros sites
Presoti 0 Denunciar post Postado Janeiro 25, 2015 cara pelo que tou vendo voce ta errando na linha onde retorna os dados do array voce tem que colocar $linha["nome do campo da base dados"] por exemplo $linha["nome"] Obrigado pela resposta. Tentei fazer o que você disse, mas o erro se manteve. Erro: (isso que aparece no navegador) Teste123 " echo " Matricula Nome Rua e Número Bairro Cidade UF CEP Nome do Pai Nome da Mãe Data de Nascimento Data de Entrada na Escola Curso Serie Turma "; while($linha= mysql_fetch_row($resultado)){ echo "$linha[matricula]" ".linha[1]." ".linha[2]." ".linha[3]." ".linha[4]." ".linha[5]." ".linha[6]." ".linha[7]." ".linha[8]." ".linha[9]." ".linha[10]." ".linha[11]." ".linha[12]."";} echo ""; ?> *Já usei o Chrome, Mozila e o IE e o erro é o mesmo. Compartilhar este post Link para o post Compartilhar em outros sites
Electronic 124 Denunciar post Postado Janeiro 25, 2015 O primeiro código que vc postou deve estar com a extensão .html ele tem que .php Compartilhar este post Link para o post Compartilhar em outros sites
webdev15 3 Denunciar post Postado Janeiro 25, 2015 voce tem que rodar o codigo numa pagina php e nao html Compartilhar este post Link para o post Compartilhar em outros sites
Presoti 0 Denunciar post Postado Janeiro 25, 2015 O primeiro código que você postou deve estar com a extensão .html ele tem que .php voce tem que rodar o codigo numa pagina php e nao html Agradeço pelas ajudas, mas tentei com as duas extensões e não deu certo. O erro ainda persiste. Estou achando que o wamp server deve estar mal configurado, ou algum outro problema (talvez até fora do código). Compartilhar este post Link para o post Compartilhar em outros sites
webdev15 3 Denunciar post Postado Janeiro 25, 2015 cara manda um print do resultado que aparece voce pode apenas ter um erro na estrutura ou na sintaxe Compartilhar este post Link para o post Compartilhar em outros sites
Presoti 0 Denunciar post Postado Janeiro 25, 2015 Print do resultado: Compartilhar este post Link para o post Compartilhar em outros sites
webdev15 3 Denunciar post Postado Janeiro 25, 2015 cara foi malz ae tava meio sem tempo você tem um erro ae em vez de fecth_row é fetch_array no entento fiz um codigo para ajudar voce foi meio rapido so para voce ver mais ou menos como fica <!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> <?php $con=mysql_connect("localhost","root",""); $q=mysql_select_db("escola",$con) or die ("Erro ao selecionar Base de Dados "); $resultado=mysql_query("select * from dadospessoais") or die("erro na consulta"); echo "<table border='1'> <tr> <td> Matricula </td> <td> Nome </td> <td> Rua e Número </td> <td> Bairro </td> <td> Cidade </td> <td> UF </td> <td> CEP </td> <td> Nome do Pai </td> <td> Nome da Mãe </td> <td> Data de Nascimento </td> <td> Data de Entrada na Escola </td> <td> Curso </td> <td> Serie </td> <td> Turma </td> </tr>"; while($linha= mysql_fetch_array($resultado)){ echo "<tr> <td> $linha[matricula] </td> <td> $linha[nome] </td> <td> $linha[ruanum] </td> <td> $linha[bairro] </td> <td> $linha[cidade] </td> <td> $linha[uf] </td> <td> $linha[cep] </td> <td> $linha[pai] </td> <td> $linha[mae] </td> <td> $linha[dnasc] </td> <td> $linha[dent] </td> <td> $linha[curso] </td> <td> $linha[serie] </td> <td> $linha[turma] </td> </tr>"; } ?> </body> </html> isso em extensao php p.s- voce tem que aprender a colocar o codigo melhor identado para poder assim ser mais facil identificar problemas Compartilhar este post Link para o post Compartilhar em outros sites
Limones 0 Denunciar post Postado Janeiro 25, 2015 Olá, li seu código todo e na linha 19 estava faltando uma "(aspas) coloquei pra você: <html> <head> <title> Teste </title> </head> <body> <h1> Teste123 </h1> <?php $conexao = mysql_connect("localhost","root",""); mysql_select_db("escola",$conexao); $consulta = "select * from dadospessoais"; $resultado = mysql_query($consulta,$conexao); echo "<table border='1'>" echo "<tr> <td> Matricula </td> <td> Nome </td> <td> Rua e Número </td> <td> Bairro </td> <td> Cidade </td> <td> UF </td> <td> CEP </td> <td> Nome do Pai </td> <td> Nome da Mãe </td> <td> Data de Nascimento </td> <td> Data de Entrada na Escola </td> <td> Curso </td> <td> Serie </td> <td> Turma </td> </tr>"; while($linha= mysql_fetch_row($resultado)){ echo "<tr> <td>".linha[0]."</td> <td>".linha[1]."</td> <td>".linha[2]."</td> <td>".linha[3]."</td> <td>".linha[4]."</td> <td>".linha[5]."</td> <td>".linha[6]."</td> <td>".linha[7]."</td> <td>".linha[8]."</td> <td>".linha[9]."</td> <td>".linha[10]."</td> <td>".linha[11]."</td> <td>".linha[12]."</td></tr>";} echo "</table>"; ?> </body> </html> O echo não estava iniciando corretamente. (Sou iniciante em PhP, pode ser que não seja isso. Caso não seja, desculpe. Compartilhar este post Link para o post Compartilhar em outros sites
webdev15 3 Denunciar post Postado Janeiro 25, 2015 eu testei o codigo localmente e esta funcionando correto voce ja testou o meu codigo? Compartilhar este post Link para o post Compartilhar em outros sites
Presoti 0 Denunciar post Postado Janeiro 25, 2015 cara foi malz ae tava meio sem tempo você tem um erro ae em vez de fecth_row é fetch_array no entento fiz um codigo para ajudar voce foi meio rapido so para voce ver mais ou menos como fica <!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> <?php $con=mysql_connect("localhost","root",""); $q=mysql_select_db("escola",$con) or die ("Erro ao selecionar Base de Dados "); $resultado=mysql_query("select * from dadospessoais") or die("erro na consulta"); echo "<table border='1'> <tr> <td> Matricula </td> <td> Nome </td> <td> Rua e Número </td> <td> Bairro </td> <td> Cidade </td> <td> UF </td> <td> CEP </td> <td> Nome do Pai </td> <td> Nome da Mãe </td> <td> Data de Nascimento </td> <td> Data de Entrada na Escola </td> <td> Curso </td> <td> Serie </td> <td> Turma </td> </tr>"; while($linha= mysql_fetch_array($resultado)){ echo "<tr> <td> $linha[matricula] </td> <td> $linha[nome] </td> <td> $linha[ruanum] </td> <td> $linha[bairro] </td> <td> $linha[cidade] </td> <td> $linha[uf] </td> <td> $linha[cep] </td> <td> $linha[pai] </td> <td> $linha[mae] </td> <td> $linha[dnasc] </td> <td> $linha[dent] </td> <td> $linha[curso] </td> <td> $linha[serie] </td> <td> $linha[turma] </td> </tr>"; } ?> </body> </html> isso em extensao php p.s- voce tem que aprender a colocar o codigo melhor identado para poder assim ser mais facil identificar problemas Muito obrigado cara, deu certinho. Desculpa a demora, mas é que eu refiz o BD para garantir que não ia dar erro nenhum. Queria deixar uma observação, porque tive um outro problema, mas que consegui achar solução em um outro fórum. O erro que aparecia é o seguinte: Deprecated: mysql_connect(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead in 'caminho do arquivo' on line xx. A solução é simples, no começo do código, coloque o seguinte: error_reporting(0); Compartilhar este post Link para o post Compartilhar em outros sites
webdev15 3 Denunciar post Postado Janeiro 25, 2015 se voce precisar de ajuda e so postar Compartilhar este post Link para o post Compartilhar em outros sites
Presoti 0 Denunciar post Postado Janeiro 25, 2015 Agora apareceu um novo erro :/ Toda vez que se insere dados novos através do formulário, aparece a mensagem de erro ' Erro ao gravar no Banco de Dados '. No caso, imagino estar havendo alguma falha na conexao. <?php error_reporting(0); $matricula=$_POST["matricula"]; $nome=$_POST["nome"]; $endereco=$_POST["endereco"]; $bairro=$_POST["bairro"]; $cidade=$_POST["cidade"]; $uf=$_POST["uf"]; $cep=$_POST["cep"]; $pai=$_POST["pai"]; $mae=$_POST["mae"]; $dnasc=$_POST["dnasc"]; $dent=$_POST["dent"]; $curso=$_POST["curso"]; $serie=$_POST["serie"]; $turma=$_POST["turma"]; $escola=mysql_connect("localhost","root",""); mysql_select_db("escola",$escola) or die ("Erro ao selecionar Base de Dados "); mysql_query("insert into dadospessoais (matricula, nome, endereco, bairro, cidade, uf, cep, pai, mae, dnasc, dent, curso, serie, turma) values ('$matricula', '$nome', '$endereco', '$bairro', '$cidade', '$uf', '$cep', '$pai', '$mae', '$dnasc', '$dent', '$curso', '$serie', '$turma')") or die ("Erro ao gravar no Banco de Dados <br>"); echo "<b>Operação bem-sucedida! </b>"; ?> **Vou deixar os outros codigos php, pq eu troquei uma variavel que estava como 'ruanum' para 'endereco'. <html> <head> <title>Teste</title> </head> <body> <h1> Teste123 </h1> <?php error_reporting(0); $conexao=mysql_connect("localhost","root",""); $q=mysql_select_db("escola",$conexao) or die ("Erro ao selecionar Base de Dados "); $resultado=mysql_query("select * from dadospessoais") or die("erro na consulta"); echo "<table border=1> <tr> <td> Matricula </td> <td> Nome </td> <td> Endereço </td> <td> Bairro </td> <td> Cidade </td> <td> UF </td> <td> CEP </td> <td> Nome do Pai </td> <td> Nome da Mãe </td> <td> Data de Nascimento </td> <td> Data de Entrada na Escola </td> <td> Curso </td> <td> Serie </td> <td> Turma </td> </tr>"; while($linha=mysql_fetch_array($resultado)){ echo "<tr> <td> $linha[matricula] </td> <td> $linha[nome] </td> <td> $linha[endereco] </td> <td> $linha[bairro] </td> <td> $linha[cidade] </td> <td> $linha[uf] </td> <td> $linha[cep] </td> <td> $linha[pai] </td> <td> $linha[mae] </td> <td> $linha[dnasc] </td> <td> $linha[dent] </td> <td> $linha[curso] </td> <td> $linha[serie] </td> <td> $linha[turma] </td> </tr>"; } ?> </body> </html> Compartilhar este post Link para o post Compartilhar em outros sites
webdev15 3 Denunciar post Postado Janeiro 25, 2015 vc trocou na bd o campo tambem por endereco? checa em vez de or die ("Erro ao gravar no Banco de Dados <br>") coloca or die(mysql_error()) mas primeiro ve no banco dados se vc la mudou o campo Compartilhar este post Link para o post Compartilhar em outros sites
Presoti 0 Denunciar post Postado Janeiro 25, 2015 você trocou na bd o campo tambem por endereco? checa em vez de or die ("Erro ao gravar no Banco de Dados <br>") coloca or die(mysql_error()) mas primeiro ve no banco dados se você la mudou o campo Eu já havia alterado o banco de dados. Tentei trocar o comando, mas o erro continua. Compartilhar este post Link para o post Compartilhar em outros sites
webdev15 3 Denunciar post Postado Janeiro 25, 2015 qual o erro que da quando vc trocou pelo mysql_error()? mysql_query("insert into dadospessoais (matricula, nome, endereco, bairro, cidade, uf, cep, pai, mae, dnasc, dent, curso, serie, turma) values ('$matricula', '$nome', '$endereco', '$bairro', '$cidade', '$uf', '$cep', '$pai', '$mae', '$dnasc', '$dent', '$curso', '$serie', '$turma')") or die ("Erro ao gravar no Banco de Dados <br>"); >>>>>>>>>>>>>>> COLOCA AGORA mysql_query("insert into dadospessoais (matricula, nome, endereco, bairro, cidade, uf, cep, pai, mae, dnasc, dent, curso, serie, turma) values ('$matricula', '$nome', '$endereco', '$bairro', '$cidade', '$uf', '$cep', '$pai', '$mae', '$dnasc', '$dent', '$curso', '$serie', '$turma')") or die (mysql_error()) Compartilhar este post Link para o post Compartilhar em outros sites
Presoti 0 Denunciar post Postado Janeiro 25, 2015 qual o erro que da quando você trocou pelo mysql_error()? mysql_query("insert into dadospessoais (matricula, nome, endereco, bairro, cidade, uf, cep, pai, mae, dnasc, dent, curso, serie, turma) values ('$matricula', '$nome', '$endereco', '$bairro', '$cidade', '$uf', '$cep', '$pai', '$mae', '$dnasc', '$dent', '$curso', '$serie', '$turma')") or die ("Erro ao gravar no Banco de Dados <br>"); >>>>>>>>>>>>>>> COLOCA AGORA mysql_query("insert into dadospessoais (matricula, nome, endereco, bairro, cidade, uf, cep, pai, mae, dnasc, dent, curso, serie, turma) values ('$matricula', '$nome', '$endereco', '$bairro', '$cidade', '$uf', '$cep', '$pai', '$mae', '$dnasc', '$dent', '$curso', '$serie', '$turma')") or die (mysql_error()) Cara, muito obrigado novamente, você ajudou muito. Você acabou me fazendo reconferir tudo (tudo mesmo) e eu vi que estava faltando a coluna 'turma' na BD. (kkkkkkk) Valeu! Compartilhar este post Link para o post Compartilhar em outros sites
Presoti 0 Denunciar post Postado Janeiro 26, 2015 Desculpem prolongar demais o tópico, sou novo em fóruns, mas é que eu gostaria de saber uma outra coisa. A página de consulta dos dados que estão armazenadas no BD, está aparecendo, mas a tabela não está com as linhas/divisórias aparecendo. Já tentei colocar outras cores, mas só consegui alterar a cor de fundo. E, um outro detalhe, a "tabela" está aparecendo no final da página (depois do rodapé) e, no código, está antes do rodapé da página. Como resolvo esses detalhes? Compartilhar este post Link para o post Compartilhar em outros sites