php 는 어떻게 폼 내용 을 데이터베이스 에 제출 합 니까?

일반적으로 친구 들 이 일부 사 이 트 를 둘 러 볼 때 사 이 트 를 사용 하거나 더 많은 사이트 의 내용 을 보고 싶 을 때 사 이 트 는 사용자 에 게 새로운 사용자 의 등록 을 요구 하고 사 이 트 는 새로운 사용자 의 등록 정 보 를 데이터베이스 에 저장 하 며 필요 할 때 추출 합 니 다.
이렇게 하면 사 이 트 는 먼저 자신의 데이터 베이스 와 대응 하 는 표를 만 들 것 입 니 다.우 리 는 phop 을 사용 하여 간단 한 데이터 베이스 와 표를 만 들 고 phopMyAdmin 을 사용 하여 MySql 데이터 베이스 와 표를 만 듭 니 다.예 를 들 어 test 데이터 베 이 스 를 만 듭 니 다.예제 의 코드 는 다음 과 같 습 니 다.

<?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='text'],input[type='password']{
      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>
    다음은 새로운 사용자 가 제출 한 정 보 를 데이터베이스 에 제출 하고 POST 방식 으로 값 을 전달 하고 가 져 오 는 php 코드 를 사용 해 야 합 니 다.
    먼저 앞에서 만 든 데이터베이스 와 표를 연결 해 야 합 니 다.새 사용자 가 등록 한 사용자 이름,비밀번호 등 정 보 는 표 의 대응 필드 에 저장 해 야 하기 때 문 입 니 다.데이터베이스 시트 에 저장 하기 전에 제출 한 데 이 터 를 판단 하고 검증 합 니 다.예 를 들 어 요구 에 부합 되 지 않 는 사용자 이름,메 일 등 은 필터 와 오류 가 있어 야 합 니 다.또한 사용자 이름 이 다른 사용자 에 게 등록 되면 이 사용자 이름 을 다시 사용 할 수 없다 는 것 을 알려 야 합 니 다.이것 은 데이터베이스 에 존재 하 는 사용자 이름 을 먼저 읽 고 판단 하 는 것 입 니 다.
    쉽게 말 하면 폼 에 제출 한 데 이 터 를 모두 변수 에 저장 한 다음 에 암호 와 인증 코드 의 판단 을 하 는 것 이다.모두 정확 한 후에 사용자 정 보 를 데이터베이스 에 저장 하고 데이터 베 이 스 를 사용자 정 보 를 저장 하 는 표 의 모든 데 이 터 를 추출 하여 인쇄 하 는 것 이다.솔직히 말 하면 후반 부 는 데이터 저장 과 추출 이다.그 구체 적 인 코드 는 다음 과 같다.
    
    <?php
    session_start();
    header("Content-type:text/html;charset=utf-8");
    $link = mysqli_connect('localhost','root','root','test');
    if (!$link) {
     die("    :".mysqli_connect_error());
    }
    $username = $_POST['username'];
    $password = $_POST['password'];
    $confirm = $_POST['confirm'];
    $email = $_POST['email'];
    if($username == "" || $password == "" || $confirm == "" || $email == "")
    {
     echo "<script>alert('      !    ');window.location.href='zhuce.html'</script>";
    } elseif ((strlen($username) < 3)||(!preg_match('/^\w+$/i', $username))) {
     echo "<script>alert('     3        !    ');window.location.href='zhuce'</script>";
     //       
    }elseif(strlen($password) < 5){
     echo "<script>alert('    5 !    ');window.location.href='zhuce.html'</script>";
     //      
    }elseif($password != $confirm) {
     echo "<script>alert('       !    ');window.location.href='zhuce.html'</script>";
     //            
    } elseif (!preg_match('/^[\w\.]+@\w+\.\w+$/i', $email)) {
     echo "<script>alert('     !    ');window.location.href='zhuce.html'</script>";
     //          
    } elseif(mysqli_fetch_array(mysqli_query($link,"select * from login where username = '$username'"))){
     echo "<script>alert('      ');window.location.href='zhuce.html'</script>";
    } else{
     $sql= "insert into login(username, password, confirm, email)values('$username','$password','$confirm','$email')";
     //     
     if(!(mysqli_query($link,$sql))){
     echo "<script>alert('      ');window.location.href='zhuce.html'</script>";
     }else{
     echo "<script>alert('    !)</script>";
     }
    }
    ?>
    친구 들 은 스스로 각종 조작 과 시 도 를 할 수 있 고 숙련 된 후에 폼 조작,데이터 뱅 크 의 조작 에 대해 어느 정도 깊이 이해 하여 향후 개발 에 좋 은 기반 을 다 질 것 이다.
    이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.

    좋은 웹페이지 즐겨찾기