Ir para conteúdo

POWERED BY:

Arquivado

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

Alex Oliveira_164407

ERRO no meu arquivo PHP

Recommended Posts

Bom dia a todos, eu criei um arquivo PHP que se conecta a um banco de dados só que ele esta dando dois erros:

 

1º==quando eu não coloco nenhum dado aparece a seguinte mensagem "ERRO. Smsg" .

2º==quando eu coloco os dados e envio, aparece uma tela toda em branco e quando vó olhar se os dados foram inseridos não tem nada.

Não consigo achar o que eu fiz de errado, espero que você possa me ajudar.

 

Aki esta o formulario html, mas eu acho que nessa parte não tem nenhum erro:

 

<html>
<head>
<meta charset="UTF-8">
<title>Cadastro de Pedidos</title>
</head>
<body>
<H1>WebFlores - Cadastro de Pedidos</h1>
<!-- Definição do metodo e da ação -->
<form name ="WebFlores - Cadastro de Pedidos" method="POST" action="banco.php" >
<form>
<!-- Utilização dos campos tipo texto, utilizei uma tabela para alinhar as caixa de texto -->
<table>
<tr>
<td> Nome do Remetente:</td>
<td><input type="text" name="NRemetente" size="40"> <br /></td>
</tr>
<tr>
<td>Endereço do Remetente:</td>
<td><input type="text" name="ERemetente" size="40"> <br /></td>
</tr>
<tr>
<td>Nome do Destinatário:</td>
<td><input type="text" name="NDestinatario" size="40"> <br /></td>
</tr>
<tr>
<td>Endereço do Destinatário:</td>
<td><input type="text" name="EDestinatario" size="40"> <br /></td>
</tr>
<tr>
<!--Utilizei um campo do tipo data para não presizar validar esse campo-->
<td>Data da Entrega:</td>
<td><input type="date" name="data" size="40"> <br /></td>
</tr>
<tr>
<!--combobox flor-->
<td>Flor :</td>
<td><select name="flor">
<option value="1">Namorados - R$ 30.00
<option value="2">Paixão - R$ 50.00
<option value="3">Casual - R$ 40.00
<option value="4">Mix de rosas - R$ 50.00
<option value="5">Saboroso - R$ 60.00
</select><br></td><p></p>
</tr>
<!--Campo do tipo texto area-->
<tr>
<td> Menssagem:</td>
<td> <textarea name="mensagem" rows="4" cols="31">Digite aqui sua menssagem
</textarea></td>
</tr>
<!--Botoes de envio e limpar-->
<td> <input type="submit" value="Enviar" name="envir" ></td>
<td><input type="reset" value="Limpar"/></td>
</table>
</form>
</body>
</html>

 

Agora o arquivo PHP:
<?php
//função para validar os dados
function validarDados(&$msg, $NomeRemetente, $EndRemetente, $NomeDestinatario, $EndDestinatario, $Mensagem){
$resultado = true;
if (empty($NomeRemetente)){
$msg = "Nome do remetente invalido.<BR>";
$resultado = false;}
if (empty($EndRemetente)){
$msg = $msg . "Endereço do remetente invalido.<BR>";
$resultado = false; }
if (empty($NomeDestinatario)){
$msg = $msg . "Nome do destinatario invalido.<BR>";
$resultado = false;
}
if (empty($EndDestinatario)){
$msg = $msg . "Endereço do destinatario invalido.<BR>";
$resultado = false;
}
if (empty($Mensagem)){
$msg = $msg . "Menssagem invalida.<BR>";
$resultado = false;
}
return $resultado;
}
//Pegar os dados:
$NomeRemetente = $_POST["NRemetente"];
$EndRemetente = $_POST["ERemetente"];
$NomeDestinatario = $_POST["NDestinatario"];
$EndDestinatario = $_POST["EDestinatario"];
$DataEntrega = $_POST["data"];
$TipoFlor = $_POST["flor"];
$Mensagem = $_POST["mensagem"];
//pegar a data do sistema
date_default_timezone_set('America/Sao_Paulo');
$DataPedido = date("d/M/Y");
//validar os dados
$msg = "";
if (validarDados($msg, $NomeRemetente, $EndRemetente, $NomeDestinatario, $EndDestinatario, $Mensagem) ) {
//função para conectar ao banco
mysql_connect("localhost", "root", "") or die ("Erro ao conctar com o banco de dados." . mysql_errno() );
//função para escolher o banco de dados
mysql_select_db("bdfloricultura") or die ("Erro ao selecionar o banco de dados." . mysql_errno() ) ;
//Inserir os dados ao banco de bados
$sql = "INSERT INTO pedidos (nomeRemetente, enderRemetente, nomeDestinatario, enderDestinatario, mensagem, idFlor, dtPedido, dtEntrega)"
. "VALUES ('$NomeRemetente', '$EndRemetente', '$NomeDestinatario', '$EndDestinatario', '$Mensagem', $TipoFlor, $DataPedido, $DataEntrega) ";
//execurar no banco de dados
mysql_query($sql) or die ( mysql_errno() ) ;
echo "DADOS INSERIDOS COM SUCESSO.";
}else{
//ERRO
echo "ERRO. Smsg";
}
?>
Espero que vocês possam me ajudar
Obrigado pela atenção!!!!!!

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Esta mostrando a mensagem "ERRO. Smsg" pq o codigo foi feito para mostrar isso, repare no else no final, ele valida os dados se não tiver nenhum ele entra dentro o else que que ira msotrar a mensagem, dentro da função ele esta armazenando um mensagem dentro do variavel $msg, mas em nenhuma parte do codigo esta manipulando ela, para ser exibida

 

