-
Total de itens
18 -
Registro em
-
Última visita
Tudo que Sergio Murilo Cabral postou
-
Estou criando um cadastro de usuários, que até o momento esta funcionando quase que perfeito, se não fosse um "window.alert" aparecer quando desnecessário... É o seguinte, eu inseri o código abaixo para evitar o cadastro de E-mail repetido no Sistema, já que estarei usando o E-mail cadastrado como Login. // Verifica se o E-mail já existe no sistema $sql_verificaMail = 'SELECT email FROM cadastro WHERE email = :email'; $query_verificaMail = $db->prepare($sql_verificaMail); $query_verificaMail->bindValue(':email',$email, PDO::PARAM_STR); $query_verificaMail->execute(); $count_verificaMail = $query_verificaMail->rowCount(PDO::FETCH_ASSOC); if($count_verificaMail >= '1'){ // Redireciona para a pagina de inicio, caso o E-mail já existir no Sistema. echo "<meta http-equiv='refresh' content='0; URL= index.php'> <script language='javascript'> window.alert('Ups... Esse E-mail já é cadastrado em nosso Sistema!!!'); </script>"; }else{ // Se for um novo E-mail no sistema é realizado o cadastro Mas quando me deparo com um E-mail já cadastrado, ele bloqueia o cadastro e via "window.alert" envia a mensagem de que o E-mail já existe no Sistema, até ai perfeito... Mas quando clico em "OK" para voltar à pagina inicial, ele me manda outro "window.alert", que se refere ao E-mail enviado para a conta cadastrada... Estou postando abaixo todo código, para que os amigos possam me dar uma luz, e eu possa fazer que ele volte para a pagina inicial, logo apos o "window.alert", de E-mail já cadastrado. <?php require 'init.php'; include 'config.php'; // Cadastro if(isset($_POST['cadastrar'])){ $name = addslashes($_POST['name']); $ur = addslashes($_POST['ur']); $celular = addslashes($_POST['celular']); $email = addslashes($_POST['email']); $password = addslashes($_POST['password']); $foto = addslashes($_POST['foto']); $end_foto = addslashes($_POST['end_foto']); $t_cartola = addslashes($_POST['t_cartola']); $end_t_cartola = addslashes($_POST['end_t_cartola']); // Verifica se o E-mail já existe no sistema no Sistema $sql_verificaMail = 'SELECT email FROM cadastro WHERE email = :email'; $query_verificaMail = $db->prepare($sql_verificaMail); $query_verificaMail->bindValue(':email',$email, PDO::PARAM_STR); $query_verificaMail->execute(); $count_verificaMail = $query_verificaMail->rowCount(PDO::FETCH_ASSOC); if($count_verificaMail >= '1'){ // Redireciona para a pagina de inicio, caso o E-mail já existir no Sistema. echo "<meta http-equiv='refresh' content='0; URL= index.php'> <script language='javascript'> window.alert('Ups... Esse E-mail já é cadastrado em nosso Sistema!!!'); </script>"; }else{ // Se for um novo E-mail no sistema é realizado o cadastro $sql = 'INSERT INTO cadastro (name, ur, celular, email, password, foto, end_foto, t_cartola, end_t_cartola)'; $sql .= 'VALUES (:name, :ur, :celular, :email, :password, :foto, :end_foto, :t_cartola, :end_t_cartola)'; try { $create = $db->prepare($sql); $create->bindValue(':name', $name, PDO::PARAM_STR); $create->bindValue(':ur', $ur, PDO::PARAM_STR); $create->bindValue(':celular', $celular, PDO::PARAM_STR); $create->bindValue(':email', $email, PDO::PARAM_STR); $create->bindValue(':password', $password, PDO::PARAM_STR); $create->bindValue(':foto', $foto, PDO::PARAM_STR); $create->bindValue(':end_foto', $end_foto, PDO::PARAM_STR); $create->bindValue(':t_cartola', $t_cartola, PDO::PARAM_STR); $create->bindValue(':end_t_cartola', $end_t_cartola, PDO::PARAM_STR); if($create->execute()){ echo "<meta http-equiv='refresh' content='0; URL= ../index.php'> <script language='javascript'> window.alert('Cadastro realizado com sucesso!'); </script>"; } }catch (PDOException $e){ echo "<meta http-equiv='refresh' content='0; URL= ../index.php'> <script language='javascript'> window.alert('Ups... Erro ao realizar o Cadastro'); </script>"; }}} $urlSite = $_POST['urlSite']; $name = $_POST['name']; $email = $_POST['email']; require('PHPMailer/class.phpmailer.php'); $smtp = 'mail.resenhao.com.br'; $emailUser = 'adm@resenhao.com.br'; $senha = 'resenhao100164'; $mail = new PHPMailer(); $mail->IsSMTP(); $mail->SMTPAuth = true; $mail->Port = 587; $mail->Host = "$smtp"; $mail->Username = "$emailUser"; $mail->Password = "$senha"; $mail->SetFrom("$emailUser", "$urlSite"); $mail->AddAddress("$email", "$name"); $mail->Subject = 'Confirmar cadastro'; $body = "Olá $name<br/><br/> Para confirmar seu cadastro, por favor, clique no link abaixo:<br/> <a href='$urlSite/cadastroConfirmado.php?email=$email'>Clique aqui para confirmar seu cadastro</a><br/><br/> Se não tiver sido você ou não desejar confirmar o cadastro, apenas desconsidere esta mensagem<br/><br/> Obribado!"; $mail->MsgHTML($body); if($mail->Send()){ echo "<meta http-equiv='refresh' content='0; URL= index.php'> <script language='javascript'> window.alert('Foi enviado uma mensagem para o E-mail cadastrado,' + '\\n' + 'que possivelmente estara em sua caixa SPAM,' + '\\n' + 'que deve ser confirmado para validar o seu cadastro.'); </script>"; } else { echo "<meta http-equiv='refresh' content='0; URL= index.php'> <script language='javascript'> window.alert('Ups.. Erro ao realizar o cadastro!'); </script>"; } ?> Desde já agradeço pela a atenção de todos...
-
Funcionou ICAROF... Mas eu posso inserir uma mensagem do porque o cadastro do usuário não foi concluído?
-
Problema com Requisição Ajax e Atualização de dados (Update).
Sergio Murilo Cabral respondeu ao tópico de Sergio Murilo Cabral em PHP
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... ;) -
Problema com Requisição Ajax e Atualização de dados (Update).
Sergio Murilo Cabral postou um tópico no fórum PHP
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>"; } }} ?> -
Problema com Requisição Ajax e Atualização de dados (Update).
Sergio Murilo Cabral respondeu ao tópico de Sergio Murilo Cabral em PHP
Perfeito ShadowDLL, com... <form action="arquivos/update_usuario.php?id=<?php echo $res['id']; ?>" method="POST" enctype="multipart/form-data"> funcionou perfeito!!! Obrigado pela dica, e por se dispor a me ajudar... -
Problema com Requisição Ajax e Atualização de dados (Update).
Sergio Murilo Cabral respondeu ao tópico de Sergio Murilo Cabral em PHP
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...