Ir para conteúdo

POWERED BY:

Arquivado

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

Carlos Louvato

Gerar nova Senha :Warning: mysqli_query() expects parameter 1 to be

Recommended Posts

Olá, estou ativando um antigo código PHP.  Já tentei resolver com a troca de mysql_query()  para mysqli_query().

Onde iniciou erro que não consigo arrumar. Sei que no caso de mysqli_query() devo colocar o parametro no início: $conecta( no meu caso).

Se alguem puder me dar um paremetro para estudar , eu agradeço.

A finalidade é gerar uma nova senha. Manda automaticamente uma senha randômica e já troca automaticamente no banco de dados.

 

ERRO: 

Warning: mysqli_query() expects parameter 1 to be mysqli, null given in /home/copam957/public_html/copa1/gerar_nova_senha.php on line 35

Warning: mysqli_num_rows() expects parameter 1 to be mysqli_result, null given in /home/copam957/public_html/copa1/gerar_nova_senha.php on line 36
Este email não é cadastrado em nosso banco de dados.

Segui código:

 

<?php

include "conecta.php";
mysqli_set_charset($conecta, "utf8");

$recupera = $_POST['recupera'];
$email = $_POST['email'];

switch($recupera){

	case "recupera":
		recupera_senha($email);
		break;

	default:
		include "formulario_senha_perdida.html";
		break;
}

function recupera_senha($email){

	if(!isset($email)){

        echo "Você esqueceu de preencher seu email.<br />
			<strong>Use o mesmo email que utilizou em seu cadastro.</strong><br /><br />"; 

		include "formulario_senha_perdida.html";

		exit();

	}

	// Checando se o email informado está cadastrado
		
	$sql_check = mysqli_query($conecta, "SELECT * FROM usuario WHERE email='{$email}'");
	$sql_check_num = mysqli_num_rows($sql_check);

	if($sql_check_num == 0){

		echo "Este email não é cadastrado em nosso banco de dados.<br /><br />";

		include "formulario_senha_perdida.html";

		exit();

	}
	
	// Se tudo OK vamos gerar uma nova senha e enviar para o email do usu⳩o!

	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);

	$sql = mysqli_query($conecta, "UPDATE usuario SET senha='{$senha}' WHERE email ='{$email}'");

	$headers = "MIME-Version: 1.0\n";
	$headers .= "Content-type: text/html; charset=iso-8859-1\n";
	$headers .= "From: MKYS - 1Copa MKYS de Jiu Jitsu.<contato@copamkys.com.br>"; //COLOQUE TEU EMAIL

	$subject = "Sua nova senha no site COPA MKYS";
	$message = "Olá, redefinimos sua senha.<br /><br />

	<strong>Nova Senha</strong>: {$senha_randomica}<br /><br />

	<a href='http://www.copamkys.com.br/copa1/index.php'>http://www.copamkys.com.br/copa1/index.php</a><br /><br />

	Obrigado!<br /><br />

	Carlos Louvato (Organização)<br /><br /><br />


	Esta é uma mensagem automática, por favor não responda!";

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

	echo "<script language=javascript>alert( 'EMAIL ENVIADO COM SUCESSO! VERIFIQUE SEU E-MAIL!!' );location.href='index.php';</script>";


}

?>

Lembrando que o email de recuperação vem de um formulario HTML.

Grato a todos

Compartilhar este post


Link para o post
Compartilhar em outros sites

verifique:

1. se esta instalada a extensao mysqli (pesquise sobre phpinfo());

2. o que ha na variavel $conecta

(poste o arquivo conecta.php ou pesquise sobre mysqli_connect)

Compartilhar este post


Link para o post
Compartilhar em outros sites
7 minutos atrás, Fernando C disse:

verifique:

1. se esta instalada a extensao mysqli (pesquise sobre phpinfo());

2. o que ha na variavel $conecta

(poste o arquivo conecta.php ou pesquise sobre mysqli_connect)

Olá,  segui codigo $conecta

 

<?php
# FileName="Connection_php_mysql.htm"
# Type="MYSQL"
# HTTP="true"
$hostname_conecta = "localhost";
$database_conecta = "copam957_****";
$username_conecta = "copam957_root";
$password_conecta = "*******";
$conecta = mysqli_connect($hostname_conecta, $username_conecta, $password_conecta) or trigger_error(mysql_error(),E_USER_ERROR); 
mysqli_set_charset($conecta, "utf8");
?>

