• 0
Sign in to follow this  
Gustavospcosta

Código PHP não compila

Question

boa noite!

o trabalho proposto para a faculdade é fazer uma página HTML com formulários que grave as informações num banco de dados SQL.

instalei o XAMPP no meu PC, criei um banco de dados chamado impressos, dentro deste uma tabela chamada livros com três campos: codigo VARCHAR (10), nome VARCHAR (10), autor VARCHAR (10).

criei uma página index.html:

<html>
<head>
<title> Boa Leitura.ORG - SysLeitura </title>
</head>
<body>
<h1 align="center">Bem-Vindos ao SysLeitura</h1>
<p align="center">Para inserir livros na nossa blibioteca, use o formulário abaixo.</p>
<table width="768" border="0" align="center">
  <form action="incluirlivro.php" method="post">
  <tr>
    <td colspan="4"><div align="center">
      <h1>Livros</h1>
    </div></td>
  </tr>
  <tr>
    <td width="16%">Nome:</td>
    <td width="84%" colspan="3"><label for="textfield"></label>
    <input name="nome" type="text" id="nome" size="60"></td>
  </tr>
    <tr>
    <td>Código:</td>
    <td colspan="3"><label for="textfield4"></label>
    <input name="codigo" type="text" id="codigo" size="60"></td>
  </tr>
  <tr>
    <td>Autor:</td>
    <td colspan="3"><label for="textfield5"></label>
    <input name="autor" type="text" id="autor" size="60"></td>
  </tr>
  <tr>
    <td colspan="4"><div align="center"></div></td>
  </tr>
  <tr>
    <td colspan="4"><div align="center">
      <input type="submit" name="button" id="button" value="Enviar">
      <input type="reset" name="button2" id="button2" value="Resetar">
    </div></td>
  </tr>
</form>
</table>
</body>
</html>
criei uma página incluirlivro.php:
<?php
include("conexao.php");
$nome = $_POST['nome'];
$codigo = $_POST['codigo'];
$autor = $_POST['autor'];
$sql = "INSERT INTO livros (nome, codigo, autor) VALUES ('$nome', '$codigo', '$autor')";
$exe_sql = mysql_query($sql) or die(mysql_error());
header("Location: retorno.php");
?>
e uma página conexao.php:
<?php
$host = "localhost";
$usuario = "root";
$senha = "root";
$banco = mysql_connect($host, $usuario, $senha) or die(mysql_error());
mysql_select_db("impressos", $banco) or die(mysql_error());
?>

página para inserção de dados:

oqiour.jpg

ao apertarmos o botão ENVIAR, os dados inseridos, ele não executa nada, logo temos a seguinte tela no browser:

drcnj9.jpg

ele não grava, não executa. sei que o problema deve ser bobo, mas não tenho idéia da onde seja.

obrigado desde já.

Share this post


Link to post
Share on other sites

18 answers to this question

Recommended Posts

  • 0

Galera, pesquisando, vi que preciso de um código JavaScript para fazer o botão enviar chamar a função incluirlivro.php.

se alguém puder me ajudar eu agradeço, mas creio que a causa deste problema seja isto.

caso seja, favor trance o tópico.

obrigado desde já.

Share this post


Link to post
Share on other sites
  • 0

Gustavospcosta,bom dia.

Cara,o seu script está normal. E não,não é necessário JS para chamar a 'função' incluirlivro.php, pois é uma página - Logo,pode ser feito no action.

O problema pode ser no seu servidor. Como não encontrei nenhum erro aparente,rodei seu script na minha máquina,e funcionou normalmente.

Bom,tente o seguinte:

Primeiro,verifique se o PHP está rodando - crie e acesse um arquivo com o conteúdo

<? phpinfo; ?>

Se forem mostradas algumas informações então seu servidor está interpretando normalmente o PHP.

Caso contrário,o PHP não está rodando. Pondere reinstalar o xampp ou wamp,pois pode ser que tenha ocorrido alguma falha durante a instalação,ou alguma configuração ou macete que eu desconheça deva ser feito nesses casos.

Abraços.

Share this post


Link to post
Share on other sites
  • 0

Alem das dicas do Hugo

Abra o Xampp

Click no Phpmyadmin

Click em privilegios

Selecione usuario root , servidor Localhost

Editar privilegios.

Veja esta marcado o checkbox,

selec, insert, update, delete

Se não tiver marque os 4, e rode a tua inclusao.

****

Apos isto no PhpmyAdmin, Verifique se não tem registros a tabela livros, no seu Banco Impressos

Selecione o banco impressos

depois a tabela livros

e vejas esta tabela não tem registros.

Um video que me ajudou muito , a fazer testes, quando a gente comeca fazer um cadastro de PHP foi, este.

Que você podera fazer teste basicos, na tua inclusao, e você sabera se esta tudo OK.

Link do Video.

http://www.youtube.com/watch?v=2Cr-1NA5cIs

Edited by Alceu13

Share this post


Link to post
Share on other sites
  • 0
