>  기사  >  백엔드 개발  >  PHP는 데이터베이스에 양식 콘텐츠 제출을 구현합니다.

PHP는 데이터베이스에 양식 콘텐츠 제출을 구현합니다.

王林
王林앞으로
2020-01-25 21:46:484057검색

PHP는 데이터베이스에 양식 콘텐츠 제출을 구현합니다.

먼저 php를 사용하여 간단한 데이터베이스와 테이블을 만들고, phpMyAdmin을 사용하여 MySql 데이터베이스와 테이블을 만듭니다. 예를 들어 다음과 같이 테스트 데이터베이스를 생성합니다.

<?php
// 创建连接
$conn = new mysqli("localhost", "uesename", "password");
// 检测连接
if ($conn->connect_error)
{ 
 die("连接失败: " . $conn->connect_error);}
 // 创建数据库
 $sql = "CREATE DATABASE test";
  if ($conn->query($sql) === TRUE)
  { 
  echo "数据库创建成功";
  } else { 
  echo "Error creating database: " . $conn->error;
  }
 $conn->close();
?>

그런 다음 CREATE TABLE 문을 사용하여 MySQL 테이블을 생성하고 다음 필드를 설정합니다.

(관련 학습 영상 튜토리얼 공유 : php 영상 튜토리얼)

id : 고유하며 타입은 int이고 기본키가 선택되어 있습니다.

uesrname: 사용자 이름, 유형은 varchar, 길이는 30입니다.

password: 비밀번호, 유형은 varchar, 길이는 30입니다.

confirm: 비밀번호 확인, 유형은 varchar, 길이는 30입니다.

email: 이메일, 유형은 varchar, 길이는 30입니다.

그런 다음 SQL 문을 사용하여 데이터베이스 테이블을 생성합니다. 코드는 다음과 같습니다.

<?php
 // 创建连接
 $conn = new mysqli("localhost", "uesename", "password","test");
 // 检测连接
 if ($conn->connect_error)
 { 
 die("连接失败: " . $conn->connect_error);
 }
 // 使用 sql 创建数据表
 $sql = "CREATE TABLE login (
 id INT(10) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
 username VARCHAR(30) NOT NULL,
 password VARCHAR(30) NOT NULL,
 confirm VARCHAR(30) NOT NULL,
 email VARCHAR(30) NOT NULL,
 )ENGINE=InnoDB DEFAULT CHARSET=utf8 ";
 if ($conn->query($sql) === TRUE)
 { 
 echo "Table MyGuests created successfully";
 } else { 
 echo "创建数据表错误: " . $conn->error;
 }
 $conn->close();
?>

위에서 데이터베이스와 테이블을 생성했으며 이제 양식 등록을 위한 간단한 프런트 엔드 페이지를 생성하겠습니다. 매우 간단합니다. 사용자 이름, 비밀번호, 비밀번호 확인, 등록된 이메일 등 간단한 텍스트 상자가 여러 개 있습니다. 코드는 다음과 같습니다:

<!DOCTYPE html>
<html>
<head>
 <title>用户注册页面</title>
 <meta charset="UTF-8"/>
 <style type="text/css">
 *{margin:0px;padding:0px;}
 ul{
  width:400px;
  list-style:none;
  margin:50px auto;
 }
 li{
  padding:12px;
  position:relative;
 }
 label{
  width:80px;
  display:inline-block;
  float:left;
  line-height:30px;
 }
 input[type=&#39;text&#39;],input[type=&#39;password&#39;]{
  height:30px;
 }
 img{
  margin-left:10px;
 }
 input[type="submit"]{
  margin-left:80px;
  padding:5px 10px;
 }
 </style>
</head>
<body>
<form action="zhuce.php" method="post">
 <ul>
 <li>
  <label>用户名:</label>
  <input type="text" name="username" placeholder="请输入注册账号"/>
 </li>
 <li>
  <label>密 码:</label>
  <input type="password" name="password" placeholder="请输入密码" />
 </li>
 <li>
  <label>确认密码:</label>
  <input type="password" name="confirm" placeholder="请再次输入密码" />
 </li>
 <li>
  <label>邮 箱:</label>
  <input type="text" name="email" placeholder="请输入邮箱"/>
 </li>
 <li>
  <input type="submit" value="注册" />
 </li>
 </ul>
