valor - recibir un dato en php
Problema PHP HTTP_POST_VARS (3)
Para comenzar: soy un desarrollador de C ++ que está involucrado en la creación de un script PHP (para IPN de Paypal).
Me he sentido increíblemente frustrado con la falta de buenas muestras de trabajo de PayPal y de otros lugares.
El último problema es que parece que no recibo ninguno de los $ HTTP_POST_VARS elementos que creo que debería obtener.
Algunas búsquedas en línea parecen indicar que esto es obsoleto o configurable, etc.
No tengo idea de qué versión de PHP se usa en mi host.
Parece claro que mis aplicaciones de prueba no se publican correctamente o el script no funciona.
entonces: 2 preguntas: - ¿Alguien tiene algún enlace a las secuencias de comandos de IPN que funcionan? - ¿Qué ofrece el absurdo $ HTTP_POST_VARS?
EDITAR
gracias a todos. Probaré estas sugerencias y publicaré mi historia de éxito pronto, espero.
Como el caos ya escribió, simplemente use la matriz $_POST
lugar de $HTTP_POST_VAR
.
Dos cosas que me gustaría mencionar:
1. La función var_dump(somevar)
es muy útil en php. Muestra información estructurada sobre somevar
. Si no está seguro de cómo es alguna variable o matriz o lo que está estructurado, simplemente use esta función. Entonces esta llamada var_dump($_POST);
le mostrará todos los parámetros de POST actuales.
2. phpinfo()
función phpinfo()
es útil si le interesa qué versión y qué extensiones está usando su host. Solo crea un archivo con <?php phpinfo(); ?>
<?php phpinfo(); ?>
en él y navegue con el navegador a este archivo. No olvides quitarlo después de esto, debido a la fuga de seguridad.
Lo primero que debe hacer es cambiar $ HTTP_POST_VARS por $ _POST. Ese es el nuevo mecanismo, y después de alguna versión u otra, $ HTTP_POST_VARS dejó de ser un superglobal.
Puede verificar qué versión de PHP está usando al escribir phpinfo();
en un bloque de scripts de PHP <?php ?>
y ver lo que muestra (o simplemente echo PHP_VERSION
).
$HTTP_POST_VARS
es la forma antigua de hacer las cosas. Puede usar $_POST[''post-var'']
. Para examinar todo lo publicado, use print_r($_POST)
.