Ir para conteúdo

POWERED BY:

Sergio Murilo Cabral

Problema com Requisição Ajax e Atualização de dados (Update).

Recommended Posts

Olá, meu problema é o seguinte...
 

criei um perfil de usuários onde permito que o dono da conta possa fazer as alterações que desejar, e fiz todo código com o UPDATE dos dados funcionando, abrindo a o arquivo update_usuario.php em uma nova pagina.


Porém quando criei uma Requisição AJAX, para fazer com que ele abra dentro da DIV class conteudo, ele não funciona, ou seja não efetua o UPDATE dos dados alterados.


Se alguém puder dar uma força, me mostrando o porque, ficarei muito agradecido!!!


Segue abaixo os códigos dos aquivos usados:


Aquivo perfil_usuario.php - Onde o Usuário visualiza seu dados e solicita a edição dos mesmos ou o exclui.

<?php
include "../init.php";
include "../config.php";
include "../check.php";
?>

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Liga RE$ENHÃO 2020</title>   
</head>
<body>
<div>
    <h1>Editando Usuários</h1>

    <table>
        <tr>

            <td align="center" width="350">Nome</td>
            <td align="center" width="350">Email</td>
            <td align="center" width="150">Senha</td>
            <td align="center" width="250">Nº do WhatsApp</td>
            <td align="center" width="250">Sua Foto</td>
            <td align="center" width="250">Time no Cartola</td>
            <td align="center" width="350">Ações</td>
        </tr>

        <?php
        $id = $_GET['id'];
        $sql = $db->query("SELECT * FROM cadastro WHERE id = '$id'");
        foreach ($sql as $res) {
            echo "<tr>";

                echo "<td align='center'>".$res['name']."</td>";
                echo "<td align='center'>".$res['email']."</td>";
                echo "<td align='center'>".$res['password']."</td>";
                echo "<td align='center'>".$res['celular']."</td>";
                echo "<td align='center'><img style='height:50%; width:auto; max-width:150px;' src='upload/".$res['foto']."'/></td>";
                echo "<td align='center'><img style='height:; width:auto; max-width:150px;' src='upload/".$res['t_cartola']."'/></td>";

                echo 
                '<td align="center">

                        <a id="nav" href="update_usuario.php?id='.$res['id'].'">
                        <img src="img/edite.png" title=" Editar Usuário "></a>

                        <span><img width="30px" src="img/mito_vazio.png"></span>

                        <a id="nav" href="excluir.php?id='.$res['id'].'">
                        <img src="img/delete.png" title=" Excluir Usuário "></a>

                </td>';

            echo "</tr>";
        }

        ?>

    </table>
</div>
</body>
</html>
<script type="text/javascript" src="js/jquery-1.8.3.min.js"></script>
<script src="js/ajax.js"></script>

Aquivo ajax.js - Requisição AJAX.

$(function(){
$("#carregando").hide();
    $("a#nav").click(function(){
        pagina = "arquivos/"+$(this).attr("href")
        $("#carregando").ajaxStart(function(){
            $(this).show();
        })
        $("#carregando").ajaxStop(function(){
            $(this).hide();
        })
        $(".conteudo").load(pagina)
        return false;
    })
})

Aquivo update_usuario.php - Onde o Usuário poderá alterar os seus dados UPDATE.
 

<?php
require "../init.php";
include "../config.php";
?>

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>Liga RE$ENHÃO 2020</title>
</head>
<body>
    <div>

    <?php
        $id = $_GET['id'];
        $sql = $db->query("SELECT * FROM cadastro WHERE id = '$id'");
        $sql->execute();
        foreach($sql->fetchAll() as $res);

        if(isset($_POST['atualizar'])){

        $name=addslashes(trim($_POST['name']));
        $ur=addslashes(trim($_POST['ur']));
        $email=addslashes(trim($_POST['email']));
        $password=addslashes(trim($_POST['password']));
        $celular=addslashes(trim($_POST['celular']));

        $update = $db->prepare("UPDATE cadastro SET name=:name, ur=:ur, email=:email, password=:password, celular=:celular WHERE id = '$id'");

        $update->bindValue(':name', $name);
        $update->bindValue(':ur', $ur);
        $update->bindValue(':email', $email);
        $update->bindValue(':password', $password);
        $update->bindValue(':celular', $celular);

        $update->execute();

        if($update == ''){
        echo "<script language='javascript'>
        window.alert('Erro ao alterar dados!');
        </script>";
        }else{
        echo "<meta http-equiv='refresh' content='0; URL= ../index.php'>
        <script language='javascript'>
        window.alert('Dados atualizados com sucesso!');
        </script>";
        }}
    ?>

