Warning: "continue" targeting switch is equivalent to "break". Did you mean to use "continue 2"? in /furanet/sites/piloto.foc.es/web/htdocs/wp-content/plugins/gravityforms/common.php on line 1121

Warning: "continue" targeting switch is equivalent to "break". Did you mean to use "continue 2"? in /furanet/sites/piloto.foc.es/web/htdocs/wp-content/plugins/gravityforms/common.php on line 1158

Warning: "continue" targeting switch is equivalent to "break". Did you mean to use "continue 2"? in /furanet/sites/piloto.foc.es/web/htdocs/wp-content/plugins/gravityforms/common.php on line 1162

Warning: "continue" targeting switch is equivalent to "break". Did you mean to use "continue 2"? in /furanet/sites/piloto.foc.es/web/htdocs/wp-content/plugins/gravityforms/common.php on line 1184

Warning: "continue" targeting switch is equivalent to "break". Did you mean to use "continue 2"? in /furanet/sites/piloto.foc.es/web/htdocs/wp-content/plugins/gravityforms/common.php on line 2853

Warning: "continue" targeting switch is equivalent to "break". Did you mean to use "continue 2"? in /furanet/sites/piloto.foc.es/web/htdocs/wp-content/plugins/gravityforms/common.php on line 2860

Warning: "continue" targeting switch is equivalent to "break". Did you mean to use "continue 2"? in /furanet/sites/piloto.foc.es/web/htdocs/wp-content/plugins/gravityforms/common.php on line 2873
{"id":2873,"date":"2016-07-22T11:41:30","date_gmt":"2016-07-22T09:41:30","guid":{"rendered":"http:\/\/www.foc.es\/?p=2873"},"modified":"2019-11-15T09:16:15","modified_gmt":"2019-11-15T08:16:15","slug":"lanzar-una-url-desde-php","status":"publish","type":"post","link":"http:\/\/piloto.foc.es\/2016\/07\/22\/2873-lanzar-una-url-desde-php.html","title":{"rendered":"Lanzar una URL desde PHP"},"content":{"rendered":"

En muchas ocasiones se nos plantea que debemos ejecutar una p\u00e1gina web desde la nuestra SIN PERDER EL CONTROL del flujo de ejecuci\u00f3n en nuestra p\u00e1gina. Veamos en este post c\u00f3mo Lanzar una URL desde PHP en segundo plano, sin abandonar la p\u00e1gina actual.<\/p>\n

Es una situaci\u00f3n por ejemplo que tenemos programada una web en la que agregamos informaci\u00f3n a una BD y despues queremos continuar con la ejecuci\u00f3n de nuestra web.<\/p>\n

Bien para eso existen varios modos de hacerlo. En este post nos centramos en el trabajo con la clase cURL de PHP.<\/p>\n

A trav\u00e9s de distintos m\u00e9todos podemos tanto construir el enlace junto los par\u00e1metros a enviar.<\/p>\n

Aqu\u00ed comienza el primer problema. \u00bfDeseamos enviar los par\u00e1metros por POST o por GET?.<\/p>\n

En el ejemplo que acompa\u00f1o, yo construyo este env\u00edo por el m\u00e9todo GET:<\/p>\n

 <\/p>\n\n\n\n
\n

<?php<\/strong><\/h4>\n

<…. c\u00f3digo deseado …..><\/strong><\/h4>\n

$url = ‘http:\/\/www.miurl.es\/guardardatos.php\/’;<\/strong>
\n $fields = array(<\/strong>
\n ‘nombre’ => urlencode($nombre),<\/strong>
\n ‘apellidos’ => urlencode($apellidos),<\/strong>
\n ‘email’ => urlencode($mail),<\/strong>
\n ‘telefono’ => urlencode($telefono),<\/strong>
\n ‘provincia’ => urlencode($provincia)<\/strong>
\n );<\/strong>
\n \/\/Poner los par\u00e1metros en el formato correcto<\/strong>
\n foreach($fields as $key=>$value) { $parametros .= $key.’=’.$value.’&’; }<\/strong>
\n rtrim($parametros, ‘&’);<\/strong><\/h4>\n

$url = $url . ‘?’ . $parametros;<\/strong><\/h4>\n

\/\/abrir conexi\u00f3n<\/strong>
\n $ch = curl_init();<\/strong><\/h4>\n

curl_setopt($ch,CURLOPT_URL, $url);<\/strong><\/h4>\n

curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);<\/strong><\/h4>\n

\/\/Si lo deseamos podemos recuperar la salida de la ejecuci\u00f3n de la URL<\/strong>
\n \/\/$resultado = curl_exec($ch);<\/strong><\/h4>\n

\/\/cerrar conexi\u00f3n<\/strong>
\n curl_close($ch);<\/strong><\/h4>\n

<…. c\u00f3digo deseado …..><\/strong><\/h4>\n

?><\/strong><\/h4>\n

<\/h4>\n

 <\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n

 <\/p>\n

Como digo la idea es que el flujo de la aplicaci\u00f3n continue en mi funcion. Se realizar\u00e1 una llamada a la URL\u00a0http:\/\/www.miurl.es\/guardardatos.php\/<\/strong>, junto con los par\u00e1metros que creemos en\u00a0el string $par\u00e1metros<\/strong> y podremos recibir lo que produzca la ejecuci\u00f3n de esa web que se realizar\u00e1 eso s\u00ed en segundo plano sin que el usuario aprecie nada.<\/p>\n

 <\/p>\n","protected":false},"excerpt":{"rendered":"

En muchas ocasiones se nos plantea que debemos ejecutar una p\u00e1gina web desde la nuestra SIN PERDER EL CONTROL del flujo de ejecuci\u00f3n en nuestra p\u00e1gina. Veamos en este post c\u00f3mo Lanzar una URL desde PHP en segundo plano, sin abandonar la p\u00e1gina actual. Es una situaci\u00f3n por ejemplo que tenemos programada una web en la que agregamos informaci\u00f3n a una BD y despues queremos continuar con la ejecuci\u00f3n de nuestra web. Bien para eso existen varios modos de hacerlo. En este post nos centramos en el trabajo con la clase cURL de PHP. A trav\u00e9s de distintos m\u00e9todos podemos tanto construir el enlace junto los par\u00e1metros a enviar. Aqu\u00ed comienza el primer problema. \u00bfDeseamos enviar los par\u00e1metros por POST o por GET?. En el ejemplo que acompa\u00f1o, yo construyo este env\u00edo por el m\u00e9todo GET:   <?php <…. c\u00f3digo deseado …..> $url = ‘http:\/\/www.miurl.es\/guardardatos.php\/’; $fields = array( ‘nombre’ => urlencode($nombre), ‘apellidos’ => urlencode($apellidos), ‘email’ => urlencode($mail), ‘telefono’ => urlencode($telefono), ‘provincia’ => urlencode($provincia) ); \/\/Poner los par\u00e1metros en el formato correcto foreach($fields as $key=>$value) { $parametros .= $key.’=’.$value.’&’; } rtrim($parametros, ‘&’); $url = $url . ‘?’ . $parametros; \/\/abrir conexi\u00f3n $ch = curl_init(); curl_setopt($ch,CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); \/\/Si lo […]<\/p>\n","protected":false},"author":3,"featured_media":2884,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"spay_email":""},"categories":[27,427],"tags":[509,62],"jetpack_featured_media_url":"http:\/\/piloto.foc.es\/wp-content\/uploads\/2016\/07\/PHP_logo.png","jetpack_sharing_enabled":true,"jetpack-related-posts":[],"jetpack_shortlink":"https:\/\/wp.me\/p6jO3Y-Kl","amp_validity":null,"amp_enabled":true,"_links":{"self":[{"href":"http:\/\/piloto.foc.es\/wp-json\/wp\/v2\/posts\/2873"}],"collection":[{"href":"http:\/\/piloto.foc.es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/piloto.foc.es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/piloto.foc.es\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"http:\/\/piloto.foc.es\/wp-json\/wp\/v2\/comments?post=2873"}],"version-history":[{"count":4,"href":"http:\/\/piloto.foc.es\/wp-json\/wp\/v2\/posts\/2873\/revisions"}],"predecessor-version":[{"id":2883,"href":"http:\/\/piloto.foc.es\/wp-json\/wp\/v2\/posts\/2873\/revisions\/2883"}],"wp:featuredmedia":[{"embeddable":true,"href":"http:\/\/piloto.foc.es\/wp-json\/wp\/v2\/media\/2884"}],"wp:attachment":[{"href":"http:\/\/piloto.foc.es\/wp-json\/wp\/v2\/media?parent=2873"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/piloto.foc.es\/wp-json\/wp\/v2\/categories?post=2873"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/piloto.foc.es\/wp-json\/wp\/v2\/tags?post=2873"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}