PHP извлечение без извлечения () - PullRequest
0 голосов
/ 24 января 2012

У меня есть что-то вроде:

    if(isset($_POST['submit']))
    {
    $linktitle=strtolower(str_replace(" ","-",$title));

и т. Д.

$linktitle и $title на самом деле переменные из $_POST - то есть $_POST['linktitle'] и $_POST['title'].Почему-то, хотя (насколько я вижу!) Я не извлек ($) ed $ _POST на данном этапе кода, он все еще работает - PHP понимает, что $ title ссылается на $_POST['title'].Может ли кто-нибудь объяснить, почему это может быть?

Спасибо!

пс.Извините, но я действительно не могу заставить эту функцию форматирования цитат встроенного кода работать ...!

Ответы [ 3 ]

3 голосов
/ 24 января 2012

register_globals включен в вашем экземпляре PHP. См. здесь для получения дополнительной информации.

Это поведение, на которое следует полагаться, поскольку его использование устарело. Вы обнаружите, что вы все еще можете использовать $_POST['keyname'], а также $keyname, и это то, на что вы должны ссылаться в своем коде.

1 голос
/ 24 января 2012

В вашем веб-сервере (php.ini) активировано глобальных регистров , поэтому PHP заменяет unknoe-переменные на соответствующие значения GET или POST.Эта опция устарела и опасна!Отключи, если сможешь!

1 голос
/ 24 января 2012

В вашем файле php.ini должно быть включено register_globals, поэтому переменные GPC добавляются в таблицу символов. Вот почему вы видите это поведение. См. Угрозы безопасности для такой функции здесь

...