<!-- ////// Formlário dados pessoais do Usuário \\\\\\ -->
    <div style="background-color:#fff;height:auto;width:33%;color:#000;float:left;">
        <form action="" method="post" enctype="multipart/form-data">
            <label for="name"><span>Nome: </span></label>
            <input type="text" name="name" value="<?php echo $res['name']; ?>">
            <br />
            <label for="ur"><span>Estado: </span></label>
            <input type="text" name="ur" value="<?php echo $res['ur']; ?>">
            <br />
            <label for="celular">
                <span>E-mail: </span>
                <?php echo $res['email']; ?>
            </label>
            <input hidden="" type="text" name="email" value="<?php echo $res['email']; ?>">
            <input hidden="" type="text" name="password" value="<?php echo $res['password']; ?>">
            <br />
            <label for="celular"><span>Celular: </span></label>
            <input type="text" name="celular" value="<?php echo $res['celular']; ?>">
            <br />
            <input type="submit" name="atualizar" value="Atualizar">
        </form>
    </div>


    <?php
        # UPDATE da Foto
        if(isset($_POST['enviar'])){
            $id = $_GET['id'];
            $foto = $_FILES['foto'];
            $sqlUpdate = "UPDATE cadastro SET foto = ? WHERE id = ?";
            $dados = array($foto, $id);

        $pasta = '../upload/';
        if (isset($_POST['enviar'])){
        $check = @$_POST['apagar'];
        foreach($check as $foto){
        $delcheck = $sqlUpdate = ("UPDATE cadastro SET foto = ? WHERE id = ?"); 
        unlink($pasta.'/'.$foto);
        if ($delcheck >= '1'){
        echo 'Imagem deletada com sucesso!';
        }else{
        echo 'Erro ao deletar imagem, tente novamente!';
        }}}}
    ?>

    <?php           
        include "Upload.class.php";

            if ((isset($_POST["enviar"])) && (! empty($_FILES['foto']))){
                $upload = new Upload($_FILES['foto'], 1000, 800, "../upload/");
                    echo $upload->salvar();
            }
        ?>

    <div>
        <form action="" method="POST" enctype="multipart/form-data">
        <?php
            $id = $_GET['id'];
            $sql = $db->prepare("SELECT * FROM cadastro WHERE id='$id'");
            $sql->execute();
            foreach($sql->fetchAll() as $res){
        ?>
            <input size="1" type="hidden" name="id" value="<?php echo $res['id'];?>" readonly>
            <input type="hidden" type="checkbox" name="apagar[]" value="<?php echo $res['foto'];?>" checked readonly>
            <?php } ?>
            <img src="../upload/<?php echo $res['foto'];?>"/><br />
            <label>Selecione uma nova imagem:</label><br />
            <input type="file" name="foto" accept="image/*" ><br />
            <input type="submit" name="enviar" value="Atualizar">
        </form>
    </div>
</div>
</body>
</html>

E por fim o Arquivo Upload.class.php - Faz o Upload da imagem.
 