Grato Carlos

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie um arquivo com qualquer nome em .php e coloque no arquivo: 

phpinfo();

 

Após, abra o arquivo no seu site, e procure pela extensão mysqli, se houver e tiver ativo, beleza, menos mau.

 

Seguindo seu código, deixe-o assim:

 

<?php

include "conecta.php";
mysqli_set_charset($conecta, "utf8");

$recupera = $_POST['recupera'];
$email = $_POST['email'];

switch($recupera){

	case "recupera":
		recupera_senha($email);
		break;

	default:
		include "formulario_senha_perdida.html";
		break;
}

function recupera_senha($email){
	if(!isset($email)){
        echo "Você esqueceu de preencher seu email.<br />
			<strong>Use o mesmo email que utilizou em seu cadastro.</strong><br /><br />"; 
		include "formulario_senha_perdida.html";
		exit();
	}

	// Checando se o email informado está cadastrado
		
	if($sql_check = $conecta->query("SELECT * FROM usuario WHERE email = '{$email}'")){
    	$sql_check_num = $sql_check->num_rows;
    }

	if($sql_check_num == 0){
		echo "Este email não é cadastrado em nosso banco de dados.<br /><br />";
		include "formulario_senha_perdida.html";
		exit();
	}
	
	// Se tudo OK vamos gerar uma nova senha e enviar para o email do usu⳩o!
	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);
	$sql = mysqli_query($conecta, "UPDATE usuario SET senha='{$senha}' WHERE email ='{$email}'");

	$headers = "MIME-Version: 1.0\n";
	$headers .= "Content-type: text/html; charset=iso-8859-1\n";
	$headers .= "From: MKYS - 1Copa MKYS de Jiu Jitsu.<contato@copamkys.com.br>"; //COLOQUE TEU EMAIL
	$subject = "Sua nova senha no site COPA MKYS";
	$message = "Olá, redefinimos sua senha.<br /><br />
	<strong>Nova Senha</strong>: {$senha_randomica}<br /><br />
	<a href='http://www.copamkys.com.br/copa1/index.php'>http://www.copamkys.com.br/copa1/index.php</a><br /><br />
	Obrigado!<br /><br />
	Carlos Louvato (Organização)<br /><br /><br />
	Esta é uma mensagem automática, por favor não responda!";
	mail($email, $subject, $message, $headers);
	echo "<script language=javascript>alert( 'EMAIL ENVIADO COM SUCESSO! VERIFIQUE SEU E-MAIL!!' );location.href='index.php';</script>";
}
?>

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

