Подтвердить что ты не робот

PHP fwrite новая строка

Я пытаюсь записать имя пользователя и пароль в новую строку в 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);
    }

    ?>
4b9b3361

Ответ 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

Ответ 2

Вы добавляете новую строку как для имени пользователя, так и для пароля, т.е. выход будет выглядеть как

Sebastian
password
John
hfsjaijn

используйте fwrite($fh,$user." ".$password."\n"); вместо того, чтобы использовать их как в одной строке.
Или используйте fputcsv() для записи данных и fgetcsv() для его извлечения. Таким образом, вы, по крайней мере, избегаете проблем с кодированием, например, например. с $username='Charles, III';

... т.е. отбрасывая все, что не так, что нужно хранить простые пароли в простых файлах и использовать _GET для этого типа операции (вместо этого используйте _POST); -)

Ответ 3

     fwrite($handle, "<br>"."\r\n");

Добавьте это под

     $password=$_POST['password'].PHP_EOL;

это..

Ответ 4

Как насчет того, чтобы хранить это так? Возможно в имени пользователя: формат пароля, так

sebastion:password123
anotheruser:password321

Затем вы можете использовать list($username,$password) = explode(':',file_get_contents('users.txt')); проанализировать данные на вашем конце.