Problema com Requisição Ajax e Atualização de dados (Update)
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>". } }}?>Discussão (6)
Carregando comentários...