STnavi 情報館 ver.2.12

F = datas/add-user.php
2014-11-30 14:39:29 更新
INDEX

$encode = "UTF-8";
$title = "STnavi - ユーザー登録";
$thisprog = "add-user.php";
$lastupdate = date("Y-m-d H:i", filemtime($thisprog));
$br = '
';
mb_language("ja");
mb_internal_encoding("UTF-8");

include_once 'functions.inc';

$dbhost = 'localhost';
$dbuser = 'stnavi';
$dbpass = 'cubie';
$dbname = 'stnavi';
$dbtbl = 'user'; // アクセスするテーブル名

print '';
print '';
print '';
print '' . $title . '';
print '';
print '';
print '';
print '';
$kubun = checkuser($uid, $pw);
if (!$uid) $uid = 'ゲスト';
print '

' . $title . '

';

$step = getparam('step', 1);
$user = getparam('user', '');
$pass = getparam('pass', '');
$pass2 = getparam('pass2', '');
$pw = getparam('pw', '');
$mail = getparam('mail', '');
$twitter = getparam('twitter', '');
$birth = getparam('birth', '');
$gender = getparam('gender', '');
$pref = getparam('pref', '');
$kubun = getparam('kubun', '');
$debut = getparam('debut', '');
$maing = getparam('maing', '');
$secg = getparam('secg', '');
$trig = getparam('trig', '');
$submit = getparam('submit', '');


if ($step == 2) {
$err = 0; $ermsg = "";
if (preg_match('/stnavi/', $user)) {
$err++; $ermsg .= '文字列 "stnavi" を含むユーザ名は使えません。' . $br;
} else {
$db = mysql_connect($dbhost, $dbuser, $dbpass);
if (!$db) die('データベースへの接続に失敗しました。' . mysql_error());
mysql_query('SET NAMES utf8' , $db);
$dbselect = mysql_select_db($dbname, $db);
if (!dbselect) die('データベースの選択に失敗しました。' . mysql_error());

$query = 'SELECT * FROM `' . $dbtbl . '`';
$result = mysql_query($query);
if (!$result) die('クエリー失敗。' . mysql_error());
while ($row = mysql_fetch_assoc($result)) {
if ($row['uid'] == $user) {
$err++;
$ermsg .= "ユーザー名 " . $user . " は、すでに使われています。";
$ermsg .= "別のユーザー名を指定してください。" . $br;
break;
}
}
mysql_close($db);
}
if (!preg_match('/^[0-9a-zA-Z]*$/', $user)) {
$err++; $ermsg .= 'ユーザ名に英数字以外は使えません。' . $br;
}
if ((strlen($user) < 8) || (strlen($user) > 16)) {
$err++; $ermsg .= 'ユーザー名は8文字以上、16文字以内にしてください。' . $br;
}
if (!preg_match('/[0-9]/', $user)) {
$err++; $ermsg .= 'ユーザ名には必ず数字を含めてください。' . $br;
}
if (!preg_match('/[a-zA-Z]/', $user)) {
$err++; $ermsg .= 'ユーザ名には必ず英字(大文字小文字は問いません)を含めてください。' . $br;
}
if (!preg_match('/^[0-9a-zA-Z]*$/', $pass)) {
$err++; $ermsg .= 'パスワードに英数字以外は使えません。' . $br;
}
if ((strlen($pass) < 8) || (strlen($pass) > 16)) {
$err++; $ermsg .= 'パスワードは8文字以上、16文字以内にしてください。' . $br;
}
if (!preg_match('/[0-9]/', $pass)) {
$err++; $ermsg .= 'パスワードには必ず数字を含めてください。' . $br;
}
if (!preg_match('/[a-zA-Z]/', $pass)) {
$err++; $ermsg .= 'パスワードには必ず英字(大文字小文字は問いません)を含めてください。' . $br;
}
if ($user == $pass) {
$err++; $ermsg .= 'ユーザー名と同じパスワードは登録できません。' . $br;
}
if ($pass != $pass2) {
$err++; $ermsg .= '入力された2つのパスワードが一致しません。' . $br;
}
if ($mail) {
$pattern = "|^[0-9a-z_./?-]+@([0-9a-z-]+\.)+[0-9a-z-]+$|";
if (!preg_match($pattern, $mail)) {
$err++; $ermsg .= 'メールアドレスが不正です。' . $br;
}
}
if ($twitter) {
if (!preg_match('/^@[0-9a-zA-Z-_]+$/', $twitter)) {
$err++; $ermsg .= 'ツイッターアカウントが不正です。' . $br;
}
}
$today = (int)date('Ymd');
if ($debut) {
list($y, $m, $d) = explode("-", $debut);
if (!checkdate($m, $d, $y)) {
$err++; $ermsg .= "初観劇日付が不正です。
";
}
}

if ($err) {
print '' . $ermsg . '' . $br;
$step = 1;
print '
';
} else {
$pw = crypt($pass, "stripnavigator");
print "User = " . $user . $br;
$pasta = "";
for ($n = strlen($pass); $n--; $n < 0) {
$pasta .= "*";
}
print "Password = " . $pasta . $br;
print "メールアドレス = " . $mail . $br;
print "ツイッター = " . $twitter . $br;
print "性別 = " . $gender . $br;
print "都道府県 = " . $pref . $br;
print "初観劇日 = " . $debut . $br;
print "主劇場 = " . $maing . $br;
print "劇場2 = " . $secg . $br;
print "劇場3 = " . $trig . $br;
print $br;
print '
';
print 'このユーザを追加します。よろしいですか?' . $br . $br;
print '';
print '';
print '';
print '';
print '';
print '';
print '';
print '';
print '';
print '';
print '';
print '';
print '';
print ' ';
print '' . $br . $br;
}
}



