ノブログ製作委員会

パスワード申込

最終更新:

匿名ユーザー

- view
だれでも歓迎! 編集
<?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;
}
}
?>

タグ:

+ タグ編集
  • タグ:

このサイトはreCAPTCHAによって保護されており、Googleの プライバシーポリシー利用規約 が適用されます。

目安箱バナー