>백엔드 개발 >PHP 문제 >PHP 데이터베이스에서 양식 데이터를 얻는 방법

PHP 데이터베이스에서 양식 데이터를 얻는 방법

尚
원래의
2019-10-26 16:17:393742검색

PHP 데이터베이스에서 양식 데이터를 얻는 방법

php 데이터베이스를 사용하여 양식 콘텐츠를 가져옵니다.

예:

<?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 테이블을 만들고 다음 필드를 설정합니다.

  • 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 server

위 내용은 PHP 데이터베이스에서 양식 데이터를 얻는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.