簡単な登録/ログイン スクリプトを作成するために、このチュートリアルに従っています。
http://forum.codecall.net/topic/69771-creating-a-simple-yet-secured-loginregistration-with-php5/
私は PHP を初めて使用しますが、C++ を使用した経験が豊富であるため、移行はそれほど難しくなく、構文を理解するだけでよいと思いました。また、大学で mySQL を非常に簡単に紹介したので、知識はあまりありませんが、ユーザーが登録したときに既存のユーザー名を確認するために mySQL を使用する方がはるかに簡単だと思いました。このようなものがうまくいくと思いました。
SELECT username
FROM codecalltut
WHERE username = username;
これは実際に機能しますか?データベース codecalltut からユーザー名を選択し、入力されているユーザー名が既にユーザー名であるかどうかを確認しますか? これが正しいとしても、それを PHP に組み込む方法がわかりません。
使ってみました
$qry = "SELECT username
FROM codecalltut
WHERE username = username;"
しかし、次のステートメントに移動するときに構文エラーが発生します。
<?php
$qry = "SELECT username
FROM codecalltut
WHERE username = username;"
//if register button was clicked.
} else {
$usr = new Users; //create new instance of the class Users
$usr->storeFormValues( $_POST ); //store form values
//if the entered password is match with the confirm password then register him
if( $_POST['password'] == $_POST['conpassword'] ) {
echo $usr->register($_POST);
} else {
//if not then say that he must enter the same password to the confirm box.
echo "Password and Confirm password not match";
}
}
?>
これは、データベースの構築に使用されるクエリです。
CREATE DATABASE `codecalltut` DEFAULT CHARACTER SET latin1 COLLATE latin1_swedish_ci;
USE `codecalltut`;
CREATE TABLE IF NOT EXISTS `users` (
`userID` int(11) NOT NULL AUTO_INCREMENT,
`username` varchar(50) NOT NULL,
`password` varbinary(250) NOT NULL,
PRIMARY KEY (`userID`,`username`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=6 ;
これは、ユーザーが「登録」をクリックしたときの HTML コードです。
<li class="buttons">
<input type="submit" name="register" value="Register" />
<input type="button" name="cancel" value="Cancel" onclick="location.href='index.php'" />
</li>