• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

Blue_Acid

[Resolvido] fico com Campos vazios

6 mensagens neste tópico

boas ppl, comecei agora a dar uns toques na programação PHP, e queria começar por uma sistema de Newsletters a parte do registo, já fiz a base de dados apenas com os campos "Nome" e "Mail", tinha o campo "ID" de auto incremento, mas tirei pk pensei k fosse isso k m estava a avariar o script.

Tenho apenas duas páginas o index, onde se adiciona o nome e o mail, e faz logo a listagem dos inscritos, e tenho o ficheiro PHP k adiciona, alguem me pode verificar o codigo e dizer-me pk fico com os campos vazios. Obrigado

<!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=iso-8859-1" />
<title>adicionar news</title>
</head>

<body>
<form method="POST" action="add_new.php">
  <label>Nome
  <input type="text" name="nome"  />
  </label>
  <label>e-mail
  <input type="text" name="mail" />
  </label>
  <label>
  <input type="submit" name="Enviar" value="Enviar" />
  </label>
</form>

<?
$msg[0] = "Erro ao Conectar";
$msg[1] = "Erro ao aceder a Base de Dados";

//Ligar a Base de Dados
$connect = mysql_pconnect ("localhost","admnews","adm") or die ($msg[0]);
mysql_select_db("newsl", $connect) or die ($msg[1]);
?>

Listagem de Associados:
<table border="1">
<tr>
  <td>Nome</td>
  <td>E-Mail</td>
</tr>
<?
// completar a tabela
$query = "SELECT nome,mail FROM add_new";
$resultado = mysql_query($query,$connect);
while ($linha = mysql_fetch_array ($resultado))
{
	?>
<tr>
	<td width="200"> <? echo $linha ['nome'];?></td>
	<td width="600"> <? echo $linha ['mail'];?></td>
</tr>
<?
}
?>
</table>
</body>
</html>

Este é o PHP k adiciona

<?
global $nome;
global $mail;

$nome = trim($nome);
$mail = trim($mail);


$connect = mysql_connect("localhost","admnews","adm") or die ("Erro a ligar a BD");
$insert = "INSERT into add_new values ('$nome','$mail')";
mysql_db_query("newsl", $insert, $connect);

header("Location: index.php");

?>

Obrigado Pessoal, bom fim de semana  :)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Boas,

Não queres mostrar a estrutura da base de dados para eu testar aqui o problema? É que só assim conseguirei dar uma ajuda... :)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

ok, então eu fiz assim um file SQL tb para começar a brincar com isto.

create table add_new(
ID int not null auto_increment primary key,
nome varchar(40),
mail varchar(30) );

vou dp voltar a inserir novamente o campo ID, e como é automatico é preciso fazer alguma coisa no codigo para adicionar autmaticament?

Um Abraço  :)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Usa o $_POST não uses variaveis globais...

//        global $nome;
// 	  global $mail;

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

$nome = trim($nome);
$mail = trim($mail);


$connect = mysql_connect("localhost","admnews","adm") or die ("Erro a ligar a BD");
$insert = "INSERT into add_new values ('$nome','$mail')";
mysql_db_query("newsl", $insert, $connect);

header("Location: index.php");

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Eu também gosto mais do POST...

E que erro é que te dá quanto ao MySQL?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Obrigado, assunto resolvido, é mesmo o POST, já bomba, como eu tenho estado a estudar por um tut brazuca, devia ser com a versão do php mais antiga.

Onrigado pelo F1  :)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora