Ответ 1
Используйте PHP_EOL
который производит \r\n
или \n
$data = 'my data' . PHP_EOL . 'my data';
$fp = fopen('my_file', 'a');
fwrite($fp, $data);
fclose($fp);
//Вывод файла
my data
my data
Я пытаюсь записать имя пользователя и пароль в новую строку в txt файле. Результат должен быть примерно таким в файле txt. Я знаю, что это не очень безопасно, но просто для обучения
Sebastian password
John hfsjaijn
Это то, что я до сих пор
if(isset($_GET['register'])) //
{
$user = $_GET['username'];
$password=$_GET['password'];
$fh = fopen("file.txt","a+");
fwrite($fh,$user."\n"); //write to txtfile
fwrite($fh,$password."\n"); // write to txtfile
fclose($fh);
}
EDIT: Здесь решение
if(isset($_POST['register'])) //
{
$user = $_POST['username'];
$password=$_POST['password'].PHP_EOL;
$fh = fopen("file.txt","a+");
fwrite($fh,$user." ".$password); //write to txtfile
fclose($fh);
}
?>
Используйте PHP_EOL
который производит \r\n
или \n
$data = 'my data' . PHP_EOL . 'my data';
$fp = fopen('my_file', 'a');
fwrite($fp, $data);
fclose($fp);
//Вывод файла
my data
my data
Вы добавляете новую строку как для имени пользователя, так и для пароля, т.е. выход будет выглядеть как
Sebastian
password
John
hfsjaijn
используйте fwrite($fh,$user." ".$password."\n");
вместо того, чтобы использовать их как в одной строке.
Или используйте fputcsv() для записи данных и fgetcsv()
для его извлечения. Таким образом, вы, по крайней мере, избегаете проблем с кодированием, например, например. с $username='Charles, III';
... т.е. отбрасывая все, что не так, что нужно хранить простые пароли в простых файлах и использовать _GET для этого типа операции (вместо этого используйте _POST); -)
fwrite($handle, "<br>"."\r\n");
Добавьте это под
$password=$_POST['password'].PHP_EOL;
это..
Как насчет того, чтобы хранить это так? Возможно в имени пользователя: формат пароля, так
sebastion:password123
anotheruser:password321
Затем вы можете использовать list($username,$password) = explode(':',file_get_contents('users.txt'));
проанализировать данные на вашем конце.