-
Conteúdo Similar
-
Por Felipe Guedes Coutinho
Tenho apenas 500k de armazenamento aqui no FÓRUM, já coloquei algumas imagens para ajudar alguns inscritos a solucionar os problemas, porém agora, estou com apenas 67,47k de armazenamento e não consigo colocar mais imagens nos tópicos.
Minha dúvida é como faço para deletar as imagens que anexei aqui no fórum e liberar espaço para poder armazenas novas imagens?
Se alguém puder me ajudar fica agradecido.
Fico no aguardo.
Att.
Felipe Coutinho
-
Por Augusto Medeiros
Crie um fomulário de cadastro de usuário e um controllercadastro para inserir dados na tabelas wp_usermeta
wp_posts e wp_postmeta no entanto quando tento mover a imagem do avatar ela aparece enviada para a midia do wordpress mas quando vou no perfil ela aparece como link quebrado e a imagem não é adicionada no cadastro segue o form e o arquivo php.
page-cadastro.php
<?php /* Template Name: Cadastro */ ?> <?php get_header(); ?> <body class='cadastro_page'> <form name="FormCadastro" id="FormCadastro" action="<?php echo site_url().'/controllercadastro' ?>" method="post" enctype="multipart/form-data"> <div class="CadastroFormulario"> <input type="text" name="Nome" id="Nome" placeholder="Nome" required> </div> <div class="CadastroFormulario"> <input type="text" name="Sobrenome" id="Sobrenome" placeholder="Sobrenome" required> </div> <div class="CadastroFormulario"> <input type="email" name="Email" id="Email" placeholder="Email" required> </div> <div class="CadastroFormulario"> <input type="text" name="Site" id="Site" placeholder="Rede Social"> </div> <div class="CadastroFormulario"> <input type="text" name="Usuario" id="Usuario" placeholder="Usuário" required> </div> <div class="CadastroFormulario"> <input type="password" name="Senha" id="Senha" placeholder="Senha" required> </div> <div class="CadastroFormulario"> <input type="password" name="ConfSenha" id="ConfSenha" placeholder="Confirmar a Senha" required> </div> <div class="CadastroFormulario"> Foto do perfil <input type="file" name="Imagem[]" id="Imagem"><input type="submit" value="Cadastrar"> </div> </form> <?php get_footer(); ?> controllercadastro.php
<?php /* Template Name: Controller Cadastro */ ?> <?php $Id=0; $Nome=filter_input(INPUT_POST,'Nome',FILTER_SANITIZE_SPECIAL_CHARS); $Sobrenome=filter_input(INPUT_POST,'Sobrenome',FILTER_SANITIZE_SPECIAL_CHARS); $Email=filter_input(INPUT_POST,'Email',FILTER_SANITIZE_SPECIAL_CHARS); $Site=filter_input(INPUT_POST,'Site',FILTER_SANITIZE_SPECIAL_CHARS); $Usuario=filter_input(INPUT_POST,'Usuario',FILTER_SANITIZE_SPECIAL_CHARS); $Senha=filter_input(INPUT_POST,'Senha',FILTER_SANITIZE_SPECIAL_CHARS); $ConfSenha=filter_input(INPUT_POST,'ConfSenha',FILTER_SANITIZE_SPECIAL_CHARS); $Imagem=$_FILES['Imagem']['tmp_name']; $Imagem2=$_FILES['Imagem']['name']; $TesteUsuario=$wpdb->get_results("select * from wp_users where user_login='$Usuario' or user_email='$Email'"); $NomeCompleto=$Nome.' '.$Sobrenome; $Data=date('Y-m-d g:i:s'); $hash = wp_hash_password($Senha); $rand=rand(0,1000000); if($Senha != $ConfSenha){ echo "Senha diferente de confirmação de senha"; }elseif(count($TesteUsuario) > 0){ echo "Usuário já existe"; }else { $wpdb->get_results("insert into wp_users values( '$Id', '$Usuario', '$hash', '$Usuario', '$Email', '$Site', '$Data', '', '0', '$Usuario' )" ); } $IDUsuario=$wpdb->get_results("select * from wp_users where user_login = '$Usuario'"); foreach($IDUsuario as $IDUsuarios){ $IDFinal=$IDUsuarios->ID; } $IDUltimoPost=$wpdb->get_results("select * from wp_posts order by ID desc limit 1"); foreach($IDUltimoPost as $IDUltimoPosts){ $IDPostFinal=$IDUltimoPosts->ID + 1; } /* INSERT WP_USERMETA */ $wpdb->get_results("insert into wp_usermeta values( '$Id', '$IDFinal', 'wp_capabilities', 'a:1:{s:13:\"administrator\";b:1;}' )"); $wpdb->get_results("insert into wp_usermeta values( '$Id', '$IDFinal', 'wp_user_level', '10' )"); $wpdb->get_results("insert into wp_usermeta values( '$Id', '$IDFinal', 'nickname', '$Usuario' )"); $wpdb->get_results("insert into wp_usermeta values( '$Id', '$IDFinal', 'first_name', '$Nome' )"); $wpdb->get_results("insert into wp_usermeta values( '$Id', '$IDFinal', 'last_name', '$Sobrenome' )"); $wpdb->get_results("insert into wp_usermeta values( '$Id', '$IDFinal', 'locale', 'pt_BR' )"); $wpdb->get_results("insert into wp_usermeta values( '$Id', '$IDFinal', 'wp_user_avatar', '$IDPostFinal' )"); /* INSERT WP_posts */ $wpdb->get_results("insert into wp_posts values ('$IDPostFinal', '$IDFinal', '$Data', '$Data', '', '$rand-$Imagem2[0]', '', 'inherit', 'open', 'closed', '', '$rand-$Imagem2[0]', '', '', '$Data', '$Data', '', '0', '$_SERVER[DOCUMENT_ROOT]/wp-content/uploads/Perfil/', '0', 'attachment', 'image/jpeg', '0')"); /* INSERT WP_POSTMETA */ $wpdb->get_results("insert into wp_postmeta values( '$Id', '$IDPostFinal', '_wp_attachment_wp_user_avatar', '$IDFinal' )"); $wpdb->get_results("insert into wp_postmeta values( '$Id', '$IDPostFinal', '_wp_attached_file', 'Perfil/$rand-$Imagem2[0]' )"); $wpdb->get_results("insert into wp_postmeta values( '$Id', '$IDPostFinal', '_wp_attachment_metadata', 'a:5:{s:5:\"width\";i:1024;s:6:\"height\";i:768;s:4:\"file\";s:20:\"Perfil/$rand-$Imagem2[0]\";s:5:\"sizes\";a:4:{s:9:\"thumbnail\";a:4:{s:4:\"file\";s:20:\"2019/07/$rand-$Imagem2[0]\";s:5:\"width\";i:150;s:6:\"height\";i:150;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:6:\"medium\";a:4:{s:4:\"file\";s:20:\"2019/07/$rand-$Imagem2[0]\";s:5:\"width\";i:300;s:6:\"height\";i:225;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:12:\"medium_large\";a:4:{s:4:\"file\";s:20:\"2019/07/$rand-$Imagem2[0]\";s:5:\"width\";i:768;s:6:\"height\";i:576;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:5:\"large\";a:4:{s:4:\"file\";s:21:\"2019/07/$rand-$Imagem2[0]\";s:5:\"width\";i:1024;s:6:\"height\";i:768;s:9:\"mime-type\";s:10:\"image/jpeg\";}}s:10:\"image_meta\";a:12:{s:8:\"aperture\";s:1:\"0\";s:6:\"credit\";s:6:\"Corbis\";s:6:\"camera\";s:0:\"\";s:7:\"caption\";s:0:\"\";s:17:\"created_timestamp\";s:10:\"1203311251\";s:9:\"copyright\";s:0:\"\";s:12:\"focal_length\";s:1:\"0\";s:3:\"iso\";s:1:\"0\";s:13:\"shutter_speed\";s:1:\"0\";s:5:\"title\";s:0:\"\";s:11:\"orientation\";s:1:\"0\";s:8:\"keywords\";a:0:{}}}' )"); /** mover arquivo para pasta PERFIL */ move_uploaded_file($Imagem[0],$_SERVER['DOCUMENT_ROOT']."/wp-content/uploads/Perfil/$rand-$Imagem2[0]"); echo "Usuário cadastrado com sucesso!"; ?>
-
Por cleomarbrdias
Estou com um site com acesso restrito para visitantes, gostaria de restringir ao visitante as alterações de informações da conta, permitir que ele altere apenas sua senha?
alguma dica de como fazer isso?
-
Por jpsmusic
Tenho uma página de cadastro: cadastro.php
________________________________________
<!DOCTYPE html> <html lang="pt-br"> <head> <meta charset="UTF-8"/> <title>Cadastre-se - TOP Receitas</title> <link rel="stylesheet" href="css/estilo.css"/> <link rel="shortcut icon" href="imagens/favicon.ico" type="image/x-icon"> <link rel="stylesheet" href="css/fotos.css"/> <link rel="stylesheet" href="css/form.css"/> <script> function confirma() { if(document.f1.tSenha1.value != document.f1.tSenha2.value) { alert("As senhas cadastradas são diferentes. Por favor, digite senhas iguais!"); return false; } } </script> </head> <body> <div id="interface"> <?php include_once "header.php" ?> <section id="corpo"> <h4><a href="index.php">TOP Receitas</a> > Cadastre-se</h4> <h2>CADASTRE-SE</h2> <form id="cadastro"> <fieldset><legend><b>Cadastre-se gratuitamente!</b></legend> <div> <img alt="Envie suas receitas para o site" class="icon" src="imagens/caderno.jpg"> <p class="cadastro">Envie suas receitas para o <i>site</i>.</p><br> <img alt="Crie um livro de receitas virtual com as receitas que você escolher" class="icon" src="imagens/coracao.jpg"> <p class="cadastro">Crie um caderno de receitas virtual com as receitas que você escolher.</p><br> <img alt="Envie fotos de pratos que você preparou" class="icon" src="imagens/camera.png"> <p class="cadastro">Envie fotos de pratos que você preparou.</p><br> <img alt="Comente as receitas dos outros usuários" class="icon" src="imagens/dialogo.png"> <p class="cadastro">Comente as receitas dos outros usuários.</p><br> <img alt="Participe de promoções exclusivas para usuários cadastrados" class="icon" src="imagens/chef.jpg"> <p class="cadastro">Participe de promoções exclusivas para usuários cadastrados.</p> </div> </fieldset> </form> <form name="f1" id="cadastro2" method="POST" action="cadastro.php"> <fieldset><legend><b>Dados Cadastrais</b></legend> <div> <p><input type="hidden" name="tCodigo" id="cCodigo"></p> <p class="esquerda"><b>Nome Completo*:</b> <br><input type="text" name="tNomeC" id="cNomeC" required style="width:430px;" maxlength="50" placeholder=" Digite aqui seu nome completo..."></p> <p class="esquerda"><b>Nome de Usuário*:</b> <br><input type="text" name="tNomeU" id="cNomeU" required style="width:430px;" maxlength="50" placeholder=" Digite aqui seu nome de usuário..."></p> <p class="esquerda"><b>E-mail*:</b> <br><input type="email" name="tEmail" id="cEmail" required style="width:430px;" maxlength="60" placeholder=" Digite aqui seu e-mail..."></p> <p class="esquerda"><b>Senha*:</b> <br><input type="password" name="tSenha1" id="cSenha1" required style="width:430px;" maxlength="20" placeholder=" Digite aqui sua senha..."></p> <p class="esquerda"><b>Confirmar Senha*:</b> <br><input type="password" name="tSenha2" id="cSenha2" required style="width:430px;" maxlength="20" placeholder=" Digite aqui novamente sua senha..."/></p> <p class="esquerda"><b>Data de Nascimento*:</b> <br><input type="date" name="tDataN" id="cDataN" required style="width:215px;"></p> <form> <label><b>Sexo*:</b></label> <input type="radio" name="sexo" id="sexo" required value="Masculino"> Masculino <input type="radio" name="sexo" id="sexo" value="Feminino"> Feminino<br> </form> <p class="esquerda"><b>Descrição do Perfil:</b> <br><textarea style="width:430px;height:130px;"name="tDescricao" id="cDescricao" placeholder=" Escreva um texto sobre você..." wrap="hard"></textarea></p> <form action="" method="post" enctype="multipart/form-data"> <p class="esquerda"><b>Foto Perfil:</b><br> <input type="file" value="Foto" name="arquivo" id="arquivo"></p> </form> <input type="checkbox" id="termos" required/> Eu aceito os Termos de Uso e Política de Privacidade do TOP Receitas. <br><br> <center><input type="submit" onClick="return confirma(this)" value="Cadastrar" style="width:100px; height:40px; cursor:pointer;"/></center> </form> </div> </fieldset> </section> <?php include_once "footer.php" ?> </div> </body> </html> <?php include("conexao.php"); //include("funcoes_adicionais.php"); // define variables and set to empty values $codigoErr = $nomeErr = $userNameErr = $emailErr = $senhaErr = $senhaRErr = $dataNascimentoErr = $sexoErr = $descricaoErr = ""; if ($_SERVER["REQUEST_METHOD"] == "POST") { if (empty($_POST["tCodigo"])) { $nomeErr = "Nome is required"; } else { $nome = test_input($_POST["tCodigo"]); } if (empty($_POST["tNomeU"])) { $nomeErr = "Nome is required"; } else { $nome = test_input($_POST["tNomeU"]); } if (empty($_POST["tNomeC"])) { $userNameErr = "Nome is required"; } else { $userName = test_input($_POST["tNomeC"]); } if (empty($_POST["tEmail"])) { $emailErr = "Nome is required"; } else { $email = test_input($_POST["tEmail"]); } if (empty($_POST["tSenha1"])) { $senhaErr = "Nome is required"; } else { $senha = test_input($_POST["tSenha1"]); } if (empty($_POST["tSenha2"])) { $senhaRErr = "Nome is required"; } else { $senhaR = test_input($_POST["tSenha2"]); } if (empty($_POST["tDataN"])) { $dataNascimentoErr = "Nome is required"; } else { $dataNascimento = test_input($_POST["tDataN"]); } if (empty($_POST["sexo"])) { $sexoErr = "Nome is required"; } else { $sexo = test_input($_POST["sexo"]); } if (empty($_POST["tDescricao"])) { $descricaoErr = ""; } else { $descricao = test_input($_POST["tDescricao"]); } /* echo "username = ".$userName; echo "<BR>nomecompleto = ".$nome; echo "<br> email = ".$email; echo "<br> senha = ".$senha; echo "<br> senhaR = ".$senhaR; echo "<br>dataNascimento = ".$dataNascimento; echo "<br>sexo = ".$sexo; echo "<br>descricao = ".$descricao;*/ $con = DBConnect(); $tEmail=$_POST['tEmail']; $sql = mysqli_query($con, "SELECT * FROM usuario WHERE email = '".$tEmail."'"); $row = mysqli_num_rows($sql); if($row>0){ echo "<script type='text/javascript'>"; echo "alert('E-mail já cadastrado em nosso sistema. Cadastre-se com outro e-mail!');"; echo "</script>"; return die; } else { // INSERIR NO BANCO DE DADOS $sql = "INSERT INTO usuario (codigo, userName, nome, email, senha, senhaR, dataNascimento, sexo, descricao) VALUES ('".$codigo."', '".$nome."', '".$userName."', '".$email."', '".$senha ."', '".$senhaR ."', '".$dataNascimento ."', '".$sexo ."', '".$descricao ."')"; } if ($con->query($sql) === TRUE) { ?> <script type="text/javascript"> alert("Usuário(a) [<?php echo $email ?>] cadastrado(a) com sucesso!") </script> <?php } else { echo "Error: " . $sql . "<br>" . $con->error; } // BUSCAR DO BANCO $sql = "SELECT * FROM usuario"; $result = $con->query($sql); // MOSTRAR O RESULTADO /* if ($result->num_rows > 0) { // output data of each row while($row = $result->fetch_assoc()) { echo "codigo: " . $row["codigo"]. "Nome: " . $row["nome"]. "<br>"; } } else { echo "0 results"; } */ DBClose($con); } function test_input($data) { $data = trim($data); $data = stripslashes($data); $data = htmlspecialchars($data); return $data; } ?>
______________________________________
Ele cadastra normal tudo no banco, após isso consigo realizar login pela página: login.php
_______________________________________
<?php session_start(); if(isset($_SESSION['UsuarioLog'])){ header("Location: dados.php"); die(); } include_once("conexao.php"); include_once("funcoes_adicionais.php"); include_once("config.php"); if(isset($_POST['entrar'])){ $conn = DBConnect(); $email = mysqli_escape_string($conn, $_POST['email']); $senha = mysqli_escape_string($conn, $_POST['senha']); $teste = DBQuery('usuario', "WHERE email = '$email' AND senha = '$senha'"); if($teste){ $_SESSION['UsuarioLog'] = true; header("Location: dados.php"); } else { echo "<script>alert('Usuário Não Encontrado')</script>"; } } ?> <!DOCTYPE html> <html lang="pt-br"> <head> <meta charset="UTF-8"/> <title>Acessar Sua Conta - TOP Receitas</title> <link rel="stylesheet" href="css/estilo.css"/> <link rel="shortcut icon" href="imagens/favicon.ico" type="image/x-icon"> <link rel="stylesheet" href="css/fotos.css"/> <link rel="stylesheet" href="css/form.css"/> </head> <body> <div id="interface"> <?php include_once "header.php" ?> <section id="corpo"> <h4><a href="index.php">TOP Receitas</a> > Login</h4> <div id="login"> <h3 id="titulo">ACESSE SUA CONTA</h3> <p>Caso você não tenha uma conta, <a href="cadastro.php"><b>cadastre-se.</b></a></p> <form name="login" method="POST" action="login.php"> <p><b>E-mail:</b> <input class="login" required type="email" name="email" style="width:200px;"/></p> <p><b>Senha:</b> <input class="login" required type="password" name="senha" style="width:200px;"/></p> <input type="checkbox" /> Lembrar senha <br> <br> <input class="botao_login" name="entrar" type="submit" value="Entrar" style="cursor:pointer;"> </form> <p><a href="esqueci_a_senha.php"><b>Esqueceu a senha?</b></a></p> </div> </section> <?php include_once "footer.php" ?> </div> </body> </html>
________________________________________
Ele realiza login normalmente, e manda o usuário para tela dados.php
__________________________________________
<?php session_start(); if(!isset($_SESSION['UsuarioLog'])){ header("Location: login.php"); session_destroy(); } ?> <!DOCTYPE html> <html lang="pt-br"> <head> <meta charset="UTF-8"/> <title>Meus Dados - TOP Receitas</title> <link rel="stylesheet" href="css/estilo.css"/> <link rel="shortcut icon" href="imagens/favicon.ico" type="image/x-icon"> <link rel="stylesheet" href="css/fotos.css"/> <link rel="stylesheet" href="css/form.css"/> </head> <body> <div id="interface"> <?php include_once "header.php" ?> <section id="corpo"> <h4><a href="index.php">TOP Receitas</a> > Meus Dados</h4> <h2>MEUS DADOS</h2> <?php include_once "aside.php" ?> <article id="dados"> <div class="conteudo_dados"> <div class="borda_dados"> <h3 class="dados">MEUS DADOS</h3> <p class="dados"><b>Nome Completo:</b> <input type="text" name="tNomeC" id="cNomeC" style="width:430px;" maxlength="50"/></p> <p class="dados"><b>Nome Usuário:</b> <input type="text" name="tNomeU" id="cNomeU" style="width:445px;" maxlength="50"/></p> <p class="dados"><b>E-mail:</b> <input type="email" name="tEmail" id="cEmail" style="width:505px;" maxlength="60"/></p> <p class="dados"><b>Nascimento:</b> <input type="date" name="tDataN" id="cDataN" style="width:300px;"></p> <p class="dados"><b>Sexo:</b> <input type="radio" name="sexo" id="sexo" value="Masculino"> Masculino <input type="radio" name="sexo" id="sexo" value="Feminino"> Feminino</p> <p class="dados"><b>Descrição do Perfil:</b><br> <textarea style="width:560px;height:140px"name="tDescricao"/></textarea></p> <p class="dados"><b>Boletim Informativo:</b><br> <input type="checkbox" /> Desejo receber o Boletim Informativo do TOP Receitas.</p> <p class="dados"><b>Notificações de Comentários:</b><br> <input type="checkbox" /> Desejo receber notificações quando alguém comentar em minha receita.</p> <p class="dados"><b>Notificações de Respostas:</b><br> <input type="checkbox" /> Desejo receber notificações quando meus comentários forem respondidos.</p> <br> <center><input type="submit" value="Salvar Alterações" id="alterar" name="alterar" style="font-size:14pt; cursor:pointer; width:180px; height:40px;"></center> <br> </div> </div> <div class="conteudo_dados"> <div class="borda_dados"> <h3 class="dados">MINHA SENHA</h3> </div> </div> <div class="conteudo_dados"> <div class="borda_dados"> <h3 class="dados">MINHA IMAGEM</h3> </div> </div> <div class="conteudo_dados"> <div class="borda_dados"> <h3 class="dados">DELETAR CONTA</h3> </div> </div> </article> <?php include_once "footer.php" ?> </div> </body> </html>
_________________________________________
Nessa tela que não estou conseguindo meu objetivo. Gostaria que os dados cadastrados fossem mostrados nos input, e que a seguir eu conseguisse alterar e salvar esses dados, trocar foto e deletar a conta se necessário. Esses dados tem que ser do usuário que acabou de passar pelo login.
Se alguém puder me dar um help, fico grato.
Obrigado!
-
Por danersphp
Fala galera, tudo bem? Estou aprendendo PHP e certamente o meu problema deve ser simples de resolver, porém Google e amigos não me ajudaram muito.
Estou fazendo uma tela de perfil com foto. O upload e display dela está ok. Porém quando altero algum outro dado da página e salvo, a imagem é deletada do banco (ou pelo menos some do banco). Como posso alterar dados nesta tela sem perder a imagem de perfil atual? VALEU!
View da tela:
<?php foreach($info as $info): ?>
<div class="form-group">
<img src="assets/images/perfil/<?php echo $info['foto']; ?>" border="1" class="perfil_pic" /><br />
<input type="file" name="foto" class="btn btn-default add_file" style="float:left;"/>
</div>
<?php endforeach; ?>
Controller da tela:
$u = new Usuarios();
if(isset($_POST['nome']) && !empty($_POST['nome'])){
$img = $_FILES['foto'];
$email = addslashes($_POST['email']);
$senha = base64_encode($_POST['senha']);
$nome = addslashes($_POST['nome']);
$sobrenome = addslashes($_POST['sobrenome']);
$aniversario = addslashes($_POST['aniversario']);
$bio = addslashes($_POST['bio']);
$u->updatePerfil($img, $email, $senha, $nome, $sobrenome, $aniversario, $bio);
Model da tela:
public function updatePerfil($pic, $email, $senha, $nome, $sobrenome, $aniversario, $bio){
$id = $_SESSION['fkr'];
$url = '';
if (count($pic) > 0) {
$tipos = array('image/jpeg','image/jpg','image/png');
if (in_array($pic['type'], $tipos)) {
$url = 'perfilatual';
switch($pic['type']){
case 'image/jpeg':
case 'image/jpg':
$url .= '.jpg';
break;
case 'image/png':
$url .= '.jpg';
break;
}
}
move_uploaded_file($pic['tmp_name'], 'assets/images/perfil/' . $url);
}
$sql = "UPDATE usuarios SET foto = '$url', senha = '$senha', email = '$email', nome = '$nome', sobrenome = '$sobrenome', aniversario = '$aniversario', bio = '$bio' WHERE id = '$id'";
$this->db->query($sql);
}
-