O erro ocorre pois no PHP variáveis globais não são acessíveis em outros escopos(http://php.net/manual/en/language.variables.scope.php) e você está tentando acessar a variável global $conecta no escopo da função recupera_senha.

 

Para que ela seja acessível você deve declarar a intenção de uso com a palavra chave global.

//...
function recupera_senha($email){
    global $conecta;
//...

 

Porem saliento que o uso de variáveis globais é desencorajado.

Compartilhar este post


Link para o post
Compartilhar em outros sites
Em 11/05/2018 at 17:49, Jhess disse:

Crie um arquivo com qualquer nome em .php e coloque no arquivo: 


phpinfo();

 

Após, abra o arquivo no seu site, e procure pela extensão mysqli, se houver e tiver ativo, beleza, menos mau.

 

Seguindo seu código, deixe-o assim:

 


<?php

include "conecta.php";
mysqli_set_charset($conecta, "utf8");

$recupera = $_POST['recupera'];
$email = $_POST['email'];

switch($recupera){

	case "recupera":
		recupera_senha($email);
		break;

	default:
		include "formulario_senha_perdida.html";
		break;
}

function recupera_senha($email){
	if(!isset($email)){
        echo "Você esqueceu de preencher seu email.<br />
			<strong>Use o mesmo email que utilizou em seu cadastro.</strong><br /><br />"; 
		include "formulario_senha_perdida.html";
		exit();
	}

	// Checando se o email informado está cadastrado
		
	if($sql_check = $conecta->query("SELECT * FROM usuario WHERE email = '{$email}'")){
    	$sql_check_num = $sql_check->num_rows;
    }

	if($sql_check_num == 0){
		echo "Este email não é cadastrado em nosso banco de dados.<br /><br />";
		include "formulario_senha_perdida.html";
		exit();
	}
	
	// Se tudo OK vamos gerar uma nova senha e enviar para o email do usu⳩o!
	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);
	$sql = mysqli_query($conecta, "UPDATE usuario SET senha='{$senha}' WHERE email ='{$email}'");

	$headers = "MIME-Version: 1.0\n";
	$headers .= "Content-type: text/html; charset=iso-8859-1\n";
	$headers .= "From: MKYS - 1Copa MKYS de Jiu Jitsu.<contato@copamkys.com.br>"; //COLOQUE TEU EMAIL
	$subject = "Sua nova senha no site COPA MKYS";
	$message = "Olá, redefinimos sua senha.<br /><br />
	<strong>Nova Senha</strong>: {$senha_randomica}<br /><br />
	<a href='http://www.copamkys.com.br/copa1/index.php'>http://www.copamkys.com.br/copa1/index.php</a><br /><br />
	Obrigado!<br /><br />
	Carlos Louvato (Organização)<br /><br /><br />
	Esta é uma mensagem automática, por favor não responda!";
	mail($email, $subject, $message, $headers);
	echo "<script language=javascript>alert( 'EMAIL ENVIADO COM SUCESSO! VERIFIQUE SEU E-MAIL!!' );location.href='index.php';</script>";
}
?>

 

 Olá Jhess, Esta ativo a Extensão! Tenho algumas páginas trabalhando com mysqlI.

Apresentou o erro:

Citar

Parse error: syntax error, unexpected 'switch' (T_SWITCH) in /home/copam957/public_html/copa1/gerar_nova_senha.php on line 9

 

Grato Carlos

Compartilhar este post


Link para o post
Compartilhar em outros sites
Em 11/05/2018 at 20:16, HwapX disse:

O erro ocorre pois no PHP variáveis globais não são acessíveis em outros escopos(http://php.net/manual/en/language.variables.scope.php) e você está tentando acessar a variável global $conecta no escopo da função recupera_senha.

 

Para que ela seja acessível você deve declarar a intenção de uso com a palavra chave global.


//...
function recupera_senha($email){
    global $conecta;
//...

 

Porem saliento que o uso de variáveis globais é desencorajado.

 Olá, estou incluindo no escopo a informação. Devo incluir apenas o codigo: global $conecta; ?

Grato pela ajuda

 

Compartilhar este post


Link para o post
Compartilhar em outros sites
Em 11/05/2018 at 17:49, Jhess disse:

Crie um arquivo com qualquer nome em .php e coloque no arquivo: 


phpinfo();

 

Após, abra o arquivo no seu site, e procure pela extensão mysqli, se houver e tiver ativo, beleza, menos mau.

 

Seguindo seu código, deixe-o assim:

 


<?php

include "conecta.php";
mysqli_set_charset($conecta, "utf8");

$recupera = $_POST['recupera'];
$email = $_POST['email'];

switch($recupera){

	case "recupera":
		recupera_senha($email);
		break;

	default:
		include "formulario_senha_perdida.html";
		break;
}

function recupera_senha($email){
	if(!isset($email)){
        echo "Você esqueceu de preencher seu email.<br />
			<strong>Use o mesmo email que utilizou em seu cadastro.</strong><br /><br />"; 
		include "formulario_senha_perdida.html";
		exit();
	}

	// Checando se o email informado está cadastrado
		
	if($sql_check = $conecta->query("SELECT * FROM usuario WHERE email = '{$email}'")){
    	$sql_check_num = $sql_check->num_rows;
    }

	if($sql_check_num == 0){
		echo "Este email não é cadastrado em nosso banco de dados.<br /><br />";
		include "formulario_senha_perdida.html";
		exit();
	}
	
	// Se tudo OK vamos gerar uma nova senha e enviar para o email do usu⳩o!
	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);
	$sql = mysqli_query($conecta, "UPDATE usuario SET senha='{$senha}' WHERE email ='{$email}'");

	$headers = "MIME-Version: 1.0\n";
	$headers .= "Content-type: text/html; charset=iso-8859-1\n";
	$headers .= "From: MKYS - 1Copa MKYS de Jiu Jitsu.<contato@copamkys.com.br>"; //COLOQUE TEU EMAIL
	$subject = "Sua nova senha no site COPA MKYS";
	$message = "Olá, redefinimos sua senha.<br /><br />
	<strong>Nova Senha</strong>: {$senha_randomica}<br /><br />
	<a href='http://www.copamkys.com.br/copa1/index.php'>http://www.copamkys.com.br/copa1/index.php</a><br /><br />
	Obrigado!<br /><br />
	Carlos Louvato (Organização)<br /><br /><br />
	Esta é uma mensagem automática, por favor não responda!";
	mail($email, $subject, $message, $headers);
	echo "<script language=javascript>alert( 'EMAIL ENVIADO COM SUCESSO! VERIFIQUE SEU E-MAIL!!' );location.href='index.php';</script>";
}
?>

 

image.thumb.png.701b7449c119b84a3c1524b9a479d269.png

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ok, vamos corrigir primeiro sua conexão com o banco:

 

<?php
//Comentarios sao dispensaveis
$hostname_conecta = "localhost";
$database_conecta = "copam957_****";
$username_conecta = "copam957_root";
$password_conecta = "*******";

//Na conexao que você havia feito, esqueceu de especificar a database no link de conexao
$conecta = new mysqli($hostname_conecta, $username_conecta, $password_conecta, $database_conecta);

if ($conecta->connect_error) {
    die("Erro de conexao: " . $conecta->connect_error);
} 

mysqli_set_charset($conecta, "utf8");
?>

 

Algum erro deve estar ocorrendo antes do seu switch, vamos tratar, então:

 

<?php

$recupera = addslashes($_POST['recupera']);
// echo $recupera; // Pra verificar o que está vindo
$email = addslashes($_POST['email']);

include "conecta.php"; // Verifique se o arquivo está correto e tem permissões no seu FTP / Host
//mysqli_set_charset($conecta, "utf8"); -- Como ja foi definido no arquivo conecta.php nao existe razao pra setar charset de novo

switch($recupera){
	case "recupera": //Verifique se é isso mesmo que está recebendo da sua variável $_POST['recupera']
		recupera_senha($email);
		break;

	default:
		include "formulario_senha_perdida.html";
		break;
}

 

Compartilhar este post


Link para o post
Compartilhar em outros sites
2 horas atrás, Jhess disse:

Ok, vamos corrigir primeiro sua conexão com o banco:

 


<?php
//Comentarios sao dispensaveis
$hostname_conecta = "localhost";
$database_conecta = "copam957_****";
$username_conecta = "copam957_root";
$password_conecta = "*******";

//Na conexao que você havia feito, esqueceu de especificar a database no link de conexao
$conecta = new mysqli($hostname_conecta, $username_conecta, $password_conecta, $database_conecta);

if ($conecta->connect_error) {
    die("Erro de conexao: " . $conecta->connect_error);
} 

mysqli_set_charset($conecta, "utf8");
?>

 

Algum erro deve estar ocorrendo antes do seu switch, vamos tratar, então:

 


<?php

$recupera = addslashes($_POST['recupera']);
// echo $recupera; // Pra verificar o que está vindo
$email = addslashes($_POST['email']);

include "conecta.php"; // Verifique se o arquivo está correto e tem permissões no seu FTP / Host
//mysqli_set_charset($conecta, "utf8"); -- Como ja foi definido no arquivo conecta.php nao existe razao pra setar charset de novo

switch($recupera){
	case "recupera": //Verifique se é isso mesmo que está recebendo da sua variável $_POST['recupera']
		recupera_senha($email);
		break;

	default:
		include "formulario_senha_perdida.html";
		break;
}

 

Olá, Jhess , antes de mais nada obrigado pela ajuda.

Fiz a mudança na conexão do Banco como solicitou. Tudo Certo!

 

Fiz  passa a passo o tratamento. O único erro

Citar

Parse error: syntax error, unexpected '}' in /home/copam957/public_html/copa1/gerar_nova_senha.php on line 18

 

Fui acompanhando a abre e fecha das chaves, mais não achei o motivo do erro.

 

Verifiquei tb o arquivo e suas permissões no seu FTP / Host. Está com todas as permissões.

 

Vou postar código html do Formulário de senha perdida. Pelo que observei esta mandando as informações corretas.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Formul&aacute;rio Nova Senha</title>
<style type="text/css">
@import url("css/estilos.css");
</style>
</head>
<div align="center"><iframe src="topointerno.html" width="800" height="400" align="middle" scrolling="no" frameborder="0"></iframe></div>
<body>
</form>
<form id="form2" name="form2" method="post" action="">
  <div align="center"></div>
</form>
<form name="form1" method="post" action="gerar_nova_senha.php">

  <div align="center">
    <p>Por favor digite o seu email que est&aacute; cadastrado em nosso banco de dados;<br />
      
      <input name="email" type="text" id="email" />
      <input name="recupera" type="hidden" id="recupera" value="recupera" />
    </p>
    <p>
      <input type="submit" name="Submit2" value="Gerar Senha" id="Submit2" />
    </p>
  </div>
</form>

</body>
</html>

Em algumas mudanças ele chegou a enviar o email de alteração. Mais não faz a mudança no banco pelo comando UPDATE.

Então pq deve ter erro como você falou antes do switch.

Grato pela ajuda. E vou tentando até conseguir acertar.

Grato Carlos Louvato

 

 

 

 

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites
Em 14/05/2018 at 17:26, Carlos Louvato disse:

Fiz  passa a passo o tratamento. O único erro

 

Tente tirar todos os comentários que eu coloquei.

Compartilhar este post


Link para o post
Compartilhar em outros sites
Em 16/05/2018 at 14:11, Jhess disse:

 

Tente tirar todos os comentários que eu coloquei.

Olá JHESS.

Refiz todos os passos e corrigi o erro de sintaxe.

Codigo ficou:

 

<?php

$recupera = addslashes($_POST['recupera']);
$email = addslashes($_POST['email']);

include "conecta.php";

switch($recupera){
	case "recupera":
		recupera_senha($email);
		break;

	default:
		include "formulario_senha_perdida.html";
		break;
}

function recupera_senha($email){
	if(!isset($email)){
        echo "Você esqueceu de preencher seu email.<br />
			<strong>Use o mesmo email que utilizou em seu cadastro.</strong><br /><br />"; 
		include "formulario_senha_perdida.html";
		exit();
	}

	// Checando se o email informado está cadastrado
		
	if($sql_check = $conecta->query("SELECT * FROM usuario WHERE email = '{$email}'")){
    	$sql_check_num = $sql_check->num_rows;
    }

	if($sql_check_num == 0){
		echo "Este email não é cadastrado em nosso banco de dados.<br /><br />";
		include "formulario_senha_perdida.html";
		exit();
	}
	
	// Se tudo OK vamos gerar uma nova senha e enviar para o email do usu?o!
	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);
	$sql = mysqli_query($conecta, "UPDATE usuario SET senha='{$senha}' WHERE email ='{$email}'");

	$headers = "MIME-Version: 1.0\n";
	$headers .= "Content-type: text/html; charset=iso-8859-1\n";
	$headers .= "From: MKYS - 1Copa MKYS de Jiu Jitsu.<contato@copamkys.com.br>"; //COLOQUE TEU EMAIL
	$subject = "Sua nova senha no site COPA MKYS";
	$message = "Olá, redefinimos sua senha.<br /><br />
	<strong>Nova Senha</strong>: {$senha_randomica}<br /><br />
	<a href='http://www.copamkys.com.br/copa1/index.php'>http://www.copamkys.com.br/copa1/index.php</a><br /><br />
	Obrigado!<br /><br />
	Carlos Louvato (Organização)<br /><br /><br />
	Esta é uma mensagem automática, por favor não responda!";
	mail($email, $subject, $message, $headers);
	echo "<script language=javascript>alert( 'EMAIL ENVIADO COM SUCESSO! VERIFIQUE SEU E-MAIL!!' );location.href='index.php';</script>";
}
?>

 Voltou apresentar o erro:

Citar

Fatal error: Call to a member function query() on null in /home/copam957/public_html/copa1/gerar_nova_senha.php on line 28

 

Na linha :

 

if($sql_check = $conecta->query("SELECT * FROM usuario WHERE email = '{$email}'")){

 

Estou experimentando outras formas de solicitar novas senhas. mais ainda gosto de receber pelo email.

Obrigado pela ajuda.

Carlos

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por violin101
      Caros amigos, saudações.
       
      Por favor, me permita tirar uma dúvida com os amigos.

      Tenho um Formulário onde o Usuário digita todos os Dados necessários.

      Minha dúvida:
      --> como faço após o usuário digitar os dados e salvar, o Sistema chamar uma Modal ou mensagem perguntando se deseja imprimir agora ?

      Grato,
       
      Cesar
    • Por Carcleo
      Tenho uma abela de usuarios e uma tabela de administradores e clientes.
      Gostaria de uma ajuda para implementar um cadastro
       
      users -> name, login, passord (pronta) admins -> user_id, registratiom, etc.. client -> user_id, registratiom, etc...
      Queria ajuda para extender de user as classes Admin e Client
      Olhem como estáAdmin
      <?php namespace App\Models; use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Model; class Admin extends User {     use HasFactory;            protected $fillable = [         'name',         'email',         'password',         'registration'     ];      private string $registration;     public function create(         string $name,          string $email,          string $password,         string $registration     )     {         //parent::create(['name'=>$name, 'email'=>$email, 'password'=>$password]);         parent::$name = $name;         parent::$email = $email;         parent::$password = $password;         $this->registration = $registration;     } } User
      <?php namespace App\Models; // use Illuminate\Contracts\Auth\MustVerifyEmail; use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Foundation\Auth\User as Authenticatable; use Illuminate\Notifications\Notifiable; use Illuminate\Database\Eloquent\Relations\BelongsToMany; class User extends Authenticatable {     /** @use HasFactory<\Database\Factories\UserFactory> */     use HasFactory, Notifiable;     static string $name;     static string $email;     static string $password;     /**      * The attributes that are mass assignable.      *      * @var list<string>      */     protected $fillable = [         'name',         'email',         'password',     ];          /**      * The attributes that should be hidden for serialization.      *      * @var list<string>      */     protected $hidden = [         'remember_token',     ];     /**      * Get the attributes that should be cast.      *      * @return array<string, string>      */     protected function casts(): array     {         return [             'email_verified_at' => 'datetime',             'password' => 'hashed',         ];     }          public function roles() : BelongsToMany {         return $this->belongsToMany(Role::class);     }       public function hasHole(Array $roleName): bool     {                 foreach ($this->roles as $role) {             if ($role->name === $roleName) {                 return true;             }         }         return false;     }         public function hasHoles(Array $rolesName): bool     {                 foreach ($this->roles as $role) {             foreach ($rolesName as $rolee) {             if ($role->name === $rolee) {                 return true;             }          }         }         return false;     }         public function hasAbility(string $ability): bool     {         foreach ($this->roles as $role) {             if ($role->abilities->contains('name', $ability)) {                 return true;             }         }         return false;     }     } Como gravar um Admin na tabela admins sendo que ele é um User por extensão?
      Tentei assim mas é claro que está errado...
      public function store(Request $request, Admin $adminModel) {         $dados = $request->validate([             "name" => "required",             "email" => "required|email",             "password" => "required",             "registration" => "required"         ]);         $dados["password"] =  Hash::make($dados["password"]);                  $admin = Admin::where("registration",  $dados["registration"])->first();                  if ($admin)              return                    redirect()->route("admin.new")                             ->withErrors([                                 'fail' => 'Administrador já cadastrados<br>, favor verificar!'                   ]);                            $newAdmin = $adminModel->create(                                    $dados['name'],                                    $dados['email'],                                    $dados['password'],                                    $dados['registration']                                 );         dd($newAdmin);         $adminModel->save();         //$adminModel::create($admin);                  return redirect()->route("admin.new")->with("success",'Cadastrado com sucesso');     }  
    • Por violin101
      Caros amigos, saudações.
       
      Gostaria de tirar uma dúvida com os amigos, referente a PDV.
       
      Estou escrevendo um Sistema com Ponto de Vendas, a minha dúvida é o seguinte, referente ao procedimento mais correto.

      Conforme o caixa vai efetuando a venda, o Sistema de PDV já realiza:
      a baixa direto dos produtos no estoque
      ou
      somente após concretizar a venda o sistema baixa os produtos do estoque ?
       
      Grato,
       
      Cesar
       
    • Por violin101
      Caros amigos do grupo, saudações e um feliz 2025.
       
      Estou com uma pequena dúvida referente a Teclas de Atalho.

      Quando o Caps Lock está ativado o Comando da Tecla de Atalho não funciona.
      ou seja:
      se estiver para letra minúscula ====> funciona
      se estiver para letra maiúscula ====> não funciona
       
      Como consigo evitar essa falha, tanto para Letra Maiúscula quanto Minúscula ?

      o Código está assim:
      document.addEventListener( 'keydown', evt => { if (!evt.ctrlKey || evt.key !== 'r' ) return;// Não é Ctrl+r, portanto interrompemos o script evt.preventDefault(); });  
      Grato,
       
      Cesar
    • Por violin101
      Caros amigos, saudações.
       
      Por favor, poderiam me ajudar.

      Estou com a seguinte dúvida:
      --> como faço para para implementar o input código do produto, para quando o usuário digitar o ID o sistema espera de 1s a 2s, sem ter que pressionar a tecla ENTER.

      exemplo:
      código   ----   descrição
           1       -----   produto_A
       
      Grato,
       
      Cesar
×

Informação importante

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