</form>
</body>
</html>

다음으로 PHP 코드를 사용하여 새 사용자가 제출한 정보를 데이터베이스에 제출하고 POST 메서드를 사용하여 값을 전송하고 가져와야 합니다.

먼저 이전에 생성한 데이터베이스와 테이블에 연결해야 합니다. 새 사용자가 등록한 사용자 이름, 비밀번호 및 기타 정보가 테이블의 해당 필드에 저장되어야 하기 때문입니다. 데이터베이스 테이블에 데이터를 저장하기 전에 제출된 데이터에 대해 몇 가지 판단 및 확인을 수행합니다. 예를 들어 요구 사항을 충족하지 않는 사용자 이름, 이메일 등은 필터링되어야 하며 사용자 이름이 다음과 같은 경우 오류 메시지가 표시됩니다. 다른 사용자가 등록한 경우 해당 사용자 이름을 다시 사용할 수 없다는 메시지가 표시되어야 합니다. 이는 먼저 데이터베이스에 이미 존재하는 사용자 이름을 읽고 판단하는 것입니다.

간단히 말하면, 폼을 통해 제출된 데이터는 변수에 저장되고, 비밀번호와 인증코드가 맞는지 판단되면 사용자 정보는 데이터베이스에 저장되고, 모든 데이터는 해당 테이블에 저장됩니다. 데이터베이스에 저장된 사용자 정보는 추출되어 인쇄됩니다. 직설적으로 말하면 문장의 후반부는 데이터 저장 및 검색에 관한 것입니다. 구체적인 코드는 다음과 같습니다:

<?php
session_start();
header("Content-type:text/html;charset=utf-8");
$link = mysqli_connect(&#39;localhost&#39;,&#39;root&#39;,&#39;root&#39;,&#39;test&#39;);
if (!$link) {
 die("连接失败:".mysqli_connect_error());
}
$username = $_POST[&#39;username&#39;];
$password = $_POST[&#39;password&#39;];
$confirm = $_POST[&#39;confirm&#39;];
$email = $_POST[&#39;email&#39;];
if($username == "" || $password == "" || $confirm == "" || $email == "")
{
 echo "<script>alert(&#39;信息不能为空!重新填写&#39;);window.location.href=&#39;zhuce.html&#39;</script>";
} elseif ((strlen($username) < 3)||(!preg_match(&#39;/^\w+$/i&#39;, $username))) {
 echo "<script>alert(&#39;用户名至少3位且不含非法字符!重新填写&#39;);window.location.href=&#39;zhuce&#39;</script>";
 //判断用户名长度
}elseif(strlen($password) < 5){
 echo "<script>alert(&#39;密码至少5位!重新填写&#39;);window.location.href=&#39;zhuce.html&#39;</script>";
 //判断密码长度
}elseif($password != $confirm) {
 echo "<script>alert(&#39;两次密码不相同!重新填写&#39;);window.location.href=&#39;zhuce.html&#39;</script>";
 //检测两次输入密码是否相同
} elseif (!preg_match(&#39;/^[\w\.]+@\w+\.\w+$/i&#39;, $email)) {
 echo "<script>alert(&#39;邮箱不合法!重新填写&#39;);window.location.href=&#39;zhuce.html&#39;</script>";
 //判断邮箱格式是否合法
} elseif(mysqli_fetch_array(mysqli_query($link,"select * from login where username = &#39;$username&#39;"))){
 echo "<script>alert(&#39;用户名已存在&#39;);window.location.href=&#39;zhuce.html&#39;</script>";
} else{
 $sql= "insert into login(username, password, confirm, email)values(&#39;$username&#39;,&#39;$password&#39;,&#39;$confirm&#39;,&#39;$email&#39;)";
 //插入数据库
 if(!(mysqli_query($link,$sql))){
 echo "<script>alert(&#39;数据插入失败&#39;);window.location.href=&#39;zhuce.html&#39;</script>";
 }else{
 echo "<script>alert(&#39;注册成功!)</script>";
 }
}
?>

추천 관련 기사 및 튜토리얼: php tutorial

위 내용은 PHP는 데이터베이스에 양식 콘텐츠 제출을 구현합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 jb51.net에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제