GA
dúvida

Problema com PHP

Por gabisaoo, 21 de fev. de 2013 em Websites

paginas linkada
resolvido
script
7
1k
gabisaooG
21 de fevereiro de 2013 às 23:10

Ola galera estou com problemas com um site que estou fazendo na pasta que deveria estar cadastrando os usuarios não esta preenchendo lacunas no mysql, uso o wamp, qualquer informação a mais que vocês queiram so postar pedindo.

 

 

 

 

<?php

$conecta = mysql_connect('localhost','root','');

mysql_select_db('usuarios');

 

$nome = $_POST['nome'];

$idade = "{$_POST["ano"]}-{$_POST["mes"]}-{$_POST["dia"]}";

$pais = $_POST['pais'];

$usuario = $_POST['usuario'];

$senha = $_POST['senha'];

$email = $_POST['email'];

$nivel = "1";

 

$nome1 = trim($_POST["nome"]);

$dia1 = trim($_POST["dia"]);

$mes1 = trim($_POST["mes"]);

$ano1 = trim($_POST["ano"]);

$usuario1 = trim($_POST["usuario"]);

$senha1 = trim($_POST["senha"]);

$email1 = trim($_POST["email"]);

 

if(empty($nome1)){

echo "<script>alert('The name field is empty.')</script>";

echo "<script> window.location = 'index.html?acao=listar'</script>";

}else{

if($dia1 == "-1"){

echo "<script>alert('Select a Day.')</script>";

echo "<script> window.location = 'index.html?acao=listar'</script>";

}else{

if($mes1 == "-1"){

echo "<script>alert('Select a Month.')</script>";

echo "<script> window.location = 'index.html?acao=listar'</script>";

}else{

if($ano1 == "-1"){

echo "<script>alert('Select a Year.')</script>";

echo "<script> window.location = 'index.html?acao=listar'</script>";

}else{

if(empty($usuario1)){

echo "<script>alert('The account field is empty.')</script>";

echo "<script> window.location = 'index.html?acao=listar'</script>";

}else{

if(empty($senha1)){

echo "<script>alert('The password field is empty.')</script>";

echo "<script> window.location = 'index.html?acao=listar'</script>";

}else{

if(empty($email1)){

echo "<script>alert('The email field is empty.')</script>";

echo "<script> window.location = 'index.html?acao=listar'</script>";

}else{

 

$query = mysql_query("INSERT INTO 'contas' ('usu_nome', 'usu_idade', 'usu_pais', 'usu_usuario', 'usu_senha', 'usu_email', 'usu_nivel') VALUES ('$nome','$idade','$pais','$usuario','$senha','$email',$nivel)");

 

if($query){

echo "<script>alert('Sign Successful. Log In.')</script>";

echo "<script> window.location = 'index.html?acao=listar'</script>";

} else {

echo "<script>alert('May have occurred the following issues:

email already used or

already existing account.')</script>";

echo "<script> window.location = 'index.html?acao=listar'</script>";

 

}}}}}}}}

 

?>

 

 

 

Espero que possam me ajudar.

Editado Fevereiro 21 por gabisaoo

EskyloE
22 de fevereiro de 2013 às 00:12

eai kra blz

 

bom n li o code td, só a query

 

vc poe ' ' só para os valores q vai inserir, obrigatoriamente:

 

"INSERT INTO contas (usu_nome, usu_idade, usu_pais, usu_usuario, usu_senha, usu_email, usu_nivel) VALUES ('$nome','$idade','$pais','$usuario','$senha','$email','$nivel')"

 

no resto voce pode por ` ` (crase) ex.: `usu_nome`

nao é obrigatorio usar a crase na maioria das vezes, ela é obrigatoria só quando voce ta usando uma palavra reserveda do mysql como nome de algo no seu banco, mas nesse caso aí vc n ta usando n

creio entao q agr funcione

aniporasA
22 de fevereiro de 2013 às 12:55

Lembrando que mesmo que funcione sem crases, é sempre bom padronizar.

INSERT INTO `contas` (`usu_nome`, `usu_idade`, `usu_pais`, `usu_usuario`, `usu_senha`, `usu_email`, `usu_nivel`)
VALUES ('$nome','$idade','$pais','$usuario','$senha','$email',$nivel)

 

Segunda coisa, quando estiver trabalhando com o mysql direto(sem usar nenhum framework ou pdo), você SEMPRE escapa os valores que vão ser inseridos no banco de dados, do contrário qualquer macaco consegue estragar seu bd.

Pra escapar a gente usa a função mysql_real_escape_string(), como é uma função e não uma váriavel, não da pra fazer sintaxe complexa(inserir a váriavel direto na string), você tem que concatenar.

Então fica:

 

$query = mysql_query("
INSERT INTO `contas`
   (`usu_nome`, `usu_idade`, `usu_pais`, `usu_usuario`, `usu_senha`, `usu_email`, `usu_nivel`)
VALUES
   ('".mysql_real_escape_string($nome)."',
   '".mysql_real_escape_string($idade)."',
   '".mysql_real_escape_string($pais)."',
   '".mysql_real_escape_string($usuario)."',
   '".mysql_real_escape_string($senha)."',
   '".mysql_real_escape_string($email)."',
   ".mysql_real_escape_string($nivel).")
");

Editado Fevereiro 22 por aniporas

EskyloE
22 de fevereiro de 2013 às 22:46

s mas da pa fazer sem concatenar se vc usar o escape_string na hora q tava definindo as variaveis

gabisaooG
27 de fevereiro de 2013 às 16:02

Obrigado pela ajuda, problema resolvido.

1 mês depois...
Piabeta KunP
10 de março de 2013 às 17:37

Obrigado pela ajuda, problema resolvido.

 

sempre que tiver uma duvida ou pedido atendio reporte para que seu topico seja movido para area de duvidas atendidas facilitando a busca de muitos e sempre que tiver uma duvida de uma olhada na mesmao seção!

 

Obrigado!

11 de março de 2013 às 13:37

Tópico movido para a seção de dúvidas e pedidos resolvidos.