Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

William Lima BG

Problema na definição da variável!

Recommended Posts




E aí galera, estou aprendendo php/mysql e estou tendo alguns problemas...
A variável $lname recebe o valor da variável $bdate... Fiz um formulário que é o seguinte?
<htlm>
 
<header>
<title>Cadastre-se!</title>
</header>
 
<body>
 
 
<form method="post" action="teste.php"/>
First Name <input type="text" name="firstname"/>  <br />
Last Name  <input type="text" name="lastname"/> <br />
Phone  <input type="number" name="phone"/> <br />
Birth Date <input type="date" name="lastname"/>   <br />
 
<input type="submit">
</form>
 
 
 
</body>
</html>
e quando confirma ele vai para esse documento que pega as vars via $_POST, mas ocorre aquele erro da troca de valores e no banco de dados não envia a var $bdate e a var $lname fica com o valor da var $bdate.
Código do documento enviado.
<html>
<head>
<title>Inserindo dados em um Banco de Dados</title>
</head>
<body>
<?php
 
// Conexão com o Banco de Dados
mysql_connect("localhost", "*****", "*****") or die (mysql_error ());
 
// Seleciona o Banco de Dados
mysql_select_db("mydatabase") or die(mysql_error());
 
// Comando SQL
$fname = $_POST["firstname"];
$lname = $_POST["lastname"];
$phone = $_POST["phone"]; 
$bdate = $_POST["birthdate"];
 
 
$strSQL = "INSERT INTO people(";
 
$strSQL = $strSQL . "firstname, ";
$strSQL = $strSQL . "lastname, ";
 
$strSQL = $strSQL . "phone, ";
$strSQL = $strSQL . "birthdate) ";
 
$strSQL = $strSQL . "VALUES(";
 
$strSQL = $strSQL . "'" .$fname . "', ";
 
$strSQL = $strSQL . "'" .$lname . "', ";
$strSQL = $strSQL . "'" .$phone . "', ";
 
$strSQL = $strSQL . "'" .$bdate . "')";
 
// Comando SQL executado 
mysql_query($strSQL) or die (mysql_error());
 
// Encerra conexão
mysql_close();
?>
 
<h1>
Banco de Dados atualizado!<br />
Bem Vindo <?php echo $fname . " " .$lname ?>
</h1>
</body>
</html>
Se possível, me ajudem!
Abraço :ninja:

Compartilhar este post


Link para o post
Compartilhar em outros sites

1. rapaz.. não é por nada não, mas nunca tinha visto
essa query q vc está usando..
tente trocar isso tudo:

$strSQL = "INSERT INTO people(";
 
$strSQL = $strSQL . "firstname, ";
$strSQL = $strSQL . "lastname, ";
 
$strSQL = $strSQL . "phone, ";
$strSQL = $strSQL . "birthdate) ";
 
$strSQL = $strSQL . "VALUES(";
 
$strSQL = $strSQL . "'" .$fname . "', ";
 
$strSQL = $strSQL . "'" .$lname . "', ";
$strSQL = $strSQL . "'" .$phone . "', ";
 
$strSQL = $strSQL . "'" .$bdate . "')";

por isso:

$strSQL = "INSERT INTO people(firstname,lastname,phone,birthdate) VALUES('$fname','$lname','$phone','$bdate')";


2.

mas ocorre aquele erro da troca de valores e no banco de dados não envia a var $bdate e a var $lname fica com o valor da var $bdate.

 

correto; veja seu form:

Birth Date <input type="date" name="lastname"/>   <br />


3. a data: se está usando campo tipo date, digite no padrão mysql:
yyyy-mm-dd ou use uma função que converte a digitação na forma brasileira
(dd/mm/yyyy) p/ o formato do mysql
(qdo for exibir, vc pode usar 1 outra função q exibe a data
armazenada no mysql em formato brasileiro)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bem, eu já simplifiquei meu código!

Ele ficou:

 

 

$strSQL = "INSERT INTO people( firstname, lastname, phone, birthdate) VALUES (' " . $fname . " ', ' " . $lname . " ', ' " . $phone . " ', ' " . $bdate . " ') ";

 

E um erro estava na questão da minha falta de atenção, pois usei:


 

First Name <input type="text" name="firstname"></input>  <br />
Birth Date <input type="date" name="firstname"></input>  <br />

os dois usavam name="lastname", logo a variavel firstname ficaria com o valor da data quando fosse definida no outro documento.

Já resolvi e está funcionando perfeitamente!

Obrigado Fernando pela ajuda!

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.