Php 从照片上载会话创建用户\u id?

Php 从照片上载会话创建用户\u id?,php,mysql,image,upload,Php,Mysql,Image,Upload,我使用这个php照片上传脚本将图像存储到数据库中 我的数据库有三列:“用户id”“name”“image” 一切都很好。图像已上载,但目前它不存储用户id,我想尝试创建它,以便当用户点击upload时,它使用其会话id存储其用户id 我尝试过将这两个函数添加到原始mysql查询中: (用户id、图像、名称)“$\u会话['user\u id']。”, <html> <head> <title>Upload Image</title

我使用这个php照片上传脚本将图像存储到数据库中

我的数据库有三列:“用户id”“name”“image”

一切都很好。图像已上载,但目前它不存储用户id,我想尝试创建它,以便当用户点击upload时,它使用其会话id存储其用户id

我尝试过将这两个函数添加到原始mysql查询中:

(用户id、图像、名称)
“$\u会话['user\u id']。”,

<html>
    <head>
        <title>Upload Image</title>
    </head>
    <body>    
        <form method="post" enctype="multipart/form-data">
            <input type="file" name="image">
            <input type="submit" value="Upload">
        </form>    
<?php        
    include("includes/_config/connection.php");

    // file properties
    $file = $_FILES['image']['tmp_name'];

    if (!isset($file))
        echo "";    
    else {      
        $image = addslashes (file_get_contents ($_FILES['image']['tmp_name']));
        $image_name = addslashes ($_FILES['image']['name']);
        $image_size = getimagesize($_FILES['image']['tmp_name']);

        if ($image_size == FALSE)
            echo "That's not an image.";        
        else {      
            if (!$insert = mysql_query ("INSERT INTO  ptb_img_uploads (user_id, image, name) VALUES ('', '".$_SESSION['user_id']."', '$image_name','$image')"))    
                echo "There was a problem sending the image.";      
            else    
                echo "Your image was successfully uploaded.";    
        }    
    }    
?>    
    </body>
</html>

上传图像

您忘记启动PHP会话\ u start(),它启动会话函数。您还必须在某处设置$\u会话['user\u id']

更改此代码:

<?php
session_start();
?>
<html>
<head>
    <title>Upload Image</title>
</head>
<body>

<form method="post" enctype="multipart/form-data">
    <input type="file" name="image">
    <input type="submit" value="Upload">
</form>

<?php
include("includes/_config/connection.php");

// file properties
$file = $_FILES ['image'] ['tmp_name'];

if (!isset($file))
{
    echo "";
}
else
{
    $image = addslashes (file_get_contents ($_FILES ['image']['tmp_name']));
    $image_name = addslashes ($_FILES['image']['name']);
    $image_size = getimagesize($_FILES['image']['tmp_name']);

    if($image_size == FALSE)
    {
        echo "That's not an image.";
    }
    else
    {
        if(!$insert = mysql_query ("INSERT INTO  ptb_img_uploads (user_id, image, name) VALUES ('".$_SESSION['user_id']."', '$image_name','$image')"))
        {
            echo "There was a problem sending the image.";
        }
        else
        {
            echo "Your image was successfully uploaded.";
        }
    }

}
?>
</body>
</html>
记住在目录中创建一个名为“tmp”的文件夹,使用chmod 777

如果要测试会话是否工作,请执行以下操作:

<?php
session_start();

$_SESSION['test_session']="this is a test session";

var_dump($_SESSION);
?>


希望有帮助

您必须首先启动会话。会话_start();。在那之后插入$insert;然后将查询粘贴到mysql中并检查错误。

如果您回显
$\u SESSION['user\u id']
它有什么值?当我这样做时,它似乎没有回显任何内容首先检查他的代码的列名!然后看看他的价值观。他为user_id指定了NULL“”,并将user_id、image和name对应的三个值替换为四个值!我想你们可以看到他和我代码的不同!
if(!$insert = mysql_query ("INSERT INTO  ptb_img_uploads (user_id, image, name) VALUES ('".$_SESSION['user_id']."', '$image', '$image_name')"))
if(!$insert = mysql_query ("INSERT INTO  ptb_img_uploads (user_id, image, name) VALUES ('".$_SESSION['user_id']."', '$image', '$image_name')"))