ホームページ >バックエンド開発 >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 テーブルを作成し、次のフィールドを設定します。
(関連する学習ビデオ チュートリアルの共有: 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='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>
次に、PHP コードを使用して、新しいユーザーが送信した情報をデータベースに送信し、POST メソッドを使用して値を転送および取得する必要があります。
まず、新しいユーザーが登録したユーザー名、パスワード、その他の情報をテーブルの対応するフィールドに保存する必要があるため、以前に作成したデータベースとテーブルに接続する必要があります。データをデータベーステーブルに保存する前に、送信されたデータに対して、要件を満たしていないユーザー名やメールアドレスなどをフィルタリングしたり、エラープロンプトを表示したりする必要があるなど、いくつかの判断と検証を行ってください。この名前が他のユーザーによって登録されている場合、このユーザー名を再度使用することはできないというメッセージが表示されます。これは、まずデータベースにすでに存在するユーザー名を読み取ってから判断することです。
簡単に説明すると、フォームから送信されたデータを変数に格納し、パスワードと認証コードを判定し、正しい場合にユーザー情報をデータベースに格納し、データベースにすべての情報が格納されます。ユーザー情報テーブルのデータを抽出して印刷します。端的に言えば、文の後半はデータの保存と取得についてです。具体的なコードは次のとおりです:
<?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>"; } } ?>
おすすめの関連記事とチュートリアル: php チュートリアル
以上がPHP はフォームのコンテンツをデータベースに送信する機能を実装しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。