Php “如何修复错误”;“数据库/文件和会话”;?
我的代码中有一个错误。问题是,文件不是插入到数据库表中,而是插入到位置文件夹中。我发现了一个错误,就是会话没有从第一页获取用户id,所以,在另一页上也发生了同样的事情。你们有没有人给我一些建议或帮助我轻松找到错误(删除、更新或其他)以下是代码: 第1页-注册表单页(.php)Php “如何修复错误”;“数据库/文件和会话”;?,php,session,mysqli,Php,Session,Mysqli,我的代码中有一个错误。问题是,文件不是插入到数据库表中,而是插入到位置文件夹中。我发现了一个错误,就是会话没有从第一页获取用户id,所以,在另一页上也发生了同样的事情。你们有没有人给我一些建议或帮助我轻松找到错误(删除、更新或其他)以下是代码: 第1页-注册表单页(.php) 检查下面的代码 <?php session_start(); include "dbConnection.inc"; error_reporting(1); if(isset($_
检查下面的代码
<?php
session_start();
include "dbConnection.inc";
error_reporting(1);
if(isset($_SESSION['tempfbuser']))
{
$user=$_SESSION['tempfbuser'];
$que1="select * from users where Email='$user' ";
$rec="$que1->fetch_array();";
$userid=$rec[0];
if(isset($_POST['file1']) && ($_POST['file1']=='Upload'))
{
$path = "twigp_users/".$user."/Profile/";
$path2 = "twigp_users/".$user."/Post/";
$path3 = "twigp_users/".$user."/Cover/";
mkdir($path, 0, true);
mkdir($path2, 0, true);
mkdir($path3, 0, true);
$img_name=$_FILES['pro_file']['name'];
$img_tmp_name=$_FILES['pro_file']['tmp_name'];
$prod_img_path=$img_name;
move_uploaded_file($img_tmp_name,"twigp_users/".$user."/Profile/".$prod_img_path);
$query="INSERT INTO `user_profile_pic` (`profile_id`, `user_id`, `image`) VALUES (NULL, '$userid', '$img_name');";
$cmd=$conn->query($query);
}
if(isset($_POST['file2']) && ($_POST['file2']=='Upload'))
{
$path = "twigp_users/".$user."/Profile/";
$path2 = "twigp_users/".$user."/Post/";
$path3 = "twigp_users/".$user."/Cover/";
mkdir($path, 0, true);
mkdir($path2, 0, true);
mkdir($path3, 0, true);
$img_name=$_FILES['cvr_file']['name'];
$img_tmp_name=$_FILES['cvr_file']['tmp_name'];
$prod_img_path=$img_name;
move_uploaded_file($img_tmp_name,"twigp_users/".$user."/Cover/".$prod_img_path);
$query="INSERT INTO `user_cover_pic` (`cover_id`, `user_id`, `image`) VALUES (NULL, $userid, $img_name);";
$cmd=$conn->query($query);
}
}
?>
你在哪里写文件上传代码?警告!您完全可以接受SQL注入攻击!你应该使用参数化的,而不是在你的查询中直接使用完全未被替换的用户数据。永远不要用纯文本存储密码!您应该始终使用哈希值对密码进行哈希,并且只存储哈希值。然后您可以使用验证密码是否符合哈希。先生,下面定义了(文件上载代码)请滚动$rec=“$que1->fetch_array();”代码>不会做你想做的事。将其更改为$rec=$que1->fetch_array()代码>(不带引号)。您不能在双引号字符串中调用方法/函数。一个好的答案包括一个解释,包括问题是什么、您做了什么更改以及它解决问题的原因。我还发现至少还有一个问题,行$rec=“$que1->fetch_array();”
@MagnusEriksson感谢您的支持和帮助。$rec=“$que1->fetch_array();”代码>更改为$rec=$que1->fetch_array()代码>