¿Cómo puedo enviar datos POST a una URL en PHP (sin un formulario)?
Lo usaré para enviar una variable para completar y enviar un formulario.
¿Cómo puedo enviar datos POST a una URL en PHP (sin un formulario)?
Lo usaré para enviar una variable para completar y enviar un formulario.
Respuestas:
Si está buscando publicar datos en una URL desde el propio código PHP (sin usar un formulario html), puede hacerlo con curl. Se verá así:
$url = 'http://www.someurl.com';
$myvars = 'myvar1=' . $myvar1 . '&myvar2=' . $myvar2;
$ch = curl_init( $url );
curl_setopt( $ch, CURLOPT_POST, 1);
curl_setopt( $ch, CURLOPT_POSTFIELDS, $myvars);
curl_setopt( $ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt( $ch, CURLOPT_HEADER, 0);
curl_setopt( $ch, CURLOPT_RETURNTRANSFER, 1);
$response = curl_exec( $ch );
Esto enviará las variables de publicación a la URL especificada y lo que devuelve la página en $ respuesta.
CURLOPT_FOLLOWLOCATION
, CURLOPT_HEADER
y CURLOPT_RETURNTRANSFER
hacer? Prefiero no copiar el código que no entiendo completamente.
$url
tiene un $
porque en php así es como se indica una variable? ¿Dónde se traza la línea? "... no recibir más preguntas" no es la actitud de alguien que tendrá éxito en el autoaprendizaje, especialmente en la programación.
cURL-less que puedes usar en php5
$url = 'URL';
$data = array('field1' => 'value', 'field2' => 'value');
$options = array(
'http' => array(
'header' => "Content-type: application/x-www-form-urlencoded\r\n",
'method' => 'POST',
'content' => http_build_query($data),
)
);
$context = stream_context_create($options);
$result = file_get_contents($url, false, $context);
var_dump($result);
Su pregunta no es particularmente clara, pero en caso de que desee enviar datos POST a una URL sin usar un formulario, puede usar fsockopen o curl.
Aquí hay un tutorial bastante bueno de ambos