Preciso de ajuda! [RESOLVIDO]

1. Preciso de ajuda! [RESOLVIDO]

Eduardo Alves dos Santos
Edu.linux

(usa Ubuntu)

Enviado em 09/12/2009 - 10:05h

Bom dia pessoal, é o seguinte, estou entrando na área de programação em php e criei um sietema simples com inclusão de dados num banco de dados mysql. Segui umas video aulas que tenho aqui. Mas está dando muito erros. Gostaria de uma ajuda pata analisar o código. Uso o Ubuntu 9.10 Eu crio o código php no gPhpedit.
Bom o código é esse!



<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

<?
/*aqui estamos chamando a página de conexão, dentro da pagina funcoes
e desse modo, não precisamos redigitar nenhum código a mais, aproveitando a
conexao.php*/

include "conexao.php";
// esse código aqui cria variáveis dos campos do formulário.

$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 tb_curso ('nome','email', 'cidade', 'mensagem') values('$grava_nome', '$grava_email', '$grava_cidade', '$grava_mensagem')");
header ('Location:formulario.php');
}

?>


  


2. Bom Dia, Edu

Paulo
henbran

(usa Debian)

Enviado em 09/12/2009 - 10:27h

Evidentemente esse script está bem desenvolvido. Tente quando postar, explicar o que você fez comentando se possível cada linha, senão, pelo menos a linha referente a tua dúvida.

Se a tua máquina tiver bastante memória ram (uns 2 GBs ou mais), tente usar o netbeans com seus respectivos plugins para php, javascript, html, ajax. No ubuntu é super fácil a instalação. Se puder também poste aqui os erros que você disse ocorrer nesse script.

Disponho-me a ajudar, porém tente entender bem a tua dúvida e depois nos mande.

No aguardo ...
Paulo Henrique
paulo.sistemas@gmail.com


3. Re: Preciso de ajuda! [RESOLVIDO]

Eduardo Alves dos Santos
Edu.linux

(usa Ubuntu)

Enviado em 09/12/2009 - 10:35h

É verdade, me desculpe por não explicar melhor... usando o php, mysql e phpmyadmin, quando digito no browser e insiro os dados no formulário, ele dá o seguinte erro... e não consegui achar a resposta, mesmo peequisando no Google.
O erro que aparece é esse!

Warning: Cannot modify header information - headers already sent by (output started at /var/www/curso_php/funcoes.php:3) in /var/www/curso_php/funcoes.php on line 18

Mas olhando o código php, não consegui encontrar o erro, já que a referência é pra voltar ao formulário depois de inserir os dados no bd(função header do php). Mas não consigo a inserção, nem resolver o problema da mensagem de erro. Amigo não possuo essa conriguração no meu pc... tenho apenas 1gb de ram...


4. Inspecione a linha 18 do arquivo funcoes.php

Paulo
henbran

(usa Debian)

Enviado em 09/12/2009 - 10:58h

Na linha 18 do arquivo funcoes.php ocorre um erro. Qual a intenção desse arquivo / função / linha. Se você usar o netbeans com as devidas bibliotecas, certamente ele avisa dos eventuais erros em tempo de programação (igual ao efeito correção ortográfica do writer/office). Eu prefiro iniciar a tag php com "<?php " ao invés de "<?" como você fez. No php há uma imensidão de coisas que se pode fazer. Logo você descubrirá isso. Se precisar estou a disposição.




5. Re: Preciso de ajuda! [RESOLVIDO]

Eduardo Alves dos Santos
Edu.linux

(usa Ubuntu)

Enviado em 09/12/2009 - 11:11h

Henbran, não consegui identificar o erro da linha 18, uma vez eu a função nativa do php a header ali far o redirecionamento para o formulário inicial para não ficar uma página em branco depois de preencher os dados do formulário e enviar. Quanto ao netbeans, eu cheguei a instalar ele no meu notebook, mas o mesmo está em manutenção. Mas já dei o comando sudo aptitude install netbeans aqui no meu Ubuntu 9.10 e te informarei o uso do mesmo. Eu utilizo as tags do php dessa maneira por causa da configuração habilitada do open_short_tag, mas isso é só questão de gosto... Bom, estou estudando muito essa linguagem que me fascina a cada dia mais e mais, e se puder contar com um auxílio prestativo como seu, com certeza irei longe. Vou testar e posto aqui, o resultado. Desde já obrigado.


6. Teste a linha

Paulo
henbran

(usa Debian)

Enviado em 09/12/2009 - 12:13h

Comente a linha onde está
header ('Location:formulario.php');
para
//header ('Location:formulario.php');
coloque uma linha p/ teste assim ...:
echo 'dados gravados com sucesso!';

Se mesmo assim ocorrer o erro certamente deveremos debbugar isso melhor. Senão, o erro parte do arquivo formulario.php e deveremos focar a inspeção nele. Ai você posta ele (explicando-o) e o veremos.

Até mais


7. Usa Post no lugar de Get

Samuel Moura
samucabh

(usa Ubuntu)

Enviado em 09/12/2009 - 14:34h

