2012-10-03 19 views
11

Estoy desarrollando un backend con php aquí.Variable indefinida PHP_SELF

Estoy teniendo un problema con tal error como este:

Undefined variable: PHP_SELF

en mi directorio htdocs.

estoy desarrollando con PHP 5.4.4, y si desea buscar en el código fuente aquí está:

http://pastebin.com/xr2PxbNG

+5

¿De verdad buscaba $ _SERVER ['PHP_SELF']? –

+2

try, $ _SERVER ['PHP_SELF'] – FirmView

+0

Los estoy construyendo en mi servidor local. Permítanme cambiarlos por un momento :) – adadeh

Respuesta

17

No utilice cualquiera de las versiones sugeridas de PHP_SELF . Es pesadilla de seguridad, abriendo su PHP a una multitud de posibles ataques de inyección.

¿Qué estás tratando de lograr? ¿Generar la URL para enviar un formulario a sí mismo? Use action="" para eso: es un enfoque válido y siempre usará la URL para enviar el formulario como para cargarlo.

Si debe conocer la secuencia de comandos solicitada, utilice $_SERVER['SCRIPT_NAME'] en su lugar.

+0

Creo que es mejor jugar con la configuración al aprender en localhost y explorar – FirmView

+1

Muchas gracias, todavía el problema se ha resuelto :) – adadeh

2

¿Está intentando acceder a $ _SERVER [ 'PHP_SELF']?

+0

gracias por responder :) – adadeh

2

Es $_SERVER['PHP_SELF'], no $PHP_SELF. Ver el docs

+0

muchas gracias por la sugerencia – adadeh

11

está usando el $PHP_SELF Cabe

echo $_SERVER['PHP_SELF'] ; 

O

$PHP_SELF = &$_SERVER['PHP_SELF']; 
echo $PHP_SELF ; 

Usted también puede tener

define("PHP_SELF",$_SERVER['PHP_SELF']); 
echo PHP_SELF ; 
+1

suficiente. Has dado tantas opciones, haha ​​ – FirmView

+0

+1 @FirmView este es para ti 'var_dump ($ _ SERVER ['PHP_SELF'] == $ _SERVER ['REQUEST_URI']) // verdadero' – Baba

+2

Está bien Más referencias es mejor :) – adadeh

1

Parece que ciertas distribuciones de WordPress declaran $PHP_SELF = $_SERVER['PHP_SELF'] por razones que no puedo decir, deben ser algo de sorta herencia.

1

Tengo que resolver este error usando la URL de la página ... Ej. Al igual que

echo "<a href=\"$_PHP_SELF?page=$last\">Last 3 Records</a>"; 

usted tiene que quitar $ _PHP_SELF y la página de uso URL insert.php .......

1

que estaba recibiendo la misma, Notice: Undefined variable de _PHP_SELF Así que acaba de reemplazar $ _PHP_SELF a $ _SERVER [PHP_SELF] Ahora no obtengo ningún extra

0

Algunos shells borran el valor de $_SERVER['PHP_SELF'] como medida de seguridad. Es posible que deba consultar $_SERVER['argv'][0] si esto es lo que le está sucediendo.

Cuestiones relacionadas