<?php

    class Upload{
        private $arquivo;
        private $altura;
        private $largura;
        private $pasta;

        function __construct($arquivo, $altura, $largura, $pasta){
            $this->arquivo = $arquivo;
            $this->altura  = $altura;
            $this->largura = $largura;
            $this->pasta   = $pasta;
        }

        private function getExtensao(){
            //retorna a extensao da imagem  
            return $extensao = strtolower(end(explode('.', $this->arquivo['name'])));
        }

        private function ehImagem($extensao){
            $extensoes = array('gif', 'jpeg', 'jpg', 'png');     // extensoes permitidas
            if (in_array($extensao, $extensoes))
                return true;    
        }

        //largura, altura, tipo, localizacao da imagem original
        private function redimensionar($imgLarg, $imgAlt, $tipo, $img_localizacao){
            //descobrir novo tamanho sem perder a proporcao
            if ( $imgLarg > $imgAlt ){
                $novaLarg = $this->largura;
                $novaAlt = round( ($novaLarg / $imgLarg) * $imgAlt );
            }
            elseif ( $imgAlt > $imgLarg ){
                $novaAlt = $this->altura;
                $novaLarg = round( ($novaAlt / $imgAlt) * $imgLarg );
            }
            else // altura == largura
                $novaAltura = $novaLargura = max($this->largura, $this->altura);

            //redimencionar a imagem

            //cria uma nova imagem com o novo tamanho   
            $novaimagem = imagecreatetruecolor($novaLarg, $novaAlt);

            switch ($tipo){
                case 1: // gif
                    $origem = imagecreatefromgif($img_localizacao);
                    imagecopyresampled($novaimagem, $origem, 0, 0, 0, 0, $novaLarg, $novaAlt, $imgLarg, $imgAlt);
                    imagegif($novaimagem, $img_localizacao);
                    break;
                case 2: // jpg
                    $origem = imagecreatefromjpeg($img_localizacao);
                    imagecopyresampled($novaimagem, $origem, 0, 0, 0, 0, $novaLarg, $novaAlt, $imgLarg, $imgAlt);
                    imagejpeg($novaimagem, $img_localizacao);
                    break;
                case 3: // png
                    $origem = imagecreatefrompng($img_localizacao);
                    imagecopyresampled($novaimagem, $origem, 0, 0, 0, 0, $novaLarg, $novaAlt, $imgLarg, $imgAlt);
                    imagepng($novaimagem, $img_localizacao);
                    break;
            }

            //destroi as imagens criadas
            imagedestroy($novaimagem);
            imagedestroy($origem);
        }

        public function salvar(){                                   
            $extensao = $this->getExtensao();

            //gera um nome unico para a imagem em funcao do tempo
            $novo_nome = time() . '.' . $extensao;
            //localizacao do arquivo 
            $destino = $this->pasta . $novo_nome;

            //move o arquivo
            if (! move_uploaded_file($this->arquivo['tmp_name'], $destino)){
                if ($this->arquivo['error'] == 1)
                    return "Tamanho excede o permitido";
                else
                    return "Erro " . $this->arquivo['error'];
            }

            if ($this->ehImagem($extensao)){                                                
                //pega a largura, altura, tipo e atributo da imagem
                list($largura, $altura, $tipo, $atributo) = getimagesize($destino);

                // testa se é preciso redimensionar a imagem
                if(($largura > $this->largura) || ($altura > $this->altura))
                    $this->redimensionar($largura, $altura, $tipo, $destino);
            }
            include '../config.php';
            $id = $_GET['id'];
            $foto = $_FILES['foto'];
            $update = $db->prepare("UPDATE cadastro SET foto = '$novo_nome' WHERE id = '$id'");
             //Preparo a string de conexão
            $update->bindParam('id', $id, PDO::PARAM_STR);
            $update->bindParam('foto', $novo_nome, PDO::PARAM_STR); // Faço o bind dos parametros

            if(!$update->execute()){ //Executo a query

            echo "<script language='javascript'>
            window.alert('Erro ao atualizar Imagem!!!');
            </script>";
            }else{
            echo "<meta http-equiv='refresh' content='0; URL= ../index.php'>
            <script language='javascript'>
            window.alert('Imagem atualizada com sucesso!');
            </script>";
        }                       
    }}
?>

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Acredito que o mesmo esteja ocorrendo

porque o action do formulário presente

no arquivo update_usuario.php está

apontando para o local errado...

Tente assim:

 

update_usuario.php

<?php
require "../init.php";
include "../config.php";
?>

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>Liga RE$ENHÃO 2020</title>
</head>
<body>
    <div>

    <?php
        $id = $_GET['id'];
        $sql = $db->query("SELECT * FROM cadastro WHERE id = '$id'");
        $sql->execute();
        foreach($sql->fetchAll() as $res);

        if(isset($_POST['atualizar'])){

        $name=addslashes(trim($_POST['name']));
        $ur=addslashes(trim($_POST['ur']));
        $email=addslashes(trim($_POST['email']));
        $password=addslashes(trim($_POST['password']));
        $celular=addslashes(trim($_POST['celular']));

        $update = $db->prepare("UPDATE cadastro SET name=:name, ur=:ur, email=:email, password=:password, celular=:celular WHERE id = '$id'");

        $update->bindValue(':name', $name);
        $update->bindValue(':ur', $ur);
        $update->bindValue(':email', $email);
        $update->bindValue(':password', $password);
        $update->bindValue(':celular', $celular);

        $update->execute();

        if($update == ''){
        echo "<script language='javascript'>
        window.alert('Erro ao alterar dados!');
        </script>";
        }else{
        echo "<meta http-equiv='refresh' content='0; URL= ../index.php'>
        <script language='javascript'>
        window.alert('Dados atualizados com sucesso!');
        </script>";
        }}
    ?>

