Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Enviando 2 campos com imagem Avatar e Capa

Olá! Estou tentando fazer um perfil de usuário, consegui enviar o avatar. Porém eu queria enviar a capa tb mas não consigo, deixei criado 2 colunas na tabela. Uma pro Avatar e outra pra Capa de Perfil

Imagem: http://prntscr.com/fzuij5

<?php

        $idusuario = $_GET["idusuario"];

        $con = mysqli_connect("localhost","root","","banco");
        $sql = "select * from user where idusuario =".$idusuario;
        $result = mysqli_query($con, $sql);

        $row = mysqli_fetch_array($result);

        ?>

      <div class="container">

      <h1>Atualizar Usuário</h1>
      <form action="atualizar-usuario.php" method="post" enctype="multipart/form-data">
<input value="<?php echo $row["idusuario"];?>" type="hidden" name="idusuario">
<div class="input-field">
<input value="<?php echo $row["nick"];?>" type="text" class="validate" name="nick" id="nick" required pattern="[A-z À-ü]{3,50}">
<label for="nick" data-error="Campo Inválido">Nome</label>
</div>

<div class="input-field">
    <input value="<?php echo $row["email"];?>" type="email" class="validate" name="email" id="email" required>
<label for="email" data-error="E-mail Inválido">E-mail</label>
</div>

<img src="img/<?php echo $row["avatar"]; ?>" alt="">
<div class="file-field input-field">
    <div class="btn">
        <span>File</span>
        <input type="file" name="avatar" required>
    </div>
    <div class="file-path-wrapper">
        <input class="file-path validate" type="text">
    </div>
</div>


</br>
<input type="submit" value="Cadastrar" class="btn">
      </form>
      </div>
      </div>
  <?php
        $idusuario = $_POST["idusuario"];
        $nick = $_POST["nick"];
        $email = $_POST["email"];

        $avatar = $_FILES["avatar"];

        $ext = explode(".", $avatar["name"]); //[foto][ferias][jpg]
        $ext = array_reverse($ext); //[jpg][ferias][foto]
        $ext = $ext[0];


        if($ext != "jpg" && $ext != "gif" && $ext != "png"){
            echo "Extensão inválida!";
        }elseif($avatar["size"] > 500*1024){ //500kb (1kb = 1024 bytes)
            echo "Tamanho máximo excedido (500kb)";
        }else{

            $nomeavatar = date("YmdHis").rand(1000, 9999).".".$ext;
            include_once 'conexao.php';

        $sql = "update user set nick = '".$nick."', email = '".$email."', avatar = '".$nomeavatar."' where idusuario = ".$idusuario;


        if(mysqli_query($con, $sql)) {

            $msg = "Atualizado com Sucesso!";
            move_uploaded_file($avatar["tmp_name"],"img/".$nomeavatar);
        } else {
            $msg = "Erro ao atualizar!";
        }
        mysqli_close($con);
}
        ?>

        <script> alert('<?php echo $msg;?>');
            location.href="exercicio.php";
        </script>
3 respostas

Olá, Charles.

Achei bacana o layout da página. No primeiro e no segundo arquivo, eu não achei o nada sobre a capa. Me parece que está faltando o <input> da capa e variável que irá guardo o que virá do <input>.

solução!

Consegui resolver isso. Era no gravação. Agr estou tentando de algum jeito colocar um Crop no atualizar dados de usuário. Na hora de cortar a imagem envia-la pro banco e pasta.

http://hongkhanh.github.io/cropbox/

Legal. Muito bom Charles . Se aparecer mais dúvidas só abrir aí no forum.