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":[{"id":3335,"url":"http:\/\/piloto.foc.es\/2017\/04\/04\/3335-ejemplo-de-script-para-proteger-el-codigo-fuente-de-nuestra-pagina-web.html","url_meta":{"origin":2873,"position":0},"title":"Ejemplo de script para proteger el c\u00f3digo fuente de nuestra p\u00e1gina web","date":"4 abril, 2017","format":false,"excerpt":"Con un sencillo Script podemos proteger nuestro c\u00f3digo web y evitar que aquellos que andan con falta de inspiraci\u00f3n o con pocas \u00a0ganas de \u201ccurr\u00e1rselo\u201d, puedan robarnos nuestro c\u00f3digo web. Despu\u00e9s de probar muchos m\u00e9todos puedo deciros que ninguno es seguro, la mayor\u00eda se limitan a bloquear el bot\u00f3n derecho\u2026","rel":"","context":"En \u00abCertificado de Profesionalidad\u00bb","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":850,"url":"http:\/\/piloto.foc.es\/2013\/03\/21\/850-practicas-erroneas-que-cometen-los-desarrolladores-de-php.html","url_meta":{"origin":2873,"position":1},"title":"Pr\u00e1cticas err\u00f3neas que cometen los desarrolladores de PHP","date":"21 marzo, 2013","format":false,"excerpt":"En la actualidad hay muchas aplicaciones realizadas por los desarrolladores de PHP. Muchos de estos desarrollares caen en los siguientes errores a la hora de realizar un desarrollo web. Los principales errores que suelen cometer son: 1.- Utilizar el motor de base de datos MyISAM en vez de INNODB. Normalmente\u2026","rel":"","context":"En \u00abTaller Tecnol\u00f3gico\u00bb","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":2725,"url":"http:\/\/piloto.foc.es\/2016\/05\/30\/2725-como-instalar-symfony-en-windows.html","url_meta":{"origin":2873,"position":2},"title":"\u00bfC\u00f3mo instalar Symfony en Windows?","date":"30 mayo, 2016","format":false,"excerpt":"Symfony es un Framework programado en PHP que nos permite agilizar la programaci\u00f3n de aplicaciones web a partir de la reutilizaci\u00f3n de m\u00f3dulos ya programados y de funciones que forman parte de este Framework (ver mas....). Para trabajar con Symfony lo primero que debemos hacer es instalarlo en nuestra m\u00e1quina\u2026","rel":"","context":"En \u00abTaller Tecnol\u00f3gico\u00bb","img":{"alt_text":"Instalar Symfony","src":"https:\/\/i1.wp.com\/piloto.foc.es\/wp-content\/uploads\/2016\/05\/symfony-path-instalar-banner.jpg?resize=350%2C200","width":350,"height":200},"classes":[]},{"id":2819,"url":"http:\/\/piloto.foc.es\/2016\/07\/06\/2819-como-abrir-una-url-desde-vba.html","url_meta":{"origin":2873,"position":3},"title":"C\u00f3mo abrir una URL desde VBA","date":"6 julio, 2016","format":false,"excerpt":"VBA es el lenguaje de programaci\u00f3n que usan las aplicaciones de Microsoft Office que permite programar acciones para estas aplicaciones que por s\u00ed solas no pueden realizar. Cuando construimos una macro (por ejemplo), la aplicaci\u00f3n Office correspondiente escribe el c\u00f3digo equivalente\u00a0en VBA, \u00a0que realiza las operaciones que hemos indicado en\u2026","rel":"","context":"En \u00abGeneral\u00bb","img":{"alt_text":"","src":"https:\/\/i0.wp.com\/piloto.foc.es\/wp-content\/uploads\/2016\/07\/VBA-foc.jpg?resize=350%2C200","width":350,"height":200},"classes":[]},{"id":3766,"url":"http:\/\/piloto.foc.es\/2017\/08\/22\/3766-como-mostrar-la-fecha-y-hora-actual-en-nuestra-pagina-web-usando-javascripts.html","url_meta":{"origin":2873,"position":4},"title":"Como mostrar la fecha y hora actual en nuestra p\u00e1gina web usando Javascripts.","date":"22 agosto, 2017","format":false,"excerpt":"Todos nuestros alumnos\u00a0 que han cursado el certificado de profesionalidad IFCD0210-Desarrollo de Aplicaciones con Tecnolog\u00edas Web, \u00a0conocen que Javascripts es un lenguaje que se ejecuta en el lado del cliente. Permitiendo esto una serie de funcionalidades que hacen que la p\u00e1gina cambie su contenido sin necesidad de llamadas al servidor,\u2026","rel":"","context":"En \u00abActualidad Tecnol\u00f3gica\u00bb","img":{"alt_text":"","src":"https:\/\/i0.wp.com\/piloto.foc.es\/wp-content\/uploads\/2017\/08\/Reloj-Digital-JS.png?resize=350%2C200","width":350,"height":200},"classes":[]},{"id":390,"url":"http:\/\/piloto.foc.es\/2010\/10\/15\/390-certificaciones-php.html","url_meta":{"origin":2873,"position":5},"title":"Certificaciones PHP","date":"15 octubre, 2010","format":false,"excerpt":"Desde el centro FOC pod\u00e9is solicitar el ex\u00e1men para la certificaci\u00f3n 2010 Zend\/PHP Conference & Expo. El ex\u00e1men Zend PHP de certificaci\u00f3n proporciona reconocimiento de la industria del conocimiento y la habilidad con PHP. Obtener una ventaja sobre otros programadores de PHP que no est\u00e1n certificados, cuando se busca un\u2026","rel":"","context":"En \u00abCertificaciones TIC\u00bb","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]}],"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}]}}