環境がセットアップされ、ツールの準備ができたので、PHP プログラムの作成を開始しましょう。前のセクションで、Web サイトのローカル ディレクトリを d:/phpWWW に設定すると言いました。新しい testPhp を作成できます。ディレクトリ内に任意の名前を付けます。これは、今回は宿題が保存される場所を意味しますが、英語である必要があります。ちなみに、まだデータベースはありません。もちろん、最初のステップは独自のサーバー データベースを作成することです。
1. データベースの構築
入力した後も、左側のツリー構造は、新しいデータベース「game」を作成するためにどのデータベースを持っているかを示しています。次のようになります:
ゲーム データベース ノードを右クリックして新しいテーブルを作成します。ユーザー名とパスワードを保存する新しいデータ テーブル newsuser テーブルを作成します。テーブルの構造は次のとおりです。システムが独自に構築した主キーに相当します。
以下に示すように、データ ブラウザをクリックしてテーブル データを入力し、セルを右クリックして新しいレコードを挿入し、この行のレコードを削除します。
このツールのその他の詳細な使用法についてはこれ以上言いません。これは、凡庸な IQ を持つ人でも理解できるものですが、読者にとっては困難です。
2. PHP サーバー プログラム
2 つのモジュールを作成します。1 つは登録用で、もう 1 つは検証とログイン用です。まず、登録プログラムの作成方法を見てみましょう。 登録: Web サイトのルート ディレクトリ。 (d:/phpWWW) testPhp ディレクトリで、まず新しい reguser.php ファイルを作成し、前のセクションで説明した phpDesigner ツールを使用してそれを作成します。コードは次のとおりです。
<?php/** * @author blog.anchen8.net * @copyright 2015 */$us = $_GET["uname"]; //从参数里获取uname字段,即用户名$ps = $_GET["upass"]; //从参数里获取upass字段,即密码//建立mysql数据库连接,地址是127.0.0.1, 登录名是root,密码是root$conn = mysql_connect("127.0.0.1","root", "root");//打开数据库mysql_select_db("game");//新建插入查询$sql = "insert into newsuser(uname, upass) values('". $us ."','". $ps ."')";//执行这个查询mysql_query( $sql );//关闭数据库mysql_close($conn);echo "1, insertok";?>
ユーザー登録のロジックは上記で実装されており、その効果を確認したい場合は、ブラウザーに http://127.0.0.1/testPhp/reguser.php?uname=wang&upass=123 と入力してユーザーを追加できます。 Web ページに「1, insertok」と表示され、ユーザーが正常に追加されたことを示します。mysql データベースを開いて、ユーザーが正常に追加されたかどうかを確認します。
ログインの検証:
testPhp ディレクトリに新しい checkLogin02.php ファイルを作成します。コードは次のとおりです:
<?php/** * @author blog.anchen8.net * @copyright 2015 */$us=$_GET["uname"];$ps= $_GET["upass"];//1.连接数据库$conn = mysql_connect("127.0.0.1", "root", "root");//2.打开数据库mysql_select_db("game");//3.新建查询$sql = "select * from newsuser where uname ='".$us."'and upass = '". $ps ."';";//4.执行这个查询$result = mysql_query($sql);$n = mysql_num_rows($result); //返回查到的结果个数//5. 关闭数据库mysql_close($conn);if($n>0) //如果查到结果个数大于0,即有用户名和密码与传进来的参数一至{ session_start(); $row = mysql_fetch_array($result); //取得查询结果那一行 $_SESSION["uid"] = $row["id"]; //返回数据库中的id echo "1"; //服务器返回客户端一个"1"}else{ echo "0"; //没查到结果,返回"0"}?>