if ($step == 3) {
if ($submit == '確認OK') {


$db = mysql_connect($dbhost, $dbuser, $dbpass);
if (!$db) die('データベースへの接続に失敗しました。' . mysql_error());
mysql_query('SET NAMES utf8' , $db);
$dbselect = mysql_select_db($dbname, $db);
if (!dbselect) die('データベースの選択に失敗しました。' . mysql_error());

$query = 'INSERT INTO `' . $dbname . '`.`' . $dbtbl . '` (';
$query .= '`uid` , `pass` , `pw` , `mail` , `twitter` , `birth` , ';
$query .= '`gender` , `pref` , `kubun` , `debut` , `maingekijo` , ';
$query .= '`gekijo2` , `gekijo3` ) VALUES ';
$query .= "('" . $user . "','" . $pass . "','" . $pw . "','";
$query .= $mail . "','" . $twitter . "','" . $birth . "','";
$query .= $gender . "','";
$query .= $pref . "','" . $kubun . "','" . $debut . "','";
$query .= $maing . "','" . $secg . "','" . $trig . "');";

$result = mysql_query($query);
if (!$result) die('クエリー失敗。' . mysql_error());

print $br . 'データを追加しました。' . $br . $br;
$user = ""; $pass = ""; $pass2 = ""; $pw = ""; $mail = "";
$twitter = ""; $birth = ""; $gender = "";
$pref = ""; $kubun = ""; $debut = "";
$maing = ""; $secg = ""; $trig = ""; $submit = "";
print "登録ありがとうございました。";
}
}


if ($step == 1) {





print '';
print 'ユーザー名*:';
print '';
print '(8~16文字の英数字)
';
print 'パスワード*:';
print '';
print '(8~16文字の英数字)
';
print 'パスワードを再度ご記入ください(コピペしないでください)' . $br;
print 'パスワード*:';
print '';
print '
メールアドレス:';
print '
';
print 'ツイッターアカウント:';
print '';
print $br;
print '性別*:';
print 'if ($gender != '女') print ' checked';
print '> ';
print 'if ($gender == '女') print ' checked';
print '>' . $br;
print '住所(都道府県):';
print 'print 'list="preflist" value="' . $pref . '">';
print '';
print '

';
print '';
print '初観劇日(yyyy-mm-dd):';
print '
';
print '正確な日付不明の場合、おおよその日付でかまいません。
';

print '最もよく行く劇場:';
print 'print 'list="gekijolist" value="' . $maing . '">
';

print 'そのほかによく行く劇場がありましたらご記入ください。(2つ以内)
';
print 'print 'list="gekijolist" value="' . $secg . '">
';

print 'print 'list="gekijolist" value="' . $trig . '">
';

print '';
print '
';
print '';
print '*印の項目は必須項目です。' . $br;
print '   
';
print '
';
}

print linkbutton('index.php', 'トップページに戻る', $uid, $pw);


if ($kubun == '管理者') {
if ($step == 1) {
print '
';
print 'データベース読み出し情報';
print '  ページラストへ';
print '  香盤情報検索';
print '
';


$db = mysql_connect($dbhost, $dbuser, $dbpass);
if (!$db) die('データベースへの接続に失敗しました。' . mysql_error());
mysql_query('SET NAMES utf8' , $db);
$dbselect = mysql_select_db($dbname, $db);
if (!dbselect) die('データベースの選択に失敗しました。' . mysql_error());

$query = 'SELECT * FROM `' . $dbtbl . '`';
$result = mysql_query($query);
if (!$result) die('クエリー失敗。' . mysql_error());

$zsp = ' ';
$count = 0;
while ($row = mysql_fetch_assoc($result)) {
print $row['uid'] . ',' . $row['pass'] . ',';
print $row['pw'] . ',' . $row['birth'] . ',' . $row['pref'];
print ',' . $row['gender'] . ',';
print $row['kubun'] . ',' . $row['debut'] . ',' . $row['maingekijo'];
print ',' . $row['gekijo2'] . ',';
print $row['gekijo3'];
print $br;
$count++;
}
print '
以上、' . $count . '件のデータがありました。' . $br . $br;
mysql_close($db);
}
}


print '';
print ' ページトップへ';
print '

';


print $br;
print footer($uid, $pw, $thisprog);
if (checkuser($uid, $pw) == '管理者') include 'kanrisha.inc';
print '';
print '';


?>

Copyright ©2013-2025 Libra0977.   All Rights Reserved.   last updated 2014.8/25.
Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)