¿Alguien puede explicarme esto?
Tengo el siguiente código:
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
<input type="text" id="testField" />
<input type="submit">
</form>
<br /><br />
<pre>
<?php print_r($_POST); ?>
</pre>
Esto funciona muy bien en mi caja principal dev, y en el servidor. Sin embargo, tengo que trabajar de forma remota en mi computadora portátil en este momento. Instalé exactamente la misma versión de WAMPServer 2.1a que en mi configuración de desarrollo, y la matriz $ _POST está vacía.
Si declaro el campo como:
<input type="text" name="testField" />
consigo la salida esperada.
Fuera del punto, pero debe tener en cuenta que esto crea una vulnerabilidad XSS: ' Php echo $ _SERVER ['PHP_SELF']; ?> '. En su lugar use ' Php echo htmlentities ($ _ SERVER ['PHP_SELF']); ?> '. – Chris