<!-- ////// Formlário dados pessoais do Usuário \\\\\\ -->
    <div style="background-color:#fff;height:auto;width:33%;color:#000;float:left;">
        <form action="arquivos/update_usuario.php?id=<?=$_GET['id']?>" method="post" enctype="multipart/form-data">
            <label for="name"><span>Nome: </span></label>
            <input type="text" name="name" value="<?php echo $res['name']; ?>">
            <br />
            <label for="ur"><span>Estado: </span></label>
            <input type="text" name="ur" value="<?php echo $res['ur']; ?>">
            <br />
            <label for="celular">
                <span>E-mail: </span>
                <?php echo $res['email']; ?>
            </label>
            <input hidden="" type="text" name="email" value="<?php echo $res['email']; ?>">
            <input hidden="" type="text" name="password" value="<?php echo $res['password']; ?>">
            <br />
            <label for="celular"><span>Celular: </span></label>
            <input type="text" name="celular" value="<?php echo $res['celular']; ?>">
            <br />
            <input type="submit" name="atualizar" value="Atualizar">
        </form>
    </div>


    <?php
        # UPDATE da Foto
        if(isset($_POST['enviar'])){
            $id = $_GET['id'];
            $foto = $_FILES['foto'];
            $sqlUpdate = "UPDATE cadastro SET foto = ? WHERE id = ?";
            $dados = array($foto, $id);

        $pasta = '../upload/';
        if (isset($_POST['enviar'])){
        $check = @$_POST['apagar'];
        foreach($check as $foto){
        $delcheck = $sqlUpdate = ("UPDATE cadastro SET foto = ? WHERE id = ?"); 
        unlink($pasta.'/'.$foto);
        if ($delcheck >= '1'){
        echo 'Imagem deletada com sucesso!';
        }else{
        echo 'Erro ao deletar imagem, tente novamente!';
        }}}}
    ?>

    <?php           
        include "Upload.class.php";

            if ((isset($_POST["enviar"])) && (! empty($_FILES['foto']))){
                $upload = new Upload($_FILES['foto'], 1000, 800, "../upload/");
                    echo $upload->salvar();
            }
        ?>

    <div>
        <form action="arquivos/update_usuario.php?id=<?=$_GET['id']?>" method="POST" enctype="multipart/form-data">
        <?php
            $id = $_GET['id'];
            $sql = $db->prepare("SELECT * FROM cadastro WHERE id='$id'");
            $sql->execute();
            foreach($sql->fetchAll() as $res){
        ?>
            <input size="1" type="hidden" name="id" value="<?php echo $res['id'];?>" readonly>
            <input type="hidden" type="checkbox" name="apagar[]" value="<?php echo $res['foto'];?>" checked readonly>
            <?php } ?>
            <img src="../upload/<?php echo $res['foto'];?>"/><br />
            <label>Selecione uma nova imagem:</label><br />
            <input type="file" name="foto" accept="image/*" ><br />
            <input type="submit" name="enviar" value="Atualizar">
        </form>
    </div>
</div>
</body>
</html>

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá ShadowDLL, fiz a alteração que você mencionou, e me retornou esse erro abaixo...

Parse error: syntax error, unexpected '$_GET' (T_VARIABLE), expecting ',' or ';' in C:\wamp\www\Resenhao 2020\arquivos\update_usuario.php on line 57

Na linha que foi alterada...
<form action="arquivos/update_usuario.php?id=<?=$_GET['id']?>" method="POST" enctype="multipart/form-data">

Heellllppp...

Compartilhar este post


Link para o post
Compartilhar em outros sites

CÓDIGO:

<?php
require "../init.php";
include "../config.php";
?>

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>Liga RE$ENHÃO 2020</title>
</head>
<body>
    <div>

    <?php
        $id = $_GET['id'];
        $sql = $db->query("SELECT * FROM cadastro WHERE id = '$id'");
        $sql->execute();
        foreach($sql->fetchAll() as $res);

        if(isset($_POST['atualizar'])){

        $name=addslashes(trim($_POST['name']));
        $ur=addslashes(trim($_POST['ur']));
        $email=addslashes(trim($_POST['email']));
        $password=addslashes(trim($_POST['password']));
        $celular=addslashes(trim($_POST['celular']));

        $update = $db->prepare("UPDATE cadastro SET name=:name, ur=:ur, email=:email, password=:password, celular=:celular WHERE id = '$id'");

        $update->bindValue(':name', $name);
        $update->bindValue(':ur', $ur);
        $update->bindValue(':email', $email);
        $update->bindValue(':password', $password);
        $update->bindValue(':celular', $celular);

        $update->execute();

        if($update == ''){
        echo "<script language='javascript'>
        window.alert('Erro ao alterar dados!');
        </script>";
        }else{
        echo "<meta http-equiv='refresh' content='0; URL= ../index.php'>
        <script language='javascript'>
        window.alert('Dados atualizados com sucesso!');
        </script>";
        }}
    ?>

