![](/img/trans.png)
[英]How to restrict user to upload only three images in a month using PHP/MySQL
[英]How to Upload images to a Logged In User and Get User images PHP MYSQL
我想上傳並獲取 登錄用戶的數據,例如Facebook和Twitter 。 我的代碼在這里執行的是,它檢索登錄后不同用戶發布的所有圖像。 請幫助我。 我想要的是,如果用戶已登錄,則配置文件頁面應僅獲取已登錄用戶的數據,而不是所有用戶數據,以及如何在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.