em questão que não está armazenando você esqueceu de armazenar a conexão para chamar junto a db, o certo é assim

 

 

$conexao = mysql_connect("localhost", "root", "") or die ("Erro ao conctar com o banco de dados." . mysql_errno() );
     
     //função para escolher o banco de dados
     mysql_select_db("bdfloricultura",$conexao) or die ("Erro ao selecionar o banco de dados." . mysql_errno() ) ;

Compartilhar este post


Link para o post
Compartilhar em outros sites

em relação a mensagem de erro, eu queria que aparecesse uma para cada campo, por exemplo: se o nome do remetente ficar em branco ai aparece "Erro. nome do remetente invalido", se o endereço ficar em branco : "Erro. endereço invalido" e assim por diante .

 

ja a parte do armazenamento eu fiz igual você falo mas continua dando o mesmo erro. Se dasse certo era para aperecer a mensagem "DADOS INSERIDOS COM SUCESSO." , mas tambem não aparece

Compartilhar este post


Link para o post
Compartilhar em outros sites

coloque um echo para ver qual o erro

 

$conexao = mysql_connect("localhost", "root", "") or die ( echo "Erro ao conctar com o banco de dados." . mysql_errno() );
     
     //função para escolher o banco de dados
     mysql_select_db("bdfloricultura",$conexao) or die (echo "Erro ao selecionar o banco de dados." . mysql_errno() ) ;
 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu fiz igual vc falo eo código ficou assim:

 

 

<?php
//função para validar os dados
function validarDados(&$msg, $NomeRemetente, $EndRemetente, $NomeDestinatario, $EndDestinatario, $Mensagem){
$resultado = true;
if (empty($NomeRemetente)){
$msg = "Nome do remetente invalido.<BR>";
$resultado = false;}
if (empty($EndRemetente)){
$msg = $msg . "Endereço do remetente invalido.<BR>";
$resultado = false; }
if (empty($NomeDestinatario)){
$msg = $msg . "Nome do destinatario invalido.<BR>";
$resultado = false;
}
if (empty($EndDestinatario)){
$msg = $msg . "Endereço do destinatario invalido.<BR>";
$resultado = false;
}
if (empty($Mensagem)){
$msg = $msg . "Menssagem invalida.<BR>";
$resultado = false;
}
return $resultado;
}
//Pegar os dados:
$NomeRemetente = $_POST["NRemetente"];
$EndRemetente = $_POST["ERemetente"];
$NomeDestinatario = $_POST["NDestinatario"];
$EndDestinatario = $_POST["EDestinatario"];
$DataEntrega = $_POST["data"];
$TipoFlor = $_POST["flor"];
$Mensagem = $_POST["mensagem"];
//pegar a data do sistema
date_default_timezone_set('America/Sao_Paulo');
$DataPedido = date("d/M/Y");
//validar os dados
$msg = "";
if (validarDados($msg, $NomeRemetente, $EndRemetente, $NomeDestinatario, $EndDestinatario, $Mensagem) ) {
//função para conectar ao banco
$conexao = mysql_connect("localhost", "root", "") or die ("Erro ao conctar com o banco de dados." . mysql_errno() );
//função para escolher o banco de dados
mysql_select_db("bdfloricultura") or die ("Erro ao selecionar o banco de dados." . mysql_errno() ) ;
//Inserir os dados ao banco de bados
$sql = "INSERT INTO pedidos (nomeRemetente, enderRemetente, nomeDestinatario, enderDestinatario, mensagem, idFlor, dtPedido, dtEntrega)"
. "VALUES ('$NomeRemetente', '$EndRemetente', '$NomeDestinatario', '$EndDestinatario', '$Mensagem', $TipoFlor, $DataPedido, $DataEntrega) ";
//execurar no banco de dados
mysql_query($sql) or die ( mysql_errno() ) ;
echo "DADOS INSERIDOS COM SUCESSO.";
}else{
//ERRO
echo "ERRO. Smsg";
}
?>
Mas continua aparecendo a tela em branco.
sera que eu posso te manda um arquivo com o banco de dados para vc testa ai ?

aki o banco de dados

 

http://www.4shared.com/document/cPd162qNba/BDFloricultura.html

Compartilhar este post


Link para o post
Compartilhar em outros sites

amigo eu criei um banco com o mesmo nome, e mesmas tabelas so deu um erro e foi na query

 

 

  $sql = "INSERT INTO pedidos (nomeRemetente, enderRemetente, nomeDestinatario, enderDestinatario, mensagem, idFlor, dtPedido, dtEntrega)"
             . "VALUES ('$NomeRemetente', '$EndRemetente', '$NomeDestinatario', '$EndDestinatario', '$Mensagem', $TipoFlor, '$DataPedido', '$DataEntrega') ";

 

coloque entre aspas a DataPedido e DataEntrega, pq so inteiro que pode ir sem data tem que ter aspas

se isso n resolver é o banco, pq o código ta 100%

Compartilhar este post


Link para o post
Compartilhar em outros sites

se o campo da tabela for varchar vc pode usar

 

$DataPedido = date("d/M/Y H:i:s");

 

se for datetime tem q ser assim

 

 

$DataPedido = date("Y-m-d H:i:s");

 

se deu certo, coloque como resolvido :)

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.