Jump to content
Fórum Script Brasil
  • 0

Cadastro, página em branco, caracter japones e erro de tabela


Phil Santos

Question

Olá colegas,

 

Eu estou usando um script pronto e eu coloquei no meio um outro script, pois não sou bom em programação, estou aprendendo e não está funcionando, mas pelo meu pouco conhecimento eu não estou identificando onde está o erro. No meu host já fiz o teste sem adicionar o segundo script o primeiro funciona.

 

Peço uma ajuda por favor!

 

Segue o código:

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Untitled Document</title>
</head>
 
<body>
<?php 
//PREENCHA OS DADOS DE CONEXÃO A SEGUIR:
 
$host= 'meuservidor';
$bd= 'meubanco';
$senhabd= 'minhasenha';
 
$userbd = $bd; 
 
 
// RECEBENDO OS DADOS PREENCHIDOS DO FORMULÁRIO !
$nome	= $_POST ["nome"];	//atribuição do campo "nome" vindo do formulário para variavel	
$email	= $_POST ["email"];	//atribuição do campo "email" vindo do formulário para variavel
$ddd	= $_POST ["ddd"];	//atribuição do campo "ddd" vindo do formulário para variavel
$tel	= $_POST ["telefone"];	//atribuição do campo "telefone" vindo do formulário para variavel
$endereco	= $_POST ["endereco"];	//atribuição do campo "endereco" vindo do formulário para variavel
$cidade	= $_POST ["cidade"];	//atribuição do campo "cidade" vindo do formulário para variavel
$estado	= $_POST ["estado"];	//atribuição do campo "estado" vindo do formulário para variavel
$bairro = $_POST ["bairro"];	//atribuição do campo "bairro" vindo do formulário para variavel
$pais	= $_POST ["pais"];	//atribuição do campo "pais" vindo do formulário para variavel
$login	= $_POST ["login"];	//atribuição do campo "login" vindo do formulário para variavel
$senha	= $_POST ["senha"];	//atribuição do campo "senha" vindo do formulário para variavel
$news	= $_POST ["news"];	//atribuição do campo "news" vindo do formulário para variavel
$sexo	= $_POST ["sexo"];	//atribuição do campo "sexo" vindo do formulário para variavel
//Gravando no banco de dados !
 
//conectando com o localhost - mysql
$conexao = mysql_connect($host,$bd, $senhabd);
if (!$conexao)
	die ("Erro de conexão com o host, o seguinte erro ocorreu -> ".mysql_error());
//conectando com a tabela do banco de dados
$banco = mysql_select_db($bd,$conexao);
if (!$banco)
	die ("Erro de conexão com banco de dados, o seguinte erro ocorreu -> ".mysql_error());

$selsql = "SELECT * FROM clientes where (email = '$email')";
$teste = mysql_query($selsql,$conexao);

if (mysql_num_rows($teste) > 0) {
  echo "Erro";
  
} else {

$query = "INSERT INTO `clientes` ( `nome` , `email` , `sexo` , `ddd` , `telefone` , `endereço` , `cidade` , `estado` , `bairro` , `país` , `login` , `senha` , `news` , `id` ) 
VALUES ('$nome', '$email', '$sexo', '$ddd', '$tel', '$endereco', '$cidade', '$estado', '$bairro', '$pais', '$login', '$senha', '$news', '')";
mysql_query($query,$conexao);

echo "OK";
}
</body>
</html>

Nos echos tentei colocar um javascript com duas funções em páginas separadas loginsucssessfully e loginfailed com setimeout, daí pensei que era isso que estava dando erro e tirei e deixei os echos "Erro" e "OK", mesmo assin não funcionou.

 

A função sleep() nem tentei, não sei usá-la ainda direito.

 

As vezes dá página em branco e às vezes dá caracteres japoneses no lugar dos echos, mas em ambos os casos não registra na tabela do banco.

 

Atenciosamente colegas,

 

Phil

Link to post
Share on other sites

1 answer to this question

Recommended Posts

  • 0

Olá, algumas considerações:

$selsql = "SELECT * FROM clientes where (email = '$email')";

Substitua a linha acima por

$selsql = "SELECT * FROM clientes where email = '".$email."'";

Habilite as mensagens de erro para saber o que está ocorrendo.

Siga as orientações desse link

http://rberaldo.com.br/as-mensagens-de-erros-mais-comuns-do-php/

Observe o código abaixo:

$conexao = mysql_connect($host,$bd, $senhabd);

mysql_connect() é uma função que está obsoleta, portanto pode ocorrer erro dependendo da versão do php que está instalada no servidor.

É recomendado que use funções atuais, tipo o PDO();

Mas caso opte por usar essa mesma função substitua o código acima por:

$conexao = mysql_connect($host,$bd, $senhabd) or die("Erro na conexao: ".mysql_error());

substitua isso:

$banco = mysql_select_db($bd,$conexao);

por isso:

$banco = mysql_select_db($bd,$conexao) or die("Erro ao selecionar banco de dados: ".mysql_error());

substitua isso:

$teste = mysql_query($selsql,$conexao);

por isso:

$teste = mysql_query($selsql,$conexao) or die("Erro ao tentar selecionar: ".mysql_error());

substitua isso:

$query = "INSERT INTO `clientes` ( `nome` , `email` , `sexo` , `ddd` , `telefone` , `endereço` , `cidade` , `estado` , `bairro` , `país` , `login` , `senha` , `news` , `id` ) 
VALUES ('$nome', '$email', '$sexo', '$ddd', '$tel', '$endereco', '$cidade', '$estado', '$bairro', '$pais', '$login', '$senha', '$news', '')";
mysql_query($query,$conexao);

echo "OK";

por isso:


$query = "INSERT INTO clientes(nome, email, sexo, ddd, telefone, endereço, cidade, estado, bairro, pais, login, senha, news) 
VALUES ('".$nome."', '".$email."', '".$sexo."', '".$ddd."', '".$tel."', '".$endereco."', '".$cidade."', '".$estado."', '".$bairro."', '".$pais."', '".$login."', '".$senha."', '".$news."')";
$inserir=mysql_query($query,$conexao) or die("Erro ao tentar inserir registro: ".mysql_error());

if($inserir){
	echo "OK";
}else{
  echo "não foi possível inserir o registro.";
}

 

até mais, e boa sorte;

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.

Cloud Computing


  • Forum Statistics

    • Total Topics
      148944
    • Total Posts
      644982
×
×
  • Create New...