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 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)