IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> LAMP搭建后的第一个网站 -> 正文阅读

[大数据]LAMP搭建后的第一个网站

前言

按照我之前教程一套搭建好LAMP服务器在写入中文时会出现一个问题就是乱码。现在就一起来看看这是什么情况,一起解决这个问题。当然这也将是你的第一网站。

MySQL 部分

1、首先在mysql命令控制台新建数据库

MariaDB [(none)]> create database test;
Query OK, 1 row affected (0.01 sec)

MariaDB [(none)]> use test;
Database changed
MariaDB [test]> create table test_table(
    ->      id int(5) auto_increment primary key,
    ->      user char(10),
    ->      pass char(10),
    ->     text char(10),
    ->     sex char(1),
    ->     connect char(10));
Query OK, 0 rows affected (0.00 sec)

MariaDB [test]> 

HTML和PHP部分

2、登录注册代码
index.html

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>登录</title>
</head>
<body>
    <div>
        <b>登录</b>
        <form action="login.php" method="post">
            <p><span>用户名:</span><input type="text" name="user" required="" /></p>
            <p><span>密码:</span><input type="password" name="pass"/ required=""></p>
            <p><input type="reset" name=""/> <input type="submit" name=""/></p>
        </form>
        <a href="register.html">新用户注册</a>
    </div>
</body>
</html>

register.html

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>注册</title>
</head>
<body>
    <div>
        <b>注册</b>
        <form action="register.php" method="post">
            <p><span>用户名:</span><input type="text" name="user" required=""/></p>
            <p><span>密码:</span><input type="password" name="pass" required=""/></p>
            <p><span>性别:</span>
            <input type="radio" name="sex" checked="checked" value="男"/><input type="radio"  name="sex" value="女"/></p>
            <p><span>联系:</span><input type="text" name="connect" value="" required=""/></p>
            <p><span>文本:</span><input type="text" name="text" required=""/></p>
 
            <p>
                <input type="reset" name=""/> <input type="submit" name=""/>
            </p>
        </form>
        <a href="index.html">已注册</a>
    </div>
</body>
</html>

login.php

<meta charset="utf-8">
<?php
    $conn = mysqli_connect('localhost','root','','test') or die('数据库连接失败');
    $conn->query("SET NAMES 'UTF8'");
 
    $user = $_POST['user'];
    $pass = $_POST['pass'];
    $sql="SELECT * FROM test_table where user='$user' and pass='$pass'"; 
 
    $rs=$conn->query($sql);
    $row = $rs-> fetch_array(); 
    // var_dump($row);
 
    if($row['user']==$user&& $row['pass']==$pass){
        echo $row['user']."登陆成功!";
    }
    else{
        echo"登录失败,请重新登录!";
    }
?>

register.php

<?php
    header ( "Content-type:text/html;charset=utf-8" );
    $conn = mysqli_connect('localhost','root','','test') or die('数据库连接失败');
    $conn->query("SET NAMES 'UTF8'");
 
    $user = $_POST['user'];
    $pass = $_POST['pass'];
    $sex = $_POST['sex'];
    $connect = $_POST['connect'];
    $text = $_POST['text'];
 
    $sql = "INSERT INTO test_table VALUES ('','{$user}' ,'{$pass}','{$text}','{$sex}' ,'{$connect}' )";
 
    $result = $conn->query($sql);
            
    // if ($result > 0) {
    //     echo "<script> alert('注册成功,返回登录页面');
    //                     window.location='index.html'; //跳转到注册页
    //          </script>";
    // } else {
    //     echo "<script> alert('注册失败,返回注册页面');
    //                     window.history.back(); //返回上一页
    //          </script>";
    // }
    echo("注册成功!!!<br/><a href='index.html'>点击登录</a>")
?>

3.测试网站
将写好的四个文件一起放入/var/www/html下,如图所示
在这里插入图片描述

然后再浏览器中输入公网Ip/index.html 就可以访问到你的网站了,我这里是配置了域名的,所以只需要把IP替换成域名即可,如图所示
我这里是配置了域名的,所以至于要把IP替换成域名即可
点击新用户注册,点击提交,如图所示。

在这里插入图片描述
注册成功后,我们再回过头查看数据库中tes_table表中的数据插入成功没有。我们会发现一个问题。只要是插入中文都会成乱码。
在这里插入图片描述
怎么解决这个问题,我们查看数据库字符集发现

show variables like 'character%';

在这里插入图片描述
问题就出现在| character_set_database | latin1 | h和| character_set_server | latin1 |这里,接下来我们需要在/etc目录下找到my.cnf文件,用记事本打开。
一、在[client]字段里加入default-character-set=utf8,如下:
没有该字段就手动添加

[client]
default-character-set=utf8

二、在[mysqld]字段里加入character-set-server=utf8,如下:

datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
character-set-server=utf8

三、在[mysql]字段里加入default-character-set=utf8,如下:

[mysql]
no-auto-rehash
default-character-set=utf8

四、修改完成后,systemctl restart mariadb重启mariadb服务就生效。注意:[mysqld]字段与[mysql]字段是有区别的。这点在网上没人反馈过。
使用SHOW VARIABLES LIKE ‘character%’;查看,发现数据库编码全已改成utf8。
在这里插入图片描述
4、删除之前所建的库和表,在重新创建test库和test_table表,重新在网页上进行用户注册操作。
在这里插入图片描述
在这里插入图片描述
到这里,我们的第一个网站写完了。以后也可将要运行的HTML文件和PHP文件放/var/www/html根目录下,就可以实现远程访问了。

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2021-10-18 17:27:40  更:2021-10-18 17:29:56 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 2:42:12-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码