Ciao a tutti,
ho letto in lungo e in largo ma non ne vengo fuori..
Ho un form (https://domain1/page.html) e vorrei:
* mascherarlo con uno mio (https://domain2/page.html)
* postarci tutti i campi a partire dal mio (https://domain1/page.html)
* ritornare la pagina di ringraziamentore del form originale
(https://domain1/page.html) quando sottometto con il mio form
(https://domain2/page.html)
https://domain1/page.html ha un tag particolare:
<form method="post" id='signup' onsubmit="return validate_form();">
la funzione javascript ritorna un 'true'.
se compilo tutti i campi e sottometto, il browser mi ritorna una pagina di ringraziamento nella stessa pagina: https://domain1/page.html
ho creato il mio form in https://domain2/page.html
questo richiama https://domain2/my.php che posta i campi al form originale con questo codice:
se compilo tutti i campi del mio form (https://domain2/page.html)
e sottometto, il browser mi ritorna la pagina del form originale
(https://domain1/page.html) con tutti i campi compilati e non la pagina di ringraziamento.
ho testato my.php con più opzioni della libreria facendo più combinazioni delle opzioni seguenti:
I controllato le opzioni php safe e basedir, gli errori della libreria e le info che ritorna l'url:
E ottengo che:
* php lavora con safe_mode e open_basedir ON
* il posting via curl non ha errori:
File uploaded succesfully ([0]): url = https://domain1/page.html;
content_type = text/html; http_code = 200; header_size = 393;
request_size = 175; filetime = -1; ssl_verify_result = 0;
redirect_count = 0; total_time = 1.60061; namelookup_time = 0.002403;
connect_time = 0.143216; pretransfer_time = 0.438166; size_upload =
4552; size_download = 51836; speed_download = 32385; speed_upload =
2843; download_content_length = 0; upload_content_length = 4552;
starttransfer_time = 0.589802; redirect_time = 0; .1
Non comprendo dove o cosa devo modificare perchè il browser mi ritorni la pagina di ringraziamento (https://domain1/page.html) quando ho compilato e sottomesso il mio form (https://domain2/page.html).
potete aiutarmi?
Alessandra.
ho letto in lungo e in largo ma non ne vengo fuori..
Ho un form (https://domain1/page.html) e vorrei:
* mascherarlo con uno mio (https://domain2/page.html)
* postarci tutti i campi a partire dal mio (https://domain1/page.html)
* ritornare la pagina di ringraziamentore del form originale
(https://domain1/page.html) quando sottometto con il mio form
(https://domain2/page.html)
https://domain1/page.html ha un tag particolare:
<form method="post" id='signup' onsubmit="return validate_form();">
la funzione javascript ritorna un 'true'.
se compilo tutti i campi e sottometto, il browser mi ritorna una pagina di ringraziamento nella stessa pagina: https://domain1/page.html
ho creato il mio form in https://domain2/page.html
questo richiama https://domain2/my.php che posta i campi al form originale con questo codice:
Codice:
..
$url = "https://domain1/page.html";
$user_agent = "Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, count($postdata));
curl_setopt($ch, CURLOPT_POSTFIELDS, $req);
curl_setopt($ch, CURLOPT_USERAGENT, $user_agent);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
$result = curl_exec($ch);
..
se compilo tutti i campi del mio form (https://domain2/page.html)
e sottometto, il browser mi ritorna la pagina del form originale
(https://domain1/page.html) con tutti i campi compilati e non la pagina di ringraziamento.
ho testato my.php con più opzioni della libreria facendo più combinazioni delle opzioni seguenti:
Codice:
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 1);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 30);
curl_setopt($ch, CURLOPT_AUTOREFERER, 1);
curl_setopt($ch, CURLOPT_FAILONERROR, 0);
curl_setopt($ch, CURLOPT_FRESH_CONNECT, 1);
I controllato le opzioni php safe e basedir, gli errori della libreria e le info che ritorna l'url:
Codice:
.. codice precedente..
if(!ini_get('safe_mode') && !ini_get("open_basedir")) {
echo "n safe, n basedir: CURLOPT_FOLLOWLOCATION, true";
} elseif(!ini_get("open_basedir")) {
echo "y safe, n basedir";
} elseif(!ini_get('safe_mode')) {
echo "n safe, y basedir";
} else {
echo "y safe, y basedir";
}
$error_no = curl_errno($ch);
$error_wd = curl_error($ch);
$url_info = curl_getinfo($ch);
$result = curl_exec($ch);
curl_close($ch);
$strg = "";
foreach ($url_info as $k => $v) {
$strg .= "$k = $v; ";
}
if ($error_no == 0) {
$error = '<br/>File uploaded succesfully
('.$error_wd.'['.$error_no.']): '.$strg.'.';
} else {
$error = '<br/>File upload error ('.$error_wd.'['.$error_no.']): '.$strg.'.';
}
echo $error;
E ottengo che:
* php lavora con safe_mode e open_basedir ON
* il posting via curl non ha errori:
File uploaded succesfully ([0]): url = https://domain1/page.html;
content_type = text/html; http_code = 200; header_size = 393;
request_size = 175; filetime = -1; ssl_verify_result = 0;
redirect_count = 0; total_time = 1.60061; namelookup_time = 0.002403;
connect_time = 0.143216; pretransfer_time = 0.438166; size_upload =
4552; size_download = 51836; speed_download = 32385; speed_upload =
2843; download_content_length = 0; upload_content_length = 4552;
starttransfer_time = 0.589802; redirect_time = 0; .1
Non comprendo dove o cosa devo modificare perchè il browser mi ritorni la pagina di ringraziamento (https://domain1/page.html) quando ho compilato e sottomesso il mio form (https://domain2/page.html).
potete aiutarmi?
Alessandra.