簡體   English   中英

如何將圖像上傳到登錄用戶並獲取用戶圖像PHP MYSQL

[英]How to Upload images to a Logged In User and Get User images PHP MYSQL

我想上傳獲取 登錄用戶的數據,例如FacebookTwitter 我的代碼在這里執行的是,它檢索登錄后不同用戶發布的所有圖像。 請幫助我。 我想要的是,如果用戶已登錄,則配置文件頁面應僅獲取已登錄用戶的數據,而不是所有用戶數據,以及如何在mysql中為用戶插入圖像值。

這是我的SQL Tabeles用戶和帖子

CREATE TABLE `user` (
  `id` int(11) NOT NULL,
  `first_name` varchar(50) NOT NULL,
  `username` varchar(50) NOT NULL,
  `email` varchar(100) NOT NULL,
  `password` varchar(100) NOT NULL,
  `hash` varchar(32) NOT NULL,
  `active` tinyint(1) NOT NULL DEFAULT '0',
  `image` varchar(200) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1 ROW_FORMAT=COMPACT;

帖子SQL

  CREATE TABLE `posts` (
  `id` int(11) NOT NULL,
  `userid` int(11) NOT NULL,
  `image` varchar(255) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1 ROW_FORMAT=COMPACT;

這是Profile.php中的 php代碼

    <?php 
    session_start();
    include 'ssql.php';
    require 'db.php';

    // Check if user is logged in using the session variable
    if ( $_SESSION['logged_in'] != 1 ) {
      $_SESSION['message'] = "You must log in before viewing your profile page!";
      header("location: error.php");    
    }
    else {
        // Makes it easier to read
        $first_name = $_SESSION['first_name'];
        $username = $_SESSION['username'];
        $email = $_SESSION['email'];
        $active = $_SESSION['active'];

    }
    ?>
<!DOCTYPE html>
<html>
<head>

<meta name="viewport" width="device-width">

<meta name="viewport" content="width=device-width, initial-scale=1.0">

<link rel="stylesheet" type="text/css" href="fcb.css" />
<link rel="stylesheet" type="text/css" href="css/font-awesome.css" />

<script type="text/javascript" src="http://code.jquery.com/jquery-latest.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
var flag = 0;   
$.ajax({
type: "GET",
url: "get_data.php",
data: {
'offset':0,
'limit' :10
},
success: function(data){
$('#post1').html(data);


flag += 10
}

});

$(window).scroll(function() {

if($(window).scrollTop() >= $(document).height() - $(window).height()) {    
$.ajax({
type: "GET",
url: "get_data.php",
data: {
'offset': flag,
'limit' : 10
},
success: function (data) {
$('#post1').append(data);

flag += 10;
}

}); 

}
});
});
</script>    
<body>
<div id="post1">
</div>
</body>

這是數據庫db.php

<?php
/* Database connection settings */
$host = 'localhost';
$user = 'root';
$pass = '';
$db = 'accounts';
$mysqli = new mysqli($host,$user,$pass,$db) or die($mysqli->error);

這是上傳帖子ssql.php的代碼

<?php 

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


header('Location:profile.php'); 

$target = "images/".basename($_FILES['image']['name']);
$db = mysqli_connect("localhost", "root", "", "accounts");
$image = $_FILES['image']['name'];
$data = mysqli_query($db, "SELECT `id` FROM `user`");
$sql = "insert into posts (userid, image) values ('$userid', '$image')";
mysqli_query($db, $sql);

if (move_uploaded_file($_FILES['image']['tmp_name'], $target)) { 

} else {

}

}



?> 

這是get_data.php來檢索圖像

<?php

session_start();
include_once("db.php");
include_once("ssql.php");

if(isset($_GET['offset']) && isset($_GET['limit'])){

$limit = $_GET['limit'];
$offset = $_GET['offset'];  
$db = mysqli_connect('localhost', 'root', '', 'accounts');
$data = mysqli_query($db, "SELECT `image` FROM `posts` ORDER BY `id` DESC LIMIT {$limit} OFFSET {$offset} ");
while($row = mysqli_fetch_array($data)) {
    echo "<div id='post1'>";
    echo "<img src='images/".$row['image']."' >";
    echo "</div>";
}
}
?>

請幫我。 我想要的是,如果用戶已登錄,則配置文件頁面應僅獲取已登錄用戶的數據,而不是所有用戶數據,以及如何在mysql中為用戶插入圖像值。

您需要在查詢中添加用戶ID的條件,如下所示:

$data = mysqli_query($db, "SELECT `image` FROM `posts` WHERE userid={$loggedInUserId} ORDER BY `id` DESC LIMIT {$limit} OFFSET {$offset} ");

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM