У меня есть простая HTML-форма, где я собираю три переменные от пользователя, во-первых, это регистрационный номер, во-вторых, это дата присоединения, и последняя из них является паролем. Когда я использую
$regdno=$_POST["regdno"];
$doj=$_POST["doj"] ;
$password=$_POST["password"];echo $regdno;
echo $doj;
echo $password;
Я получаю результаты, напечатанные как
113128321985/12/06myownpass
когда я использую Internet Explorer, Firefox и Opera, что правильно. Но когда я использую Google Chrome, он показывает вот так
11312832 1985/12/06myownpass
Который показывает дополнительный пробел. Друзья Почему такая разница и как ее исправить?
Попробуйте использовать trim () в каждой переменной
Так как каждый браузер анализирует и проверяет HTML по-своему. Вообще говоря, если вы замечаете разные результаты в данных формы между браузерами, это, вероятно, вызвано недействительной проблемой HTML. Где браузер интерпретировал, как исправить HTML иначе, чем другие.
Попробуйте проверить свой HTML-код на W3: https://validator.w3.org/
Это также может быть вызвано автозаполнением данных, включая пробелы в ранее сохраненном значении.
Наконец, вы всегда должны дезинфицировать и проверять любые предоставленные пользователем данные, независимо от того, насколько тривиальной является предоставленная информация.
Какой самый лучший метод для дезинфекции ввода пользователя с помощью PHP?