PHP实现数据库注册并上传用户头像 (数据库注册头像上传php)

引言

Web应用的注册功能是开发中基础的功能,而对于大多数Web应用,用户头像也是不可或缺的一部分。因此,本文介绍如何使用PHP实现Web应用的注册功能,并允许用户上传头像。

之一部分:数据库连接与创建

在使用PHP实现Web应用注册功能之前,我们需要创建一个数据库,并且连接到该数据库。我们可以通过以下步骤创建和连接到数据库。

1.创建MySQL数据库

我们需要在MySQL中创建一个新数据库。我们可以使用以下命令创建一个名为`userdb`的数据库。

“`

CREATE DATABASE userdb;

“`

2.连接到数据库

一旦我们创建了数据库,我们需要在PHP中连接到该数据库。我们可以使用以下代码按照自己的需要修改用户名,密码、主机名和数据库名。

“`

//数据库连接信息

$servername = “localhost”;

$username = “username”;

$password = “password”;

$dbname = “userdb”;

//连接数据库

$conn = new mysqli($servername, $username, $password, $dbname);

//检测连接

if ($conn->connect_error) {

die(“连接失败: ” . $conn->connect_error);

}

?>

“`

第二部分:Web应用注册功能实现

1.创建注册页面

我们需要创建一个注册页面,允许用户输入所需信息,例如用户名、电子邮件和密码。我们可以使用以下HTML代码创建一个基本的表单。

“`

注册

“`

2.处理注册信息

一旦用户输入了所有必要的数据并点击了注册按钮,我们需要以某种方式处理这些信息。我们可以使用以下PHP代码来处理注册信息。

“`

//检查是否提交表单数据

if ($_SERVER[“REQUEST_METHOD”] == “POST”) {

//获取输入数据

$username = $_POST[“username”];

$eml = $_POST[“eml”];

$password = $_POST[“password”];

//密码加密

$hashed_password = password_hash($password, PASSWORD_DEFAULT);

//写入用户信息到数据库

$sql = “INSERT INTO users (username, eml, password)

VALUES (‘$username’, ‘$eml’, ‘$hashed_password’)”;

if ($conn->query($sql) === TRUE) {

echo “用户创建成功”;

} else {

echo “错误: ” . $sql . “
” . $conn->error;

}

}

?>

“`

3.显示错误消息

如果用户输入的信息有误,我们需要显示错误消息。我们可以使用以下PHP代码一旦出现错误即返回到之前的注册页面并显示错误信息。

“`

//检查是否提交表单数据

if ($_SERVER[“REQUEST_METHOD”] == “POST”) {

//获取输入数据

$username = $_POST[“username”];

$eml = $_POST[“eml”];

$password = $_POST[“password”];

//密码加密

$hashed_password = password_hash($password, PASSWORD_DEFAULT);

//写入用户信息到数据库

$sql = “INSERT INTO users (username, eml, password)

VALUES (‘$username’, ‘$eml’, ‘$hashed_password’)”;

if ($conn->query($sql) === TRUE) {

echo “用户创建成功”;

} else {

echo “错误: ” . $sql . “
” . $conn->error;

}

}

?>

if(isset($errors) && (count($errors) > 0)){

echo “

“;

foreach ($errors as $error){

echo $error.”
“;

}

echo “

“;

}

?>

“`

4.上传用户头像

我们可以使用以下PHP代码来上传用户头像,该代码将用户头像存储在服务器上。

