Я хочу по ip2logn($_SERVER['REMOTE_ADDR'])
сохранить значения ip2logn($_SERVER['REMOTE_ADDR'])
в db.
Практически, как я вижу, значение $_SERVER['REMOTE_ADDR']
всегда имеет значение. Может ли кто-нибудь подтвердить, что он всегда установлен для любого пользователя и не может быть установлен по какой-либо причине?
Причина, по которой я прошу, это убедиться, что я должен выбрать NOT NULL
вместо DEFAULT NULL
для столбца в таблице MySQL.
Итак, я могу хранить ipaddress varchar(15) NOT NULL (yes, NOT null) or ip2longaddress
int (11) NOT NULL, а второй вариант, насколько я понимаю, наиболее предпочтительный.
Спасибо.
Он будет установлен только в том случае, если вы запускаете скрипт через веб-сервер. Если вы используете PHP в режиме командной строки (CLI), REMOTE_ADDR не будет установлен, так как нет удаленного адреса для сценария командной строки.
$ _SERVER ['REMOTE_ADDR'] всегда задается, даже если вы работаете с localhost и не можете быть отменены, за исключением того, что вы программно удалили его. И если вы сохранили его в INT, не было бы точек, поэтому вы должны сохранить их как varchar
Может ли кто-нибудь подтвердить, что он всегда настроен для любого пользователя
да. Я могу.
$ _SERVER vars ВСЕГДА. Ну, если у вас нет какой-то нечетной настройки php.