Ir para conteúdo

POWERED BY:

Arquivado

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

wandoh

Select dados do usuário

Recommended Posts

Boa Tarde! estou com um dificuldades de puxar os dados do usuário logado no site. Atualmente estou conseguindo puxar somente o NOME, quando tento puxar o restante da erro! Abaixo segue o Código.

 

session_start();
//inicializa variaveis
$id = "accountid";
$name = "";
$email = "";
$errors = array();

//conexão db
$db = mysqli_connect('localhost', 'root', 'senha', 'db') or die("could not connect to database");

//Registrar usuário
if (isset($_POST['reg_user'])) {
  // receives all input values from the form
    $name = mysqli_real_escape_string($db, $_POST['name']);
    $email = mysqli_real_escape_string($db, $_POST['email']);
    $password = mysqli_real_escape_string($db, $_POST['password']);
    $password2 = mysqli_real_escape_string($db, $_POST['password2']);

//form validação: ensure that the form is correctly filled ...
// by adding (array_push)) corresponding error unto $errors array
    if(empty($name)) { array_push($errors, "
        ");
  }
    if(empty($email)) { array_push($errors, "
        ");
  }
    if(empty($pwd)) { array_push($errors, "
        ");
  }
    if($pwd != $pw2) { array_push($errors, "
        ");
  }
    

// To protect MySQL injection (more detail about MySQL injection)
$name = stripslashes($name);
$password = stripslashes($password);
// first check the databese to make sure
// verifica na db se a usuário existente com o mesmo nome de usuário e email
$user_check_query = "SELECT * FROM t_account WHERE name='$name' or email='$email' LIMIT 1";
$result = mysqli_query($db, $user_check_query);
$user = mysqli_fetch_assoc($result);

if($user) { // if user existente
     if ($user['name'] === $name) {
      array_push($errors, "
        ");
     }
     if ($user['email'] === $email) {
      array_push($errors, "
        ");
     }
}
// Registra o usuário se não haver erros
if (count($errors) == 0 ) { 
     $pwd = md5($pwd);
     print $pwd;
     $query = "INSERT INTO t_account (name, email, pwd, pw2) VALUES ('$name', '$email', '$password', '$password2')";
     mysqli_query($db, $query);
     $_SESSION['accountid'] = $id;//
     $_SESSION['name'] = $name;
     $_SESSION['success'] = 'Você está logado em';
     echo "
        ";
     //header('location: index.php');
 }
}
//LOGIN USER
if (isset($_POST['login_user'])) {

  $name = mysqli_real_escape_string($db, $_POST['name']);
  $password = mysqli_real_escape_string($db, $_POST['password']);

  if (empty($name)) {

    array_push($errors, "
        ");
  }
  if (empty($password)) {

    array_push($errors, "
        ");
  }
  if (count($errors) == 0 ) {

    $pwd = md5($pwd);

    $query = "SELECT 'email' FROM t_account WHERE name='$name' AND password='$password'";
    $results = mysqli_query($db, $query);

  if (mysqli_num_rows($results)) {
    $_SESSION['accountid'] = $id;//
   $_SESSION['name'] = $name;
   $_SESSION['success'] = 'Você está logado em';
     echo "
        ";
     //header('location: index.php');
  }else{
      array_push($errors, "
        ");
   }

    }
    
}

Com a variável abaixo, é exibido o nome de quem esta logado.

$_SESSION["name"]

Já com os demais, não e exibido o resultado é apresentado uma msg de erro.

$_SESSION["email"]
Notice: Undefined index: email in 

Passei em todos os post que tem sobre o assunto, mas infelizmente em meu código não deu certo.

 Sou novo em PHP!

Preciso puxar todos os dados cadastrado do usuário.

Compartilhar este post


Link para o post
Compartilhar em outros sites
23 horas atrás, wandoh disse:

Boa Tarde! estou com um dificuldades de puxar os dados do usuário logado no site. Atualmente estou conseguindo puxar somente o NOME, quando tento puxar o restante da erro! Abaixo segue o Código.

 


session_start();
//inicializa variaveis
$id = "accountid";
$name = "";
$email = "";
$errors = array();

//conexão db
$db = mysqli_connect('localhost', 'root', 'senha', 'db') or die("could not connect to database");

//Registrar usuário
if (isset($_POST['reg_user'])) {
  // receives all input values from the form
    $name = mysqli_real_escape_string($db, $_POST['name']);
    $email = mysqli_real_escape_string($db, $_POST['email']);
    $password = mysqli_real_escape_string($db, $_POST['password']);
    $password2 = mysqli_real_escape_string($db, $_POST['password2']);

//form validação: ensure that the form is correctly filled ...
// by adding (array_push)) corresponding error unto $errors array
    if(empty($name)) { array_push($errors, "
        ");
  }
    if(empty($email)) { array_push($errors, "
        ");
  }
    if(empty($pwd)) { array_push($errors, "
        ");
  }
    if($pwd != $pw2) { array_push($errors, "
        ");
  }
    

// To protect MySQL injection (more detail about MySQL injection)
$name = stripslashes($name);
$password = stripslashes($password);
// first check the databese to make sure
// verifica na db se a usuário existente com o mesmo nome de usuário e email
$user_check_query = "SELECT * FROM t_account WHERE name='$name' or email='$email' LIMIT 1";
$result = mysqli_query($db, $user_check_query);
$user = mysqli_fetch_assoc($result);

if($user) { // if user existente
     if ($user['name'] === $name) {
      array_push($errors, "
        ");
     }
     if ($user['email'] === $email) {
      array_push($errors, "
        ");
     }
}
// Registra o usuário se não haver erros
if (count($errors) == 0 ) { 
     $pwd = md5($pwd);
     print $pwd;
     $query = "INSERT INTO t_account (name, email, pwd, pw2) VALUES ('$name', '$email', '$password', '$password2')";
     mysqli_query($db, $query);
     $_SESSION['accountid'] = $id;//
     $_SESSION['name'] = $name;
     $_SESSION['success'] = 'Você está logado em';
     echo "
        ";
     //header('location: index.php');
 }
}
//LOGIN USER
if (isset($_POST['login_user'])) {

  $name = mysqli_real_escape_string($db, $_POST['name']);
  $password = mysqli_real_escape_string($db, $_POST['password']);

  if (empty($name)) {

    array_push($errors, "
        ");
  }
  if (empty($password)) {

    array_push($errors, "
        ");
  }
  if (count($errors) == 0 ) {

    $pwd = md5($pwd);

    $query = "SELECT 'email' FROM t_account WHERE name='$name' AND password='$password'";
    $results = mysqli_query($db, $query);

  if (mysqli_num_rows($results)) {
    $_SESSION['accountid'] = $id;//
   $_SESSION['name'] = $name;
   $_SESSION['success'] = 'Você está logado em';
     echo "
        ";
     //header('location: index.php');
  }else{
      array_push($errors, "
        ");
   }

    }
    
}

Com a variável abaixo, é exibido o nome de quem esta logado.


$_SESSION["name"]

Já com os demais, não e exibido o resultado é apresentado uma msg de erro.


$_SESSION["email"]

Notice: Undefined index: email in 

Passei em todos os post que tem sobre o assunto, mas infelizmente em meu código não deu certo.

 Sou novo em PHP!

Preciso puxar todos os dados cadastrado do usuário.

Visualizando seu codígo pude perceber que você não declarou a variavel $_SESSION["email"], por isso o PHP está te informando Notice: undefined index: email in -> Notice: variavel não foi definida.

 

Se você quer trazer todos os dados do banco de dados de um utiliza a função mysqli_fetch_assoc, desse jeito:

<?php

while ($linha = mysqli_fetch_assoc($result)) {
  $_SESSION['email'] = $linha['email'];
}

?>

Exemplo de como fazer uma consulta no banco de dados

<?php
session_start();
/**
  *@param $login, $senha -> Variaveis que armazena o login e a senha do usuário.
  *@param $conexao -> Armazena a conexão do banco de dados.
  *@param $resultado -> Armazena o resultado da função mysql_query para poder utiliza-lo no mysqli_num_rows ou mysqli_fetch_assoc.
  *@param mysqli_connect -> Conecta no banco  de dados.
  *@param mysqli_query -> Executa codígo SQL para fazer a consulta.
  *@param mysqli_num_rows -> Retorna o número de linhas afetadas (Se foi possivel encontrar o usuario e a senha no banco retorna TRUE, caso não foi possivel encontrar função retorna FALSE.
  *@param mysqli_fetch_assoc -> Retorna um array com todos os dados que o mysqli_query retornou.
*/
$login =  $_POST['txtLogin'];
$senha = $_POST['txtSenha'];

$conexao = mysqli_connect("lcoalhost", "root", "", "DATABASE");
$resultado = mysqli_query($conexao, "SELECT * FROM TABELA_USUARIO WHERE login = '$login' AND senha = '$senha'");

if (mysqli_num_rows($resultado)) {
	//Usuário e Senha estão cadastrados no banco de dados
	while($linha = mysqli_fetch_assoc($resultado)){
      	//Armazena o nome do usuário em uma sessão para poder chama-lá em qualquer página PHP
        $_SESSION['id'] = $linha['id'];
		$_SESSION['nome'] = $linha['nome'];
       	$_SESSION['email'] = $linha['email'];
       	$_SESSION['logged'] = "Logado com successo";
      	//Exibe todos os dados obtidos no SELECT da função mysqli_fetch_assoc()
      	var_dump($linha);
     	//Caso queira redirecionar para pagína de login descomente o header abaixo
      	//header("Location: logado.php")
	}
}

?>

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

@wandoh

 

Fera é o seguinte, para que você possa DECLARAR uma variável em uma página e possa utilizar em outra página você precisa declarar as variáveis de SESSÃO, o que pelo visto você está fazendo certo.

 

SESSION_START();

$_SESSION['nome'] = "NOME";

 

Porem ao verificar o seu código não vi em nenhum momento você realizar o SELECT na base de dados para obter os dados do seu usuário e em seguida alimentar a "suposta" variável de sessão do e-mail em questão para que você possa utilizar em outra página.

 

Então explicando.

 

Você disse que o "NOME" você consegui exibir, certo? Isso porque você está alimentando a variável $_SESSION['nome'] aqui:

 

if (mysqli_num_rows($results)) {

$_SESSION['accountid'] = $id;//

$_SESSION['name'] = $name;

$_SESSION['success'] = 'Você está logado em';

echo " ";

 

Então em qualquer lugar que você queira exibir o nome deste usuário basta colocar

<?php
SESSTION_START();
echo $_SESSION['nome'];
?>

Você deve fazer o mesmo para o E-MAIL, você precisa fazer um SELECT na BASE DE DADOS e em seguida colocar o resultado obtido em uma variável de sessão.

 

Experimente fazer isso:

<?php
//Aqui você declara o select e os dados que quer obter, no exemplo temos o e-mail.
$query = "SELECT 'email' FROM t_account WHERE name='$name' AND password='$password'";

//Este comando executa o acesso ao banco de dados e obtem
//o campo em questão e joga dentro da variável
$results = mysqli_query($db, $query);

//Se o resultado trouxer um valor ele entra no IF.
if ($resultset = mysqli_fetch_assoc($db, $results)) {

//Vamos criar aqui a sua variável de SESSÃO do E-MAIL.
    $_SESSION['email'] = $resultset['email'];

//Vamos exibir este valor na tela.
    echo $_SESSION['email'];
}
?>

Bom, a lógica é essa, não testei o código, mas caso de algum erro na tela mostre aqui o código do erro para uma melhor analise.

 

Espero ter ajudado.

 

Att.

Felipe Coutinho

Compartilhar este post


Link para o post
Compartilhar em outros sites
11 horas atrás, Felipe Guedes Coutinho disse:

@wandoh

 

Fera é o seguinte, para que você possa DECLARAR uma variável em uma página e possa utilizar em outra página você precisa declarar as variáveis de SESSÃO, o que pelo visto você está fazendo certo.

 

SESSION_START();

$_SESSION['nome'] = "NOME";

 

Porem ao verificar o seu código não vi em nenhum momento você realizar o SELECT na base de dados para obter os dados do seu usuário e em seguida alimentar a "suposta" variável de sessão do e-mail em questão para que você possa utilizar em outra página.

 

Então explicando.

 

Você disse que o "NOME" você consegui exibir, certo? Isso porque você está alimentando a variável $_SESSION['nome'] aqui:

 

if (mysqli_num_rows($results)) {

$_SESSION['accountid'] = $id;//


$_SESSION['name'] = $name;

$_SESSION['success'] = 'Você está logado em';

echo " ";

 

Então em qualquer lugar que você queira exibir o nome deste usuário basta colocar


<?php
SESSTION_START();
echo $_SESSION['nome'];
?>

Você deve fazer o mesmo para o E-MAIL, você precisa fazer um SELECT na BASE DE DADOS e em seguida colocar o resultado obtido em uma variável de sessão.

 

Experimente fazer isso:


<?php
//Aqui você declara o select e os dados que quer obter, no exemplo temos o e-mail.
$query = "SELECT 'email' FROM t_account WHERE name='$name' AND password='$password'";

//Este comando executa o acesso ao banco de dados e obtem
//o campo em questão e joga dentro da variável
$results = mysqli_query($db, $query);

//Se o resultado trouxer um valor ele entra no IF.
if ($resultset = mysqli_fetch_assoc($db, $results)) {

//Vamos criar aqui a sua variável de SESSÃO do E-MAIL.
    $_SESSION['email'] = $resultset['email'];

//Vamos exibir este valor na tela.
    echo $_SESSION['email'];
}
?>

Bom, a lógica é essa, não testei o código, mas caso de algum erro na tela mostre aqui o código do erro para uma melhor analise.

 

Espero ter ajudado.

 

Att.

Felipe Coutinho

Notice: Undefined variable: pwd
Warning: mysqli_fetch_assoc() expects exactly 1 parameter, 2 given in

Apresenta esses 2 erros quando eu utilizo assim

//Aqui você declara o select e os dados que quer obter, no exemplo temos o e-mail.
$query = "SELECT 'email' FROM t_account WHERE name='$name' AND pwd='$pwd'";

//Este comando executa o acesso ao banco de dados e obtem
//o campo em questão e joga dentro da variável
$results = mysqli_query($db, $query);

//Se o resultado trouxer um valor ele entra no IF.
if ($resultset = mysqli_fetch_assoc($db, $results)) {

//Vamos criar aqui a sua variável de SESSÃO do E-MAIL.
    $_SESSION['email'] = $resultset['email'];

//Vamos exibir este valor na tela.
    echo $_SESSION['email'];
}

Se eu adicionar dentro do meu código quando tento visualizar não apresenta nada .

Uma duvida nessa parte tem $db, ou devo retirar pois já existe no 

$results = mysqli_query($db, $query);
if ($resultset = mysqli_fetch_assoc($db, $results)) {

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

@wandoh

 

O primeiro erro está dizendo que:

"Notificação: Variável indefinida: pwd".

Notice: Undefined variable: pwd

Ou seja, você esta usando uma variável no seu site que não foi DECLARADA, ou seja:

$pwd = "Qualquer coisa para definir a variável";

 

O outro erro é a própria sintaxe do mysqli_fetch_assoc(); você pode pesquisar na internet, mas o erro diz:

"Aviso: mysqli_fetch_assoc() expera exato 1 parametro, 2 foram dados."

Warning: mysqli_fetch_assoc() expects exactly 1 parameter, 2 given in

Ou seja, existem 2 parametros sendo passados dentro do ( ), acredito que você removendo o $db deve funcionar.

Sobre este comando eu recomendo você a ler o

Manual do Desenvolvedor PHP --> AQUI - Comando MySQLi_Fetch_Assoc() .

 

Espero ter ajudado.

 

Att.

Felipe Coutinho

Compartilhar este post


Link para o post
Compartilhar em outros sites
Em 18/10/2019 at 10:04, Felipe Guedes Coutinho disse:

@wandoh

 

O primeiro erro está dizendo que "Notificação: Variável indefinida: pwd".


Notice: Undefined variable: pwd

Ou seja, você esta usando uma variável no sei site que não esta sendo DECLARADA, ou seja:

 

$pwd = "Qualquer coisa para definir a variável";

 

O outro erro é a própria sintaxe do mysqli_fetch_assoc(); você pode pesquisar na internet, mas o erro diz:

 

"Aviso: mysqli_fetch_assoc() expera exato 1 parametro, 2 foram dados.


Warning: mysqli_fetch_assoc() expects exactly 1 parameter, 2 given in

Ou seja, existem 2 parametros sendo passados dentro das (), acredito que você recomendo o $db deve funcionar.

Sobre este comendo eu recomendo você a ler o Manual do Desenvolvedor PHP AQUI - Comando MySQLi_Fetch_Assoc()

 

Espero ter ajudado.

 

Att.

Felipe Coutinho

Obrigado por responder minhas duvidas! Depois de muitas tentativas consegui resolver meu problema adicionando uma parte do código em que o Hállex da Silva Costa mencionou para mim.

if (mysqli_num_rows($results)) {
      //Usuário e Senha estão cadastrados no banco de dados
      while($exibir = mysqli_fetch_assoc($results)){
        //Armazena o nome do usuário em uma sessão para poder chama-lá em qualquer página PHP
        $_SESSION['id'] = $exibir['accid'];
        $_SESSION['nome'] = $exibir['name'];
        $_SESSION['email'] = $exibir['email'];

        //Exibe todos os dados obtidos no SELECT da função mysqli_fetch_assoc()
        //var_dump($linha);
    } 
   }

Como eu disse no primeiro post, sou iniciante em PHP. Não desisto do que eu quero. Tento de todas as formas resolver os obstáculos que aparecem! Mais uma vez obrigado Hállex da Silva Costa e Felipe Guedes Coutinho por me ajudar.

Compartilhar este post


Link para o post
Compartilhar em outros sites
Em 21/10/2019 at 15:37, Felipe Guedes Coutinho disse:

@wandoh

 

Que bom que funcionou, não desista e se estiver com dúvidas poste que sempre tem alguém para lhe ajudar.

 

Espero ter ajudado.

 

Att.

Felipe Coutinho

Mais uma vez obrigado!

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por Rafael_Ferreira
      Não consigo carregar a imagem do captcha do meu formulário. Foi testado com o xampp e easyphp. Também não carregou a imagem de outros captcha. 
       
       
    • Por luiz monteiro
      Olá, tudo bem?
       
      Estou melhorando meu conhecimento em php e mysql e, me deparei com o seguinte. A tabela da base de dados tem um campo do tipo varchar(8) o qual armazena números. Eu não posso alterar o tipo desse campo. O que preciso é fazer um select para retornar o números que contenham zeros a direita ou a esquerda.
      O que tentei até agora
       
      Ex1
      $busca = $conexao->prepare("select campo form tabela where (campo = :campo) ");
      $busca->bindParam('campo', $_REQUEST['campo_form']);
       
      Se a direita da string $_REQUEST['campo_form'] termina ou inicia com zero ou zeros, a busca retorna vazio.
      Inseri dados numéricos, da seguinte maneira para testar: 01234567;  12345670: 12345678: 12340000... entre outros nessa coluna. Todos os valores que não terminam ou não iniciam com zero ou zeros, o select funciona.
       
       
      Ex2
      $busca = $conexao->prepare("select campo form tabela where (campo = 0340000) ");
      Esse número está cadastrado, mas não retorna.
       
      Ex3
      $busca = $conexao->prepare("select campo form tabela where (campo = '02340001' ) ");
      Esse número está cadastrado, mas não retorna.
       
       
      Ex4
      $busca = $conexao->prepare("select campo form tabela where (campo like 2340000) ");
      Esse número está cadastrado, mas não retorna.
       
      Ex5
      $busca = $conexao->prepare("select campo form tabela where (campo like '12340000') ");
      Esse número está cadastrado, mas não retorna.
       
      Ex6
      $busca = $conexao->prepare("select campo form tabela where (campo like '"12340000"' ) ");
      Esse número está cadastrado, mas não retorna.
       
       
      Ex7
      $busca = $conexao->prepare("select campo form tabela where (campo like :campo) ");
      $busca->bindParam('campo', $_REQUEST['campo_form'])
      Não retorna dados.
       
      O  $_REQUEST['campo_form'] é envio via AJAX de um formulário. 
      Usei o gettype para verificar o post, e ele retorna string.
      Fiz uma busca com número 12345678 para verificar o que o select retorna, e também retrona como string.
       
      Esse tipo de varchar foi usado porque os números que serão gravados nesse campo,  terão zeros a direita ou na esquerda. Os tipos number do mysql não gravam zeros, então estou usando esse. O problema é a busca.
      Agradeço desde já.
       
       
    • Por daemon
      Boa tarde,
       
      Eu tenho uma rotina que faz uma leitura do arquivo .xml de vários sites.

      Eu consigo pegar o tópico e a descrição, e mostrar a imagem que esta na pagina do link.
      Para isso utilizo esta função:
      function getPreviewImage($url) { // Obter o conteúdo da página $html = file_get_contents($url); // Criar um novo objeto DOMDocument $doc = new DOMDocument(); @$doc->loadHTML($html); // Procurar pela tag meta og:image $tags = $doc->getElementsByTagName('meta'); foreach ($tags as $tag) { if ($tag->getAttribute('property') == 'og:image') { return $tag->getAttribute('content'); } } // Se não encontrar og:image, procurar pela primeira imagem na página $tags = $doc->getElementsByTagName('img'); if ($tags->length > 0) { return $tags->item(0)->getAttribute('src'); } // Se não encontrar nenhuma imagem, retornar null return null; } // Uso: $url = "https://example.com/article"; $imageUrl = getPreviewImage($url); if ($imageUrl) { echo "<img src='$imageUrl' alt='Preview'>"; } else { echo "Nenhuma imagem encontrada"; }  
      Mas estou com um problema, esta funcão funciona quando coloco em uma pagina de teste.php. Preciso mostrar em uma página inicial diversas fotos de todos os links. (No caso acima só funciona 1).
    • 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');     }  
×

Informação importante

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