首页 > 解决方案 > 试图让用户添加个人资料图片php

问题描述

我希望登录用户添加个人资料图片。如果用户还没有添加图片,则应显示默认图片。

这是我尝试过的代码。默认图像未显示,而是显示数据库中的用户数量。我知道我应该使用准备好的语句,但不知道如何添加文件。

<?php
session_start();


 $db = mysqli_connect('localhost', 'root', '', 'pt');

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

 $file = $_FILES['file'];
 $fileName = $_FILES['file']['name'];
 $fileTmp = $_FILES['file']['tmp_name'];
 $fileSize = $_FILES['file']['size'];
 $filesError = $_FILES['file']['error'];
 $fileType = $_FILES['file']['type'];

 $fileExt = explode('.',$_FILES['file']['name']);
 $fileActualExt = strtolower(end($fileExt));
 $allowed = array('jpg','jpeg','png','pdf');
 if(in_array($fileActualExt,$allowed)){
    if($_FILES['file']['error'] ===  0){
        if($_FILES['file']['size'] < 1000000){
            $fileNameNew = 
 "profile".$_SESSION['username'].".".$fileActualExt;
            $fileDestination = 'uploads/'.$fileNameNew;
            move_uploaded_file($_FILES['file'] 
  ['tmp_name'],$fileDestination);
            $sql = "UPDATE users SET status = 0 WHERE 
  username='$_SESSION[username]';";
            $result = mysqli_query($db, $sql);
            header("Location: pic.php");
        }else{
            echo "Your file is too big!";
        }
    }else{
        echo "You have an error uploading your file!";
    }
   }else{
    echo "You cannot upload files of this type!";
   }

  }
  ?>


 <?php
    $sql = "SELECT * from users";
    $result = mysqli_query($db, $sql);
    if(mysqli_num_rows($result)> 0){
        while ($row = mysqli_fetch_assoc($result)){

            $sqlimg = "SELECT * FROM users WHERE 
   username='$_SESSION[username]'";
            $resultimg=mysqli_query($db,$sqlimg);
            while($rowimg = mysqli_fetch_assoc($resultimg)){
                echo "<div class=container>";
                    if($rowimg['status'] == 0){
                        echo "<img src= 
   'uploads/profile".$_SESSION['username'].".jpg'>";
                    }else{

                        echo "<img src='uploads/male.jpg'>";
                    }
                    echo "<p>".$_SESSION['username']."</p>";
                echo "</div>";
            }
        }
    }else{
        echo "There are no users yet!";
    }

    if(isset($_SESSION['username'])){


        echo "<form action='pic.php' 
  method='POST'enctype='mutlipart/form- 
   data'>
        <input type='file' name='file'>
        <button type='submit' name='upload_submit'>Upload</button> 
  </form>";
    }else {
        echo "You are not logged in!";
    }
?>

标签: phpmysql

解决方案


推荐阅读