“`

//上传头像

$target_dir = “uploads/”;

$target_file = $target_dir . basename($_FILES[“avatar”][“name”]);

$uploadOk = 1;

$imageFileType = strtolower(pathinfo($target_file,PATHINFO_EXTENSION));

// Check if image file is a actual image or fake image

if(isset($_POST[“submit”])) {

$check = getimagesize($_FILES[“avatar”][“tmp_name”]);

if($check !== false) {

echo “File is an image – ” . $check[“mime”] . “.”;

$uploadOk = 1;

} else {

echo “File is not an image.”;

$uploadOk = 0;

}

}

// Check if file already exists

if (file_exists($target_file)) {

echo “Sorry, file already exists.”;

$uploadOk = 0;

}

// Check file size

if ($_FILES[“avatar”][“size”] > 500000) {

echo “Sorry, your file is too large.”;

$uploadOk = 0;

}

// Allow certn file formats

if($imageFileType != “jpg” && $imageFileType != “png” && $imageFileType != “jpeg”

&& $imageFileType != “gif” ) {

echo “Sorry, only JPG, JPEG, PNG & GIF files are allowed.”;

$uploadOk = 0;

}

// Check if $uploadOk is set to 0 by an error

if ($uploadOk == 0) {

echo “Sorry, your file was not uploaded.”;

// if everything is ok, try to upload file

} else {

if (move_uploaded_file($_FILES[“avatar”][“tmp_name”], $target_file)) {

echo “The file “. basename( $_FILES[“avatar”][“name”]). ” has been uploaded.”;

} else {

echo “Sorry, there was an error uploading your file.”;

}

}

?>

“`

第三部分:Web应用注册功能测试

1.测试数据库连接

我们可以使用以下PHP代码测试是否连接到了数据库。

“`

//数据库连接信息

$servername = “localhost”;

$username = “username”;

$password = “password”;

$dbname = “userdb”;

//连接数据库

$conn = new mysqli($servername, $username, $password, $dbname);

//检测连接

if ($conn->connect_error) {

die(“连接失败: ” . $conn->connect_error);

}

echo “连接成功”;

?>

“`

2.测试注册页面

在浏览器中访问注册页面并输入所需的信息,点击注册按钮。如果用户信息有效且成功写入数据库,应该会显示“用户创建成功”。

3.测试上传用户头像

我们可以在注册页面中添加文件选项来上传用户头像。在输入所有必要的信息并选择一张图片后,点击注册按钮。如果上传成功,您应该会收到一条消息表示“文件已上传”。

结论

在本文中,我们介绍了如何使用PHP实现Web应用的注册功能,并允许用户上传头像。我们了解了一些创建数据库、写入数据和上传文件的基本命令。当然,根据需求,我们也可以对其进行更改和扩展。

相关问题拓展阅读:

怎样用php实现上传图片到数据库

其实很简盯瞎单的,三个步骤,我找了一个资料给你,很详细埋笑,你看弯则含下应该可以明白!

php实现上传图片保存到数据库的方法。具体分析如下:

php 上传图片,一般都使用move_uploaded_file方法保存在服务器上。但如果一个网站有多台服务器,就需要把图片发布到所有的服务器上才能正常使用(使用图片服务器的除外)

如果把图片数据保存到数据库中,多台服务器间可以实现文件共享,节省空间。

首先图片文件是二进制数据,所以需要把二进制数据保存在mysql数据库。

mysql数据库提供了BLOB类兄明型用于存储大量数据,BLOB是一个二进制对象,能容纳不同大小的数据。

BLOB类型有以下四种,除存储的更大信息量不同外,其他都是一样的。可根据需要使用不同的类型。

TinyBlob更大 255B

Blob更大 65K

MediumBlob  更大 16M

LongBlob      更大 4G

数据表photo,用于保存图片数据,结构如羡缓告下:

CREATE TABLE `photo` (  

  `id` int(10) unsigned NOT NULL auto_increment,  

  `type` varchar(100) NOT NULL,  

  `binarydata` mediumblob NOT NULL,  

  PRIMARY KEY  (`id`)  

) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;

upload_image_todb.php代码如下:

  

  

  

   

    

   upload image to db demo   

   

  

   

    

  图片:

  

  

  

    

  

<img src="upload_image_todb.php?action=show&id='.$val.’&t=’.time().'” align=”center”>

‘;  

    }  

?>  

  

  

程序运行截图和数据库截图:

先将你上传图片的路径直接存到upload文件夹中,在由upload文件答拿夹中直接传侍举轮入数据库老信,再输出就是直接的图片形式。

alert(“图片上传成功”);window.location=”/photolist.htm”;’);

}

}

?>

你该不会在设置上传的表单时出现问题了吧。

数据库注册头像上传php的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于数据库注册头像上传php,PHP实现数据库注册并上传用户头像,怎样用php实现上传图片到数据库的信息别忘了在本站进行查找喔。


数据运维技术 » PHP实现数据库注册并上传用户头像 (数据库注册头像上传php)