Php 从用户名文件夹获取图像
您好,我正在开发一个网站,在注册表上,需要用户名密码和图像上传到数据库中,为每个用户创建一个专用文件夹。现在我要做的是在用户登录时获取图像,显然应该显示的图像将是注册时上载的用户的图像。是否可以在没有id但使用用户名文件夹的情况下执行此操作? 这是我上传图像的方式Php 从用户名文件夹获取图像,php,mysql,Php,Mysql,您好,我正在开发一个网站,在注册表上,需要用户名密码和图像上传到数据库中,为每个用户创建一个专用文件夹。现在我要做的是在用户登录时获取图像,显然应该显示的图像将是注册时上载的用户的图像。是否可以在没有id但使用用户名文件夹的情况下执行此操作? 这是我上传图像的方式 $username = $_POST ['username']; $password = $_POST ['password']; $email = $_POST ['email']; $image = $_FILES['image
$username = $_POST ['username'];
$password = $_POST ['password'];
$email = $_POST ['email'];
$image = $_FILES['image']['name'];
$image_tmp = $_FILES['image']['tmp_name'];
$s = " select * from usertable where username = '$username'";
$result = mysqli_query($con, $s);
$num = mysqli_num_rows($result);
if($num == 1){
echo "Username Already Taken";
}else{
mkdir("Images/$username", 0777, true);
move_uploaded_file($image_tmp,"Images/$username/$image");
$reg= "insert into usertable(username, password, email,imagename) values ('$username', '$password', '$email','$image')";
mysqli_query($con, $reg);
echo "registration successfull";
}
登录表单
$username = $_POST ['username'];
$password = $_POST ['password'];
$s = " select * from usertable where username = '$username' && password = '$password'";
$dirname = "images/$username";
$images = glob($dirname."*.png");
$result = mysqli_query($con, $s);
$num = mysqli_num_rows($result);
if($num == 1){
$_SESSION['images']= $images;
$_SESSION['username']= $username;
header('location:home.php');
}else{
header('location:index.php');
}
主页
<title>Welcome</title>
</head>
<body >
<a href ="logout.php"> Log Out </a>
<img src="<?php echo $_SESSION['images']; ?>"/>
<h1>Welcome <?php echo $_SESSION['username']; ?></h1>
欢迎您
"/>
欢迎
因此,当用户登录时,从数据库中读取用户名?是的,这是可能的(如果您的用户名没有id…),永远不要在数据库中存储普通密码。使用密码散列()
和密码验证()
时,您在那里有一个巨大的安全漏洞(除了已经存在的sql注入):我可以上传一个php脚本并执行它!(你给了它0777,不要检查mimetype/extention/anything)@ WeRekk OS在文件系统中起到了作用,例如,基于*NIX的系统认为CAP是不同的,即“代码>图像和$dirname=“Images/$username”;
因此,在给出确切的解决方案之前,我询问了您。