登録ページから .dat ファイルにユーザー情報を書き込む方法はわかりましたが、情報が一致するかどうかを .dat と照合して、サインイン ページでユーザーを検証しようとして行き詰まりました。
私のサインインページコードはこれで構成されています:
<?php
include "functions.inc";
// Useful variables
$datafile = "users.dat";
if (array_key_exists('submit', $_POST))
// Function to check the password length
{
$the_user = $_POST['newuser'];
// Load the file of users and store it in $users
$users = arrayfile_to_array($datafile);
$users = arrayfile_to_array($datafile);
// Validate user name and password
}
else
{
$users = arrayfile_to_array($datafile);
// Validate the email address
if (!user_unique($users, $the_user['newuser']))
echo "User already exists!";
}
if (array_key_exists('submit', $_POST))
// Function to check the password length
{
header('Location: 04invoice.php');
}
else
if (array_key_exists('register', $_POST))
{
header('Location: 03registration.php');
}
?>
<!DOCTYPE html>
<html> <center>
<style>
body
{
background-color:aqua;
font-family:"Times New Roman";
font-size:20px;
}
h1
{
color:orange;
text-align: center;
}
p
{
font-size:24px;
}
table
{
background-color:green;
font-family:"Helvetica";
font-size:20px;
font-weight:bold;
}
</style>
<h1>
Welcome to the Pay'N'Go Kiosk
</h1>
<body>
<form action= "<?php $_SERVER["PHP_SELF"] ?>" method="POST">
<p>Username: <br>
<input style="background-color: yellow; color:black" type='text' name='username'
value='<?php if(isset($_POST['newuser[username]']))
echo $_POST['newuser[username]'] ?>'>
<BR>
Password: <br>
<input style="background-color:magenta" type='password' name='newuser[password]'><BR>
<input type='submit' name='submit' value='Sign In'>
<br/>
Not a user? Sign up today! </br>
<a href='03registration.php'>register here!</a>
</form>
</body>
</center>
</html>
arrayfile_to_array を使用して、すべての配列を含むファイルを表示しようとしていますが、その使用方法がわかりません。どんなヒントでも大歓迎です。
// Open the file
// If the file doesn't exist, create it.
if (!file_exists($datafile))
{
$users = array();
array_to_arrayfile($users, $datafile);
}
else
{
$users = arrayfile_to_array($datafile);
}
}