Jump to content
allencar.limma

Não consigo gravar no Banco de Dados

Recommended Posts

Tento incluir as informações de um formulário no banco de dados e não consigo. conforme código abaixo.

<?

/*Incluir as informações no formulario */

include "config.php";

$nome = trim($_POST['nome']);
$masp = trim($_POST['masp']);
$cpf = trim($_POST['cpf']);
$telefone = trim($_POST['telefone']);
$email = trim($_POST['email']);
$endereco = trim($_POST['endereco']);
$data_nascimento = trim($_POST['data_nascimento']);
$unidade_lotacao = trim($_POST['unidade_lotacao']);

/* Vamos checar algum erro nos campos */

if ((!$nome) || (!$masp) || (!$cpf) || (!$telefone) || (!$email) || (!$endereco) || (!$data_nascimento) || (!$unidade_lotacao)){

echo "ERRO: <br /><br />";
    

if (!$nome){

echo "Nome Completo é requerido.<br />";

}

if (!$masp){

echo "Masp é requerido.<br />";
    
}
    
if (!$cpf){
    
echo "CPF é requerido.<br /)>";

}
    
if (!$telefone){
    
echo "Telefone é requerido.<br />";

}
if (!$email){
    
echo "Email é requerido.<br />";
}
    
if (!$endereco){
    
echo "Endereço é requerido.<br />";
        
}

if (!$data_nascimento){

echo "Data de Nascimento é requerido.<br />";

}
    
if (!$unidade_lotacao){
    
echo "Unidade de Lotação é requerido.<br>";
    
}    

echo "Preencha os campos abaixo: <br />";

include "formulario_cadastro.php";

}else
    
{
    

/* Vamos checar se o nome de Usuário escolhido e/ou Email já existem no banco de dados */

$sql_email_check = mysql_query(

"SELECT COUNT(usuario_id) FROM usuarios WHERE email='{$email}'"

);

$sql_masp_check = mysql_query(

"SELECT COUNT(usuario_id) FROM usuarios WHERE masp='{$masp}'"

);
    
$sql_cpf_check = mysql_query(

"SELECT COUNT(usuario_id) FROM usuarios WHERE cpf='{$cpf}'"

);    
    
    

$eReg = mysql_fetch_array($sql_email_check);
$uReg = mysql_fetch_array($sql_masp_check);
$uReg = mysql_fetch_array($sql_cpf_check);

$email_check = $eReg[0];
$masp_check = $uReg[0];
$cpf_check = $uReg[0];    

if (($email_check > 0) || ($masp_check > 0) || ($cpf_check > 0)){

echo "<strong>ERRO</strong>: <br /><br />";

if ($email_check > 0){

echo "Este email já está sendo utilizado.<br /><br />";

unset($email);

}

if ($masp_check > 0){

echo "Este Masp já está sendo
utilizado.<br /><br />";

unset($masp);

}
if ($cpf_check > 0){

echo "Este CPF já está sendo
utilizado.<br /><br />";

unset($cpf);    
    
}

include "formulario_cadastro.php";

}else{

/* Se passarmos por esta verificação ilesos é hora de
finalmente cadastrar os dados. Vamos utilizar uma função para gerar a senha de
forma randômica*/

function makeRandomPassword(){

$salt = "abchefghjkmnpqrstuvwxyz0123456789";
srand((double)microtime()*1000000);
$i = 0;

while ($i <= 7){

$num = rand() % 33;
$tmp = substr($salt, $num, 1);
$pass = $pass . $tmp;
$i++;

}

return $pass;

}

$senha_randomica = makeRandomPassword();
$senha = md5($senha_randomica);

// Inserindo os dados no banco de dados

//$cpf = htmlspecialchars($cpf); ***RETIRADO PELO FATO DE NÃO ESTA SENDO USADO

$sql = mysql_query(

"INSERT INTO usuarios

(none, masp, cpf, telefone, email, endereco, data_nascimento, unidade_lotacao)

VALUES
('$nome', '$masp', '$cpf', '$telefone', '$email', '$endereco', '$data_nascimento', '$unidade_lotacao', now())")

    or die( mysql_error()
           );
    
    if (!$sql){
    
    echo "Ocorreu um erro ao criar sua conta, entre em contato.";
        
}else{
        
    $usuario_id = mysql_insert_id();
        
    

// Enviar um email ao usuário para confirmação e ativar o cadastro!

$headers = "MIME-Version: 1.0\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\n";
$headers .= "From: RCI - <rci@rcionline.com.br>";

$subject = "Confirmação de cadastro - www.rcionline.com.br";
$mensagem = "Prezado {$nome} {$masp},<br />
Obrigado pelo seu cadastro em nosso site, <a href='http://www.rcionline.com.br'>
http://www.rcionline.com.br</a>!<br /> <br />

Para confirmar seu cadastro e ativar sua conta em nosso site, podendo acessar à
áreas exclusivas, por favor clique no link abaixo ou copie e cole na barra de
endereço do seu navegador.<br /> <br />

<a href='http://www.rcionline.com.br/ativar.php?id={$usuario_id}&code={$senha}'>

http://www.rcionline.com.br/ativar.php?id={$usuario_id}&code={$senha}

</a>

<br /> <br />
Após a ativação de sua conta, você poderá ter acesso ao conteúdo exclusivo
efetuado o login com os seguintes dados abaixo:<br > <br />

<strong>Usuario</strong>: {$usuario_id}<br />
<strong>Senha</strong>: {$senha_randomica}<br /> <br />

Obrigado!<br /> <br />

Webmaster<br /> <br /> <br />
Esta é uma mensagem automática, por favor não responda!";

mail($email, $subject, $mensagem, $headers);

echo "Foi enviado para seu email - ( ".$email." ) um pedido de
confirmação de cadastro, por favor verifique e sigas as instruções!";

}

}

    
}

?>

 

Share this post


Link to post
Share on other sites

Creio que o SQL do INSERT deveria ser assim:

 

ANTERIOR

		$sql = mysql_query (
			"INSERT INTO usuarios (
				none, 
				masp, 
				cpf, 
				telefone, 
				email, 
				endereco, 
				data_nascimento, 
				unidade_lotacao
			) VALUES (
				'$nome', 
				'$masp', 
				'$cpf', 
				'$telefone', 
				'$email', 
				'$endereco', 
				'$data_nascimento', 
				'$unidade_lotacao', 
				now()
			)"
		) or die ( mysql_error () );

 