if($_GET['funcao'] == "gravar") <= aqui não deveria ser post? afinal você está atribuindo nas variáveis com $_POST.
ficaria então assim:
if($_POST['funcao'] == "gravar") {....

Veja se resolva e nos dê retorno.




8. Re: Preciso de ajuda! [RESOLVIDO]

Eduardo Alves dos Santos
Edu.linux

(usa Ubuntu)

Enviado em 09/12/2009 - 15:39h

Samucabh e hencab, fazendo o que o Samuca me disse, eu mudei o método $_GET para o $_POST, mss continua dando erro

syntax error, unexpected $end in /var/www/curso_php/funcoes.php on line 20

e na sequência, o código onde foi alterado! Cada hora dá um erro diferente!

1 - <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
2
3 - <?php
4 - /*aqui estamos chamando a página de conexão, dentro da pagina funcoes
5 - e desse modo, não precisamos redigitar nenhum código a mais, aproveitando a
6 - conexao.php*/
7 -
8 - include "conexao.php";
9 - // esse código aqui cria variáveis dos campos do formulário.
10
11 - $grava_nome = $_POST ['nome'];
12 - $grava_email = $_POST ['email'];
13 - $grava_cidade = $_POST ['cidade'];
14 - $grava_mensagem = $_POST ['mensagem'];
15
16 - if($_POST['funcao'] == "gravar") {
17 - $sql_gravar= mysql_query("INSERT INTO tb_curso ('nome','email', 'cidade', 'mensagem') values
('$grava_nome', '$grava_email', '$grava_cidade', '$grava_mensagem')");
18 - //header ('Location:formulario.php');
19 - echo " Dados inseridos com sucesso! ";
20 - ?>

Estou enviando o código com a respectiva numeração para que vcs vejam que está tudo certo...
mas mesmo assim, não funcionou... vou fazer o seguinte.... vou reintalar php e o mysql e phpadmin




9. Acho que achei o que está errado

Samuel Moura
samucabh

(usa Ubuntu)

Enviado em 09/12/2009 - 22:22h

sql_gravar= mysql_query("INSERT INTO tb_curso ('nome','email', 'cidade', 'mensagem') values('$grava_nome', '$grava_email', '$grava_cidade', '$grava_mensagem')");

faz o seguinte
$sql_grava="INSERT INTO tb_curso ('nome','email', 'cidade', 'mensagem') values('$grava_nome', '$grava_email', '$grava_cidade', '$grava_mensagem')";
$resultado=mysql_query($sql_grava,$conecta);

$conecta=<nome da variável que vc usou no arquivo conexao.php>

exemplo do arquivo conexao.php
<?php
$conecta = mysql_connect('localdoserver', 'usuario', 'senha');
mysql_select_db('base dados desejada',$conecta);
?>


Pelo que percebi falta passar a conexao... qualquer dúvida post novamente para ajudarmos


10. Re: Preciso de ajuda! [RESOLVIDO]

Eduardo Alves dos Santos
edu.linux

(usa Ubuntu)

Enviado em 10/12/2009 - 10:03h

Bom dia Samucabh, agradeço a sua dica, mas acredito que esse não é o caso... pq eu usei o comando include chamando justamente o meu arquivo de conexão ao banco de dados, que foi testado a parte para ver se funcionava... não é esse o problema não, mas vou tentar e retorno aqui... um forte abraço.


11. REQUIRE_ONCE

Paulo
henbran

(usa Debian)

Enviado em 10/12/2009 - 10:08h

tenta trocar include por require_once


12. Re: Preciso de ajuda! [RESOLVIDO]

André Silva
mestrekame

(usa Outra)

Enviado em 10/12/2009 - 10:57h

Cara, tem anos q nao programo mais em PHP, mas lembro que tinha um erro parecido que ocorria quando vc usava um comando para redirecionar pra outra página quando vc já hávia escrito codigo html antes do comando....
tenta o seguinte ....
substitui
---------------------------
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

<?
/*aqui estamos chamando a página de conexão, dentro da pagina funcoes
e desse modo, não precisamos redigitar nenhum código a mais, aproveitando a
conexao.php*/

include "conexao.php";
// esse código aqui cria variáveis dos campos do formulário.

$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 tb_curso ('nome','email', 'cidade', 'mensagem') values('$grava_nome', '$grava_email', '$grava_cidade', '$grava_mensagem')");
header ('Location:formulario.php');
}

?>
---------------------------

por

----------------------------
<?
/*aqui estamos chamando a página de conexão, dentro da pagina funcoes
e desse modo, não precisamos redigitar nenhum código a mais, aproveitando a
conexao.php*/

include "conexao.php";
// esse código aqui cria variáveis dos campos do formulário.

$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 tb_curso ('nome','email', 'cidade', 'mensagem') values('$grava_nome', '$grava_email', '$grava_cidade', '$grava_mensagem')");
header ('Location:formulario.php');
}

?>
----------------------------
Retirando a tag meta...

Mostra tb o codigo q está usando no arquivo "conexao.php"

boa sorte ae




01 02



Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts