次の番号のフラットファイル データベース ファイルがあります。
1
2
3
4
5
etc.
番号は、ログインするために上記の番号のいずれかを入力するユーザー ID に対応しています。
ファイルを変更したくありません。私の質問は、受け入れられた「PREFIX」を追加する方法があるかどうかです。
たとえば、ユーザーは次のようにログインします。
abcd1
abcd2
abcd3
abcd4
abcd5
etc.
しかし、私のデータファイルはまだですが、プレフィックス「abcd」が含まれていません:
1
2
3
4
5
etc.
また、「完全に」一致する必要があります。私がこれまでに行ったテストは決定的なものではありませんでした
受け入れられた「配列」を使用するのが道だと思いますか?
私の現在のログイン PHP スクリプトはこれですが、数字の完全一致でのみ機能します。後で変更できるプレフィックスを追加したいと思います。
<?php
date_default_timezone_set('America/New_York');
$today = mktime(0, 0, 0, date("m"), date("d"), date("y"));
$currenttime = date('h:i:s:u');
list($hrs,$mins,$secs,$msecs) = split(':',$currenttime);
echo "<center><form action=\"" . $PHP_SELF . "\" method='post'><input onkeypress=\"return isNumberKey(event)\" type='text' name='uNum' /><input type='submit' value='Submit' /></form></center>";
if(!$_POST['uNum']) {
die('<center>Entrer votre numéro d\'inscription pour finaliser votre demande.</center>');
}
$numbers = file_get_contents("datafile.txt");
$uNumber = $_POST['uNum'];
if ( @preg_match( "/([^0-9]{$uNumber}[^0-9])/", $numbers ) ) {
print_r( "<center>The number $uNumber is good. You may proceed.</b><br><br>" );
file_put_contents($_POST['uNum'].".txt",$_POST['uNum'] . "\nUsed on ".date("m/d/Y", $today). (" $hrs:$mins:$secs")."");
include 'validate_process.php';
if (isset($_POST['uNumber']))
{
$uNumber = $_GET['inscripnum1'];
}
} else {
echo "<center>Sorry, this login number does not exist.</center>";
}
?>