<!-- ////// Formlário dados pessoais do Usuário \\\\\\ -->
    <div style="background-color:#fff;height:auto;width:33%;color:#000;float:left;">
        <form action="arquivos/update_usuario.php?id=<?php echo $res['id']; ?>" method="post" enctype="multipart/form-data">
            <label for="name"><span>Nome: </span></label>
            <input type="text" name="name" value="<?php echo $res['name']; ?>">
            <br />
            <label for="ur"><span>Estado: </span></label>
            <input type="text" name="ur" value="<?php echo $res['ur']; ?>">
            <br />
            <label for="celular">
                <span>E-mail: </span>
                <?php echo $res['email']; ?>
            </label>
            <input hidden="" type="text" name="email" value="<?php echo $res['email']; ?>">
            <input hidden="" type="text" name="password" value="<?php echo $res['password']; ?>">
            <br />
            <label for="celular"><span>Celular: </span></label>
            <input type="text" name="celular" value="<?php echo $res['celular']; ?>">
            <br />
            <input type="submit" name="atualizar" value="Atualizar">
        </form>
    </div>


    <?php
        # UPDATE da Foto
        if(isset($_POST['enviar'])){
            $id = $_GET['id'];
            $foto = $_FILES['foto'];
            $sqlUpdate = "UPDATE cadastro SET foto = ? WHERE id = ?";
            $dados = array($foto, $id);

        $pasta = '../upload/';
        if (isset($_POST['enviar'])){
        $check = @$_POST['apagar'];
        foreach($check as $foto){
        $delcheck = $sqlUpdate = ("UPDATE cadastro SET foto = ? WHERE id = ?"); 
        unlink($pasta.'/'.$foto);
        if ($delcheck >= '1'){
        echo 'Imagem deletada com sucesso!';
        }else{
        echo 'Erro ao deletar imagem, tente novamente!';
        }}}}
    ?>

    <?php           
        include "Upload.class.php";

            if ((isset($_POST["enviar"])) && (! empty($_FILES['foto']))){
                $upload = new Upload($_FILES['foto'], 1000, 800, "../upload/");
                    echo $upload->salvar();
            }
        ?>

    <div>
        <form action="arquivos/update_usuario.php?id=<?php echo $res['id']; ?>" method="POST" enctype="multipart/form-data">
        <?php
            $id = $_GET['id'];
            $sql = $db->prepare("SELECT * FROM cadastro WHERE id='$id'");
            $sql->execute();
            foreach($sql->fetchAll() as $res){
        ?>
            <input size="1" type="hidden" name="id" value="<?php echo $res['id'];?>" readonly>
            <input type="hidden" type="checkbox" name="apagar[]" value="<?php echo $res['foto'];?>" checked readonly>
            <?php } ?>
            <img src="../upload/<?php echo $res['foto'];?>"/><br />
            <label>Selecione uma nova imagem:</label><br />
            <input type="file" name="foto" accept="image/*" ><br />
            <input type="submit" name="enviar" value="Atualizar">
        </form>
    </div>
</div>
</body>
</html>

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá denovo ShadowDLL,
pintou uma duvida, depois que o script efetua as alterações, ele me retorna para a pagina "index.php" , conforme linha abaixo...

<meta http-equiv='refresh' content='0; URL= ../index.php'>

A minha duvida é?
Seria possível ele retornar para a pagina  "perfil_usuario.php" com o id do usuário consultado?

Tentei da forma abaixo:

<meta http-equiv='refresh' content='0; URL= perfil_usuario.php?id=".$res["id"]."'>

Mas ele me retorna para a pagina correta porém, como uma nova pagina, quando eu gostaria que ele retornasse na ".conteudo" da "a#nav" a qual a Requisição Ajax se refere.
Estou postando abaixo o arquivo da "Requisição Ajax".

$(function(){
	$("#carregando").hide();
		$("ul.nav li a").click(function(){
			pagina = "arquivos/"+$(this).attr("href") // paginas dos links do menu
			$("#carregando").ajaxStart(function(){
				$(this).show();
			})
			$("#carregando").ajaxStop(function(){
				$(this).hide();
			})
			$(".conteudo").load(pagina)
			return false;
		})
})


$(function(){
	$("#carregando").hide();
		$("a#nav").click(function(){
			pagina = "arquivos/"+$(this).attr("href") // paginas dos links do menu
			$("#carregando").ajaxStart(function(){
				$(this).show();
			})
			$("#carregando").ajaxStop(function(){
				$(this).hide();
			})
			$(".conteudo").load(pagina)
			return false;
		})
})

Mas uma vez obrigado pela sua atenção... ;)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora

  • 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.