> 백엔드 개발 > PHP 튜토리얼 > PHP 양식을 데이터베이스에 제출하는 방법은 무엇입니까? (상해)

PHP 양식을 데이터베이스에 제출하는 방법은 무엇입니까? (상해)

伊谢尔伦
풀어 주다: 2023-03-07 15:48:01
원래의
22617명이 탐색했습니다.

서버 측 데이터베이스에 데이터를 제출하려면 양식 양식을 사용합니다. 양식을 작성한 후 게시물을 백그라운드 .php 파일에 제출하고 처리한 후 가장 일반적이고 간단한 방법입니다. , 지정된 페이지로 돌아갑니다. 마지막으로 페이지가 다시 새로 고쳐져 예상 페이지가 표시됩니다. 다음 기사에서는 예제를 통해 PHP 양식을 데이터베이스에 제출하는 방법에 대해 자세히 설명합니다.

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 테이블을 생성하고 다음 필드를 설정합니다.

id : 고유하고 int 유형이며 기본 키를 선택합니다.

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

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

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

이메일: 이메일, 유형은 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 양식을 데이터베이스에 제출하는 방법은 무엇입니까? (상해)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