Константы в программировании должны действительно использоваться только для вещей, которые известны еще до начала выполнения и которые никогда не изменятся.Как этот типичный пример:
// ** MySQL settings - You can get this info from your web host ** //
/** The name of the database for WordPress */
define('DB_NAME', 'database_name_here');
/** MySQL database username */
define('DB_USER', 'username_here');
/** MySQL database password */
define('DB_PASSWORD', 'password_here');
Не используйте константы для пользовательского ввода.И константы всегда должны использовать THE_ALL_CAPS_NAMING_SCHEME
.
Если вы действительно хотите использовать переменную во всем приложении, вы можете использовать суперглобальный .
Также константы простоподобно тому, как переменные хранятся только в памяти во время выполнения вашей программы - как только выполнение завершится, значения исчезают.
Если вы хотите использовать значение в нескольких запросах, вы либо сохраните его в базе данных, в кешетакой механизм, как Memcached или Redis или сессия хранения.Обратите внимание, что сеанс основан на файлах cookie в браузере и уязвим для многих видов хаков .
Если вы создаете систему управления контентом, чем сохранять эти данные в базе данных -не в сессии, как рекомендовано некоторыми другими ответами.Поскольку сеанс является своего рода персональным хранилищем и не будет одинаковым для разных пользователей.
Кроме того, не используйте mysql_real_escape_string
, он не предотвращает должным образом атаки SQL-инъекций при использовании дляочищает ввод базы данных и не предотвращает XSS-атаки, когда пользователи вводят вредоносный JavaScript-код на страницу.