<?php
$accounts = [["felh" => "minta", "password" => "Meow123", "mail" => "pelda@gmail.com"],
["felh" => "minta2", "password" => "Meow1232", "mail" => "pelda2@gmail.com"]];
if (isset($_POST["regisztral"])) {
$username = $_POST["felh"];
$password = $_POST["password"];
$email = $_POST["mail"];
$password2 = $_POST["password2"];
if (strlen($password) < 8)
die("<b>error<b>");
if ($password !== $password2)
die("<b>error</b>");
if ($_POST['feltetel'] != 'igen') die("<b>error</b>");
foreach ($accounts as $account) {
if ($account["felh"] === $username) die("<b>error:</b> taken!");
if ($account["mail"] === $email) die("<b>error:</b>taken!");
}
$accounts[] = ["felh" => $username, "password" => $password, "mail" => $email];
$file = fopen("accounts.txt", "w");
foreach ($accounts as $account)
fwrite($file, serialize($account) . "\n");
fclose($file);
echo "<br>Succeed<br/>";
}
Пользователь должен заполнить регистрационную форму, и моя программа должна решить, будут ли приняты его имя пользователя и адрес электронной почты или нет. Я хочу отсортировать все имена пользователей, пароли и адреса электронной почты в двухмерный массив, а затем записать его в текстовый файл. Моя проблема в том, что каждый раз, когда я вставляю новую запись в массив, он переключает последний элемент на тот, который я только что вставил, вместо того, чтобы хранить его и добавлять новый элемент в конец массива. Как я могу это решить?
* edit Я загрузил весь раздел php моего кода. Итак, чтобы быть ясным, моя проблема заключается в следующем: 2 записи, которые я добавил вручную в начале кода, работают отлично. Когда я хочу вставить, скажем, cat aaaaaaaa и nothing@gmail.com, он работает отлично. Но когда я отправляю другое значение после этого, скажем, собака bbbbbbbb и something@gmail.com она переключает cat aaaaaaaaa и nothing@gmail.com на dog bbbbbbbb и something@gmail.com. Однако я хочу, чтобы кошка aaaaaaa nothing@gmail.com и затем добавляла dog bbbbbbbb something@gmail.com до конца массива