"NOVO"


		$sql = mysql_query (
			"INSERT INTO usuarios (
				nome, 
				masp, 
				cpf, 
				telefone, 
				email, 
				endereco, 
				data_nascimento, 
				unidade_lotacao
			) VALUES (
				'$nome', 
				'$masp', 
				'$cpf', 
				'$telefone', 
				'$email', 
				'$endereco', 
				'$data_nascimento', 
				'$unidade_lotacao'
			)"
		) or die ( mysql_error () );

 

Share this post


Link to post
Share on other sites
20 horas atrás, ShadowDLL disse:

Creio que o SQL do INSERT deveria ser assim:

ANTERIOR


		$sql = mysql_query (
			"INSERT INTO usuarios (
				none, 
				masp, 
				cpf, 
				telefone, 
				email, 
				endereco, 
				data_nascimento, 
				unidade_lotacao
			) VALUES (
				'$nome', 
				'$masp', 
				'$cpf', 
				'$telefone', 
				'$email', 
				'$endereco', 
				'$data_nascimento', 
				'$unidade_lotacao', 
				now()
			)"
		) or die ( mysql_error () );

 

 

"NOVO"



		$sql = mysql_query (
			"INSERT INTO usuarios (
				nome, 
				masp, 
				cpf, 
				telefone, 
				email, 
				endereco, 
				data_nascimento, 
				unidade_lotacao
			) VALUES (
				'$nome', 
				'$masp', 
				'$cpf', 
				'$telefone', 
				'$email', 
				'$endereco', 
				'$data_nascimento', 
				'$unidade_lotacao'
			)"
		) or die ( mysql_error () );

 

Bom dia! feito a correção como foi informando, porém  começou a gerar uma erro na linha 80:

/* Vamos checar se o nome de Usuário escolhido e/ou Email já existem no banco de dados */

$sql_email_check = mysql_query(

"SELECT COUNT(usuario_id) FROM usuarios WHERE email='{$email}'"

onde linha 80 é: $sql_email_check = mysql_query  (

 

erro apresentado :

PHP Fatal error:  Uncaught Error: Call to undefined function mysql_query() in /home3/rcionl85/public_html/cadastrar.php:80
Stack trace:
#0 {main}
  thrown in /home3/rcionl85/public_html/cadastrar.php on line 80

Desculpe-me pelas dúvidas, sou iniciantes na programação, mas preciso muito da ajuda de vocês. grato pela compreensão!

 

 

Share this post


Link to post
Share on other sites
Citar

Desculpe-me pelas dúvidas, sou iniciantes na programação, mas preciso muito da ajuda de vocês. grato pela compreensão!

 

Tranquilo, geral começou um dia.


Provavelmente seu servidor não suporte mais o driver 
mysql_* (Repare na ausência do i -> mysqli_)

Exemplo completo de como usar o mysqli_* para listar todos os dados de uma coluna:

<?php
$dbhost = 'localhost';
$dbuser = 'root';
$dbpass = 'SUA_SENHA';
$dbname = 'cadeirajs';

$conn = mysqli_connect($dbhost, $dbuser, $dbpass,$dbname);


if(! $conn ) {
	die('Could not connect: ' . mysqli_error());
}

$sql = 'SELECT id FROM cadeiras';
$resultQuery = mysqli_query($conn, $sql);

$cadeiras = mysqli_fetch_all($resultQuery, MYSQLI_ASSOC);

foreach($cadeiras as $cadeira) {
	echo "Id: {$cadeira['id']}\n";
}




---- Obs:

Tenta sempre 'separar' o Sql para facilitar no Debbug futuro.

Ex:
Antes:

$sql = mysql_query ("INSERT INTO usuario.....


Depois:
 

$sqlStatment = "INSERT INTO usuario....."
$sql = mysql_query ($sqlStatment);

 

Assim você pode simplesmente 'exibir e parar' para debugar/depurar de forma mais assertiva;
Ex: de como 'parar' e exibir apenas a instrução SQL:

$sqlStatment = "INSERT INTO usuario....."
die($sqlStatment); // Vai exibir apenas o SQL
$sql = mysql_query ($sqlStatment);

Assim você tem acesso ao SQL, e executa ele manualmente no seu Banco de dados.
Enxergando algum errinho de sql/estrutura mais facilmente.

(Nada impede de rodar o SQL-Statement dentro do seu client de Mysql (MySqlAdmin.php / WorkBench, etc) e ver a resposta.

Att.


 

Share this post


Link to post
Share on other sites
Em 28/03/2019 at 13:14, gabrieldarezzo disse:

Tranquilo, geral começou um dia.


Provavelmente seu servidor não suporte mais o driver 
mysql_* (Repare na ausência do i -> mysqli_)

Exemplo completo de como usar o mysqli_* para listar todos os dados de uma coluna:


<?php
$dbhost = 'localhost';
$dbuser = 'root';
$dbpass = 'SUA_SENHA';
$dbname = 'cadeirajs';

$conn = mysqli_connect($dbhost, $dbuser, $dbpass,$dbname);


if(! $conn ) {
	die('Could not connect: ' . mysqli_error());
}

$sql = 'SELECT id FROM cadeiras';
$resultQuery = mysqli_query($conn, $sql);

$cadeiras = mysqli_fetch_all($resultQuery, MYSQLI_ASSOC);

foreach($cadeiras as $cadeira) {
	echo "Id: {$cadeira['id']}\n";
}




---- Obs:

Tenta sempre 'separar' o Sql para facilitar no Debbug futuro.

Ex:
Antes:


$sql = mysql_query ("INSERT INTO usuario.....


Depois:
 


$sqlStatment = "INSERT INTO usuario....."
$sql = mysql_query ($sqlStatment);

 

Assim você pode simplesmente 'exibir e parar' para debugar/depurar de forma mais assertiva;
Ex: de como 'parar' e exibir apenas a instrução SQL:


$sqlStatment = "INSERT INTO usuario....."
die($sqlStatment); // Vai exibir apenas o SQL
$sql = mysql_query ($sqlStatment);

Assim você tem acesso ao SQL, e executa ele manualmente no seu Banco de dados.
Enxergando algum errinho de sql/estrutura mais facilmente.

(Nada impede de rodar o SQL-Statement dentro do seu client de Mysql (MySqlAdmin.php / WorkBench, etc) e ver a resposta.

Att.


 

Muito obrigado ! com sua a ajuda aqui de vocês consegui! mas outras dúvidas e problemas surgem no decorrer...

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By wwwendel
      Saudação Ho! Oráculo!
      Clico em um ícone que faz a busca no banco por id, isso em laravel, só que na Route:: quando busca a página dá (not found).
      Eu já modifiquei o primaryKey de protected para public... bem vou disponibilizar os arquivos.
    • By Thalles Rangel
      Galera, fiz um crud o professor até explica como funciona cada, mas ele não ensina a criar um botão que chama uma função que apaga, como seria feito? algum exemplo?
      link do projeto: https://www.guj.com.br/t/botao-para-alterar-em-php/385691
      tudo funciona, a inserção, a pesquisa, agora falta o botão de editar e o botão de excluir (não sei colocar isso) alguém em dá um help?
    • By Thalles Rangel
      Galera, fiz um crud o professor até explica como funciona cada, mas ele não ensina a criar um botão que chama uma função que apaga, como seria feito? algum exemplo?
      link do projeto: https://www.guj.com.br/t/botao-para-alterar-em-php/385691
      tudo funciona, a inserção, a pesquisa, agora falta o botão de editar e o botão de excluir (não sei colocar isso) alguém em dá um help?
    • By Thalles Rangel
      Galera, fiz um crud o professor até explica como funciona cada, mas ele não ensina a criar um botão que chama uma função que apaga, como seria feito? algum exemplo?
      link do projeto: https://www.guj.com.br/t/botao-para-alterar-em-php/385691
      tudo funciona, a inserção, a pesquisa, agora falta o botão de editar e o botão de excluir (não sei colocar isso) alguém em dá um help?
    • By Thalles Rangel
      Galera, fiz um curd o professor até explica como funciona cada, mas ele não ensina a criar um botão que chama uma função que apaga, como seria feito? algum exemplo?
      link do projeto: https://www.guj.com.br/t/botao-para-alterar-em-php/385691
      tudo funciona, a inserção, a pesquisa, agora falta o botão de editar e o botão de excluir (não sei colocar isso) alguém em dá um help?
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.