d_01 Posted March 27, 2009 Report Share Posted March 27, 2009 Sveiki! Es vēlos redirektēt lietotāju ar POST datiem uz $URL neizmantojot <form> submit`u. Ja būtu nepieciešams izmantot GET, tad būtu lietojis <? header( "Location:".$url."?a=1&b=2"); ?> Jautājums: Vai var nosūtīt POST vērtības izmantojot to pašu header() ? un ja var, tad kā? un ko Jūs man ieteiktu ? Varbūt <form method='POST'> javascript myform.submit() nav ne vainas :? Paldies! Quote Link to comment Share on other sites More sharing options...
marcis Posted March 27, 2009 Report Share Posted March 27, 2009 http_post_fields() Quote Link to comment Share on other sites More sharing options...
d_01 Posted March 27, 2009 Author Report Share Posted March 27, 2009 (edited) http_post_fields() Paldies marci par atbildi! Jā, ar http_post_fields() POST notiek + content URL lapai es varu dabūt bet kā lai aizsūta pašu lietotāju uz turieni.? jo šādā veidā lietotājs paliek manā pusē echo http_post_fields('http://saite.lv' , array('a' => 1, 'b' => 2)); Edited March 27, 2009 by d_01 Quote Link to comment Share on other sites More sharing options...
marcis Posted March 27, 2009 Report Share Posted March 27, 2009 Tad jau jāprasa, kur bija problēma nosubmitēt formu uzreiz uz citu lapu? Kaut kāds submits jau tev tev notiek jebkurā gadījumā, ne? Quote Link to comment Share on other sites More sharing options...
d_01 Posted March 27, 2009 Author Report Share Posted March 27, 2009 Tad jau jāprasa, kur bija problēma nosubmitēt formu uzreiz uz citu lapu? Kaut kāds submits jau tev tev notiek jebkurā gadījumā, ne? pirms nosūtīt uz citu lapu vaig iziet cauri logout.php. uz logout.php nosūtas masīvs, kurā ir lauki tālākam POST submit. Ja lietotājam nav javascript, tad ar js submit() nedrīkst, jo tad viņš vispār nekur nenokļūs. vaig lai strādātu bez js Quote Link to comment Share on other sites More sharing options...
marcis Posted March 27, 2009 Report Share Posted March 27, 2009 Tad izmanto to pašu header(); $data = urlencode("lauks1=vertiba&lauks2=vertiba"); header("POST /posta/ceļš/fails.php HTTP/1.1\r\n" ); header("Host: www.citalapa.lv\r\n" ); header("Content-type: application/x-www-form-urlencoded\r\n" ); header("Content-length: ".strlen($data)."\r\n" ); header("Connection: close\r\n\r\n" ); echo $data; Quote Link to comment Share on other sites More sharing options...
v3rb0 Posted March 27, 2009 Report Share Posted March 27, 2009 (edited) a tā strādā? :) šitādus headerus sūta browseris, kas submito formu, bet kad browserim ar tādiem atbild, vai šis zinās, ka viņam uzreiz jāizsūta pieprasījums ar tādiem headeriem? ff3 toč neko nesūta. ja tiešām vajag post un negribi padot tos argumentus ar get, tad var ar curl mēģināt. // t.php $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, "http://localhost/t2.php"); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, "a=1&b=2"); curl_exec($ch); curl_close($ch); //t2.php print_r($_POST); Edited March 27, 2009 by v3rb0 Quote Link to comment Share on other sites More sharing options...
d_01 Posted March 27, 2009 Author Report Share Posted March 27, 2009 (edited) Tad izmanto to pašu header(); $data = urlencode("lauks1=vertiba&lauks2=vertiba"); header("POST /posta/ceļš/fails.php HTTP/1.1\r\n" ); header("Host: www.citalapa.lv\r\n" ); header("Content-type: application/x-www-form-urlencoded\r\n" ); header("Content-length: ".strlen($data)."\r\n" ); header("Connection: close\r\n\r\n" ); echo $data; šito variantu jau mēģināju. diemžēl arī ar otro piegājienu nenotiek kā gribēts. izmēģinājos visādi. un cik nu es saprotu ir tas ka pārlūkprograma Content-type: application/x-www-form-urlencoded\r\n uztver kā kaut ko kas ir kaut kā jāatver. un ja nevar atvērt tad uzreiz piedāvā saglabāt kaut kur. v3rb0 laikam pareizi runā, ka tas ir tas kas sūtas prom, bet ne pretēji Edited March 27, 2009 by d_01 Quote Link to comment Share on other sites More sharing options...
d_01 Posted March 27, 2009 Author Report Share Posted March 27, 2009 (edited) Paldies par atsaucību! bet cik zinu, tad curl izpilda pieprasijumu, bet pašu lietotāju ar pārlūkprogramu neredirektē nekur. ok.. ja šitais neiet cauri, tad kā varētu savādāk to pašu problēmu atrisināt., bez šitā visa (protams neatsakos arī no šī risinājuma) kā lai izveido darbību: lietotājs spiež iet uz citu lapu un kad viņš to nospiež, pie viena arī nostrādā logout, kurš izpilda session_destroy(); unset($_COOKIE); viens kas uzreiz prātā -> ajax.. bet tas nav vēlams,. noteikti ka var kā savādāk. Edited March 27, 2009 by d_01 Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.