「パスワード申込」の編集履歴(バックアップ)一覧はこちら

パスワード申込」(2006/01/24 (火) 19:54:36) の最新版変更点

追加された行は緑色になります。

削除された行は赤色になります。

<?php //========================================= //メイン //========================================= //質問の内容 $ques = array( '1'=>'好きなもの', '2'=>'大切なもの', '3'=>'かけがえのないもの', '4'=>'焼き飯', ); //ファイル読み込み require_once("./init.php"); $h = new html(); $h->header_html("パスワード申込");//ヘッダー $ch = new Pass(); if($_SERVER['REQUEST_METHOD'] == "GET"){ $_POST['mode'] = &$_GET['mode']; } switch($_POST['mode']): case 'write': // チェック処理へ; $ch->pass_form_check(); break; case 'ok': // パスワド処理、申込完了へ; $ch->torokuok(); break; default: $ch->pass_form(); break; endswitch; exit(); class Pass{ //=========================================================================================== //新規登録画面 //=========================================================================================== function pass_form($error ="",$userid ="",$himi ="",$kota =""){ //秘密の質問フォーム生成 $select = $this->ques_form($himi); //パスワード申込フォーム echo <<<EOM <html> <head> <title>パスワード申込</title> </head> <body> パスワード申込 $error <form action="passa.php" method="post"> <input type="hidden" name="mode" value="write"> ユーザID<br> <input type="text" name="userid" maxlength="20" size="25" style="ime-mode: disabled;" value="$userid"><br><br> 秘密の質問<br> EOM; //秘密の質問表示(implode:配列を文字列で表示) echo implode("\n",$select); echo <<<EOM <br><br> 答え<br> <input type="text" name="kota" maxlength="15" size="30" value="$kota"><br><br> <input type="submit" value="パスワード申込"> </form> </body> </html> EOM; } //================================================================================== //質問内容格納処理 //================================================================================== function ques_form($himi){ global $ques; //グローバルとして読み込む //初期化 $select = array("<select name=\"himi\">"); //格納処理 foreach($ques as $key => $value) { //初期値決定 if($himi == $key){ //一致したやつにチェック $selected="selected"; }else{ //なかった $selected=""; } //格納 array_push($select,"<option value=\"$key\"$selected>$value</option>"); } //最後は閉じる array_push($select,"</select>"); //配列返す return $select; } //================================================================================== //エラーチェック //================================================================================== function pass_form_check(){ //フラグの初期値設定 $error_flg = false; //入力された値を入れる $userid = $_POST['userid'];//ユーザID $himi = $_POST['himi'];//秘密の質問 $kota = $_POST['kota'];//秘密の質問の答え //ユーザIDのチェック $userid = strtolower("$userid"); if(!isset($userid) || $userid ==""){ //入力されているかチェック $error = ":ユーザーIDを入力してください"; $this->pass_form($error,$userid,$himi,$kota); exit; }elseif($this->id_check($userid) == false){ $error = "そのユーザIDは存在しません"; $this->pass_form($error,$userid,$himi,$kota); exit; }elseif(!isset($kota) || $kota ==""){ //答えが入力されているかチェック $error = ":答えを入力してください"; $this->pass_form($error,$userid,$himi,$kota); exit; }else{ //Mysqlへ接続 $con_id = sql_init::connect(); global $usr; //質問・答えをデータベースと照合 $sql = "select {$usr['passwd']},{$usr['mail']} from {$usr['colum']} where {$usr['id']} = '$userid' and {$usr['himitu']} = '$himi' and {$usr['kotae']} = '$kota'"; $res = mysql_query($sql,$con_id); $rows = mysql_num_rows($res); //=========質問と答えがあっているかどうかの判定 if($rows != 0){ //あっていればパスワードをメールで送信し、パスワード申込完了画面へ while( $row = mysql_fetch_array($res)){ //データベースからデータを取得 $passwd = $row['passwd']; $mail = $row{$usr['mail']}; } $this->mailso($userid,$passwd,$mail); //メール送信 $this->pass_syuryo(); }else{ //間違っていればエラーを表示 $error = "質問または答えが間違っています"; $this->pass_form($error,$userid,$himi,$kota); } } } //================================================================================== //IDのチェック //================================================================================== function id_check($userid){ //Mysqlへ接続 $con_id = sql_init::connect(); global $usr; //ユーザID照合 $sql = "select {$usr['id']} from {$usr['colum']} where {$usr['id']} = '$userid'"; $res = mysql_query($sql,$con_id); $rows = mysql_num_rows($res); //=========IDがあるかどうかの判定 if($rows != 0) { $id_flg = true; }else{ $id_flg = false; } return $id_flg; } //================================================================================== //メール送信 //================================================================================== function mailso($userid,$passwd,$mail){ //↓送信内容 $msg = " $userid\n パスワード: $passwd\n"; mb_language("Ja") ; mb_internal_encoding("EUC-JP") ; $mailto="$mail";//送信先 $subject="ノブログのパスワード申込";//タイトル $content="$msg";//内容 $mailfrom="From:" .mb_encode_mimeheader("ノブログ運営局") ."noblog@aaa.com"; mb_send_mail($mailto,$subject,$content,$mailfrom);//メール送信 } //================================================================================== //申込完了画面 //================================================================================== function pass_syuryo(){ echo <<<EOM <html> <head> <title>パスワード申込完了画面</title> </head> <body> パスワードをメールで送信しました<br> 確認してください<br><br> </body> </html> EOM; } } ?>
<?php //========================================= //メイン //========================================= //質問の内容 $ques = array( '1'=>'あなたの好きな食べ物は?', '2'=>'あなたの好きな曲は?', '3'=>'あなたの母親の旧姓は?', '4'=>'あなたの好きな映画は?', ); //ファイル読み込み require_once("./init.php"); $h = new html(); $h->header_html("パスワード申込");//ヘッダー $ch = new Pass(); if($_SERVER['REQUEST_METHOD'] == "GET"){ $_POST['mode'] = &$_GET['mode']; } switch($_POST['mode']): case 'write': // チェック処理へ; $ch->pass_form_check(); break; case 'ok': // パスワド処理、申込完了へ; $ch->torokuok(); break; default: $ch->pass_form(); break; endswitch; exit(); class Pass{ //=========================================================================================== //新規登録画面 //=========================================================================================== function pass_form($error ="",$userID ="",$himi ="",$kota =""){ //秘密の質問フォーム生成 $select = $this->ques_form($himi); //パスワード申込フォーム echo <<<EOM <div class="gradation1"> <div class="gra-box1"> パスワード申込 </div> <table> <tr> <td> 必要事項を記入しボタンを押してください。パスワードをメールで発送いたします<br> このページはSSLによって保護されています </td> <tr> </table> <br><span class="red">$error</span><br> <form action="passa.php" method="post"> <input type="hidden" name="mode" value="write"> <table border="0"> <tr> <td> <img src="./image/megane.gif" alt="ユーザID">ユーザID </td> <td> <input type="text" name="userID" maxlength="20" size="25" style="ime-mode: disabled;" value="$userID"> </td> </tr> <tr> <td> <img src="./image/megane.gif" alt="秘密の質問">秘密の質問<br> </td> <td> EOM; //秘密の質問表示(implode:配列を文字列で表示) echo implode("\n",$select); echo <<<EOM </td> </tr> <tr> <td> <img src="./image/megane.gif" alt="答え">答え<br> </td> <td> <input type="text" name="kota" maxlength="15" size="30" value="$kota"><br> </td> </tr> <td colspan="2" align="center"> <br> <input type="submit" value="パスワード申込"> </td> </tr> </table> </form> </div> </div> </div> </form> </body> </html> EOM; } //================================================================================== //質問内容格納処理 //================================================================================== function ques_form($himi){ global $ques; //グローバルとして読み込む //初期化 $select = array("<select name=\"himi\">"); //格納処理 foreach($ques as $key => $value) { //初期値決定 if($himi == $key){ //一致したやつにチェック $selected="selected"; }else{ //なかった $selected=""; } //格納 array_push($select,"<option value=\"$key\"$selected>$value</option>"); } //最後は閉じる array_push($select,"</select>"); //配列返す return $select; } //================================================================================== //エラーチェック //================================================================================== function pass_form_check(){ //フラグの初期値設定 $error_flg = false; //入力された値を入れる $userID = $_POST['userID'];//ユーザID $himi = $_POST['himi'];//秘密の質問 $kota = $_POST['kota'];//秘密の質問の答え //ユーザIDのチェック $userID = strtolower("$userID"); if(!isset($userID) || $userID ==""){ //入力されているかチェック $error = "ユーザーIDを入力してください"; $this->pass_form($error,$userID,$himi,$kota); exit; }elseif($this->id_check($userID) == false){ $error = "そのユーザIDは存在しません"; $this->pass_form($error,$userID,$himi,$kota); exit; }elseif(!isset($kota) || $kota ==""){ //答えが入力されているかチェック $error = "答えを入力してください"; $this->pass_form($error,$userID,$himi,$kota); exit; }else{ //Mysqlへ接続 $con_id = sql_init::connect(); global $usr; //質問・答えをデータベースと照合 $sql = "select {$usr['passwd']},{$usr['mail']} from {$usr['colum']} where {$usr['id']} = '$userID' and {$usr['himitu']} = '$himi' and {$usr['kotae']} = '$kota'"; $res = mysql_query($sql,$con_id); $rows = mysql_num_rows($res); //=========質問と答えがあっているかどうかの判定 if($rows != 0){ //あっていればパスワードをメールで送信し、パスワード申込完了画面へ while( $row = mysql_fetch_array($res)){ //データベースからデータを取得 $passwd = $row{$usr['passwd']}; $mail = $row{$usr['mail']}; } $this->mailso($userID,$passwd,$mail); //メール送信 $this->pass_syuryo(); }else{ //間違っていればエラーを表示 $error = "質問または答えが間違っています"; $this->pass_form($error,$userID,$himi,$kota); } } } //================================================================================== //IDのチェック //================================================================================== function id_check($userID){ //Mysqlへ接続 $con_id = sql_init::connect(); global $usr; //ユーザID照合 $sql = "select {$usr['id']} from {$usr['colum']} where {$usr['id']} = '$userID'"; $res = mysql_query($sql,$con_id); $rows = mysql_num_rows($res); //=========IDがあるかどうかの判定 if($rows != 0) { $id_flg = true; }else{ $id_flg = false; } return $id_flg; } //================================================================================== //メール送信 //================================================================================== function mailso($userID,$passwd,$mail){ //↓送信内容 $msg = " $userID\n パスワード: $passwd\n"; mb_language("Ja") ; mb_internal_encoding("EUC-JP") ; $mailto="$mail";//送信先 $subject="ノブログのパスワード申込";//タイトル $content="$msg";//内容 $mailfrom="From:" .mb_encode_mimeheader("ノブログ運営局") ."noblog@aaa.com"; mb_send_mail($mailto,$subject,$content,$mailfrom);//メール送信 } //================================================================================== //申込完了画面 //================================================================================== function pass_syuryo(){ echo <<<EOM <div class="gradation2"> <div class="gra-box2"> 認証完了 </div> <br> <br> <table> <tr><td> <br><br> 登録されているメールアドレスに パスワードを送信しましたのでご確認ください<br><br> <tr><td> <br><br><br><br><br><br> </div> </div> </div> EOM; } } ?>

表示オプション

横に並べて表示:
変化行の前後のみ表示:
目安箱バナー