Alem das dicas do Hugo

Abra o Xampp

Click no Phpmyadmin

Click em privilegios

Selecione usuario root , servidor Localhost

Editar privilegios.

Veja esta marcado o checkbox,

selec, insert, update, delete

Se não tiver marque os 4, e rode a tua inclusao.

****

Apos isto no PhpmyAdmin, Verifique se não tem registros a tabela livros, no seu Banco Impressos

Selecione o banco impressos

depois a tabela livros

e vejas esta tabela não tem registros.

Um video que me ajudou muito , a fazer testes, quando a gente comeca fazer um cadastro de PHP foi, este.

Que você podera fazer teste basicos, na tua inclusao, e você sabera se esta tudo OK.

Link do Video.

http://www.youtube.com/watch?v=2Cr-1NA5cIs

privilégios do usuário root:

8vqivr.jpg

banco de dados impressos, tabela livros, com nenhum registro:

2i27wc4.jpg

tudo na mesma!

PS: obrigado à todos que responderam ao tópico.

Share this post


Link to post
Share on other sites
  • 0

Na figura 1

no servidor Localhost ,esta sem senha!!! conforme figura 1

// sua conexao.php
<?php
$host = "localhost";
$usuario = "root";
$senha = "";  // esta root senha,  aqui você deixa em branco, para  ve se funciona
$banco = mysql_connect($host,$usuario,$senha) or die("Não conectei Servidor"); // msg erro,no video 7min.teste este cod.
mysql_select_db("impressos", $banco) or die(mysql_error());
?>

Edited by Alceu13

Share this post


Link to post
Share on other sites
  • 0
Na figura 1

no servidor Localhost ,esta sem senha!!! conforme figura 1

// sua conexao.php
<?php
$host = "localhost";
$usuario = "root";
$senha = "";  // esta root senha,  aqui você deixa em branco, para  ve se funciona
$banco = mysql_connect($host,$usuario,$senha) or die("Não conectei Servidor"); // msg erro,no video 7min.teste este cod.
mysql_select_db("impressos", $banco) or die(mysql_error());
?>

Alceu, não entendi aonde na figura 1 diz que o usuário root no localhost esta sem senha.

eu setei a senha do root para root.

:wacko:

Share this post


Link to post
Share on other sites
  • 0

Desculpe eu interpetrei errado, o final da imagem figura1.

já que você diz que cadastrou uma senha, root, no Servidor, E é provavel, se deixar sem senha,era dar o erro de conecao com o Servidor.

Sendo assim :

Desconsidere a minha resposta anterior.

Edited by Alceu13

Share this post


Link to post
Share on other sites
  • 0

Tem tudo a haver.

Apache e MySql não carregou,!!!

No icone xampp na area de trabalho, Control cpanel xampp, ou no menu iniciar, você clica em start no Apache, e mysql

Aki neste tópico,

você tem a instalacao e configuracao do Xampp

http://scriptbrasil.com.br/forum/index.php?showtopic=169459

ou neste

Tutorias aki no forum Curso de PHP

Edited by Alceu13

Share this post


Link to post
Share on other sites
  • 0
Tem tudo a haver.

Apache e MySql não carregou,!!!

No icone xampp na area de trabalho, Control cpanel xampp, ou no menu iniciar, você clica em start no Apache, e mysql

Aki neste tópico,

você tem a instalacao e configuracao do Xampp

http://scriptbrasil.com.br/forum/index.php?showtopic=169459

Alceu13, obrigado. Vou seguir este tutorial assim que chegar em casa.

Eu quando vi este erro, eu pesquisei algo relacionado com o fato do MySQL estar com status DESACTIVATED, mas não achei NADA!

Vou seguir o tutorial que você me passou passo-a-passo e vamos ver.

Assim que terminar postarei aqui!

Share this post


Link to post
Share on other sites
  • 0

galera, nada feito!

estou usando outro PC (as memórias do meu PC queimaram) com Windows XP, instalei o XAMPP 1.7.7 e continua dando o MESMO PROBLEMA!

desta vez o status do MySQL é ACTIVATED, como na imagem abaixo:

2dlrnes.jpg

Já mandei rodar os módulos Apache e MySQL como Serviço e de nada adiantou.

Vou tentar usar o EasyPHP, vou deixar o XAMPP um pouco de lado.

Obrigado pela ajuda de todos, mas estou ficando desanimado...

Share this post


Link to post
Share on other sites
  • 0

No seu Menu xammp PHP abaixo de PHPinfo()

você tem

cd Colection

clica nele incluir um registro

Veja se inclui o registro.

ou

phone book

clica nele e tenta adicionar um registro.

Caso desista do xampp

Eu instalei do Wamp Server 20 no windows xp

e deu tudo certo assistindo o video abaixo

Se preferir Instalar Wamp Server local Segue Video

http://www.youtube.com/watch?v=7fjiuWLNx1k

Apos a instalacao click Wamp no icone na barra ferramentas, e selecione localhost

e abriu normalmente

Crie uma pasta em test

C:\wamp\www\test

crie o banco de dados Test, inserir as tabelas, e tudo funcional normal inclusao alteracao exclusao.

Edited by Alceu13

Share this post


Link to post
Share on other sites
  • 0
como você ta acessando essas paginas ?

as páginas de configuração eu acesso normal: acesso localhost no browser e faço login como usuário: root, senha: root.

eu copio a pasta com meu HTML e meus PHPs para a pasta WWW ou HTDOCs e abro pelo Google Chrome ou Internet Explorer 8.

galera, não gostei do EasyPHP: achei muito confuso seu menu de acesso. estou instalando o WAMP para tentar novamente.

PS: Uso um PC com Windows XP SP3, sem anti-vírus, sem firewall, e recém-instalado.

Share this post


Link to post
Share on other sites
  • 0

vamos lá, tudo de novo, desta vez com WAMP SERVER 2.1 com Windows XP:

INDEX.HTML

<?php
include "conexao.php"
?>
<html>
<head>
<title> TESTE CADASTRO </title>
</head>
<body>
<form name="cadastrolivros" method="post" action="gravacao.php">
<h1>Bem Vindo ao SysLeitura</h1>
<p>para cadastrar os livros, use o formulário abaixo:</p>
    <table>
        <tr>
            <td>Nome Livro:</td>
            <td><input type="text" name="nomelivro"/></td>
        <tr>
        <tr>
            <td>Autor:</td>
            <td><input type="text" name="autor"/></td>
        <tr>
        <tr>
            <td>Codigo:</td>
            <td><input type="text" name="codigo"/></td>
        <tr>
        <tr>
            <td colspan="2" align="right"><input type="submit" value="Enviar"/></td>
        <tr>
    </table>    
</body>
</html>
CONEXAO.PHP
<?php
$host = "localhost";
$user = "gus";
$password = "gus";
$bank = "impressos";
$conexao = mysql_connect($host, $user, $password) or die (mysql_error());
mysql_select_db($bank) or die (mysql_error()); 
?>
GRAVACAO.PHP
<?php
include "conexao.php";
?>
<?php
$nomelivro=$_POST['nomelivro'];
$autor=$_POST['autor'];
$codigo=$_POST['codigo'];
$sql=mysql_query ("INSERT INTO livros (nomelivro, autor, codigo) VALUES ('$nomelivro', '$autor', '$codigo')"); 
?>
<html>
<head>
<title>Inserir Livro</title>
</head>
<body>
</body>
</html>

criei um usuário: gus, senha: gus com todos os privilégios:

dzynty.jpg

e continua dando o mesmo problema: ao invés de executar o código ele imprime no browser o script PHP.

Edited by Gustavospcosta

Share this post


Link to post
Share on other sites
  • 0

No phpmyadmin Crie o banco Impressos

e a tabela livros

CREATE TABLE `livros` (
  `id` int(6) NOT NULL auto_increment,
  `nomelivro` varchar(80) default NULL,
  `autor` varchar(100) default NULL,
  `codigo` varchar(30) default NULL,
  PRIMARY KEY  (`id`)
) ENGINE=InnoDB  DEFAULT CHARSET=latin1 AUTO_INCREMENT=3;

A pasta

Em

C:\wamp\www\

crie a pasta livros

Na pasta livros

Coloquei os arquivos, conexao.php, gravacao.php, index.php

C:\wamp\www\livros

No navegador digitei o endereco.

http://localhost/livros/index.html

chamei o index.html

Acabei de cadastra um livro

com o seu codigo e deu certo

aki não da erro

http://desmond.imageshack.us/Himg267/scale...amp;res=landing

Tem que funcionar.

Edited by Alceu13

Share this post


Link to post
Share on other sites
  • 0

CONSEGUI GALERA!

é o seguinte: acessei o INDEX.HTML pelo link do localhost como na imagem abaixo:

2rom7uq.jpg

ai funcionou perfeitamente.

anteriormente eu estava acessando o INDEX.HTML chamando o browser via Notepad++, como na figura abaixo

dotkdt.jpg

ou abria a pasta WWW (para WAMPSERVER) ou HTDOCS (para XAMPP) via Windows Explorer e lançava via browser:

34yb2hk.jpg

acho que era esse o problema, rs.

então todo script que eu fizer tenho que acesar pelo link YOUR PROJECTS no WAMPSERVER?

obrigado à todos pelas respostas. assim que comprar as memórias para o meu outro PC, vou formata-lo e usar o WAMPSERVER de novo e vamos ver se funciona.

Share this post


Link to post
Share on other sites
  • 0

Imaginei que fosse esse o problema, pois ao acessar um arquivo.php ou outra extensão ele deve retorna ero, não abrir, tentar fazer o download mas jamais mostra o que tem dentro como aconteceu com você... e como o Index abrir e era HTML fazia sentido...

bem td certo, que bom que resolveu.

Share this post


Link to post
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.

Sign in to follow this