Я пытаюсь написать имя пользователя и пароль для новой строки в 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);
// Выход файла
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;
это. ,