Come posso inviare i dati POST a un URL in PHP (senza un modulo)?
Lo userò per inviare una variabile per completare e inviare un modulo.
Come posso inviare i dati POST a un URL in PHP (senza un modulo)?
Lo userò per inviare una variabile per completare e inviare un modulo.
Risposte:
Se stai cercando di inviare dati a un URL dal codice PHP stesso (senza utilizzare un modulo html), puoi farlo con curl. Sarà simile a questo:
$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 );
Questo invierà le variabili del post all'URL specificato e ciò che la pagina restituirà sarà in $ response.
CURLOPT_FOLLOWLOCATION
, CURLOPT_HEADER
e CURLOPT_RETURNTRANSFER
fare? Preferisco non copiare codice che non comprendo appieno.
$url
ha un $
perché in php è così che indichi una variabile? Dove traccia la linea? "... non avere più domande" non è l'atteggiamento di chi riuscirà ad autoapprendere, soprattutto a programmare.
cURL-less che puoi usare in 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);
La tua domanda non è particolarmente chiara, ma nel caso in cui desideri inviare dati POST a un URL senza utilizzare un modulo, puoi utilizzare fsockopen o curl.