{"id":36865,"date":"2020-07-28T10:28:00","date_gmt":"2020-07-28T10:28:00","guid":{"rendered":"https:\/\/contactform7.com\/?p=36865"},"modified":"2021-01-20T12:04:17","modified_gmt":"2021-01-20T03:04:17","slug":"accessing-user-input-data","status":"publish","type":"post","link":"https:\/\/contactform7.com\/es\/2020\/07\/28\/accessing-user-input-data\/","title":{"rendered":"Accediendo a los datos introducidos por el usuario"},"content":{"rendered":"\n<p>Para acceder a los datos de entrada del usuario enviados a trav\u00e9s de un formulario de contacto, puedes consultar la variable global nativa de PHP <code>$_POST<\/code>. Adem\u00e1s de esta, la clase <code>WPCF7_Submission<\/code> de Contact Form 7 proporciona una fuente de datos diferente (<code>$posted_data<\/code>) que se puede utilizar para acceder a los datos de entrada del usuario. \u00bfCu\u00e1les son las diferencias entre <code>$_POST<\/code> y <code>$posted_data<\/code>? \u00bfY cu\u00e1l deber\u00edas usar para tu prop\u00f3sito?<\/p>\n\n\n\n\n\n\n<!--more-->\n\n\n\n<p><code>$_POST<\/code> incluye los datos sin procesar que el usuario ha enviado. <code>$posted_data<\/code> incluye los datos saneados y procesados \u200b\u200bpara su uso por parte de Contact Form 7.<\/p>\n\n\n\n<p>Si bien <code>$_POST<\/code> incluye todos los datos enviados, algunos de los que representan la metainformaci\u00f3n del env\u00edo (como el ID del formulario de contacto) y otros que son irrelevantes para las intenciones del remitente (como la respuesta al CAPTCHA) se excluyen de <code>$posted_data<\/code>.<\/p>\n\n\n\n<p>El siguiente fragmento de c\u00f3digo muestra un ejemplo que recupera los datos de entrada del usuario desde <code>$posted_data<\/code>.<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: php; highlight: [4,7]; title: ; notranslate\" title=\"\">\nadd_action( &#039;wpcf7_before_send_mail&#039;,\n  function( $contact_form, $abort, $submission ) {\n    \/\/ Obteniendo informaci\u00f3n del usuario a trav\u00e9s del campo \u00abyour-email\u00bb\n    $tu_email = $submission-&gt;get_posted_data( &#039;tu-email&#039; );\n\n    \/\/ Obteniendo informaci\u00f3n del usuario a trav\u00e9s del campo \u00abyour-message\u00bb\n    $tu_mensaje = $submission-&gt;get_posted_data( &#039;tu-mensaje&#039; );\n\n    \/\/ Haz algunas cosas productivas aqu\u00ed\n  },\n  10, 3\n);\n<\/pre><\/div>\n\n\n<p>Como puede ver en este ejemplo, usas el m\u00e9todo <code>get_posted_data()<\/code> para acceder a los datos. No tienes permiso para acceder directamente a la propiedad <code>$posted_data<\/code>.<\/p>\n\n\n\n<p>El valor que devuelve <code>get_posted_data()<\/code> es una cadena o una array de valores de cadena. Es recomendado tratar el valor devuelto siempre asumiendo ambos casos, como en el siguiente ejemplo:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: php; title: ; notranslate\" title=\"\">\n$tu_email = $submission-&gt;get_posted_data( &#039;tu-email&#039; );\n \n\/\/ Analiza el array y une los elementos con una coma.\n$tu_email = implode( &#039;, &#039;, (array) $tu_email );\n<\/pre><\/div>\n\n\n<h4 class=\"wp-block-heading\">No uses $posted_data para la validaci\u00f3n o el filtrado de mensajes no deseados.<\/h4>\n\n\n\n<p>No uses <code>$posted_data<\/code> para la <a href=\"https:\/\/contactform7.com\/es\/2015\/03\/28\/custom-validation\/\">validaci\u00f3n de los datos de entrada<\/a> o el <a href=\"https:\/\/contactform7.com\/es\/2020\/07\/18\/custom-spam-filtering\/\">filtrado de mensajes no deseados<\/a>. Usa <code>$_POST<\/code> en su lugar, porque esas tareas tienen sentido solo cuando se realizan contra los datos de entrada del usuario sin procesar.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Para acceder a los datos de entrada del usuario enviados a trav\u00e9s de un formulario de contacto, puedes consultar la variable global nativa de PHP $_POST. Adem\u00e1s de esta, la clase WPCF7_Submission de Contact Form 7 proporciona una fuente de datos diferente ($posted_data) que se puede utilizar para acceder a los datos de entrada del &hellip; <a href=\"https:\/\/contactform7.com\/es\/2020\/07\/28\/accessing-user-input-data\/\" class=\"more-link\">Seguir leyendo <span class=\"screen-reader-text\">Accediendo a los datos introducidos por el usuario<\/span> <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":3,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_locale":"es_ES","_original_post":"https:\/\/contactform7.com\/?p=36856","footnotes":"","jetpack_post_was_ever_published":false},"categories":[19],"tags":[],"class_list":["post-36865","post","type-post","status-publish","format-standard","hentry","category-cookbook","es-ES"],"jetpack_featured_media_url":"","jetpack_likes_enabled":true,"jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/contactform7.com\/wp-json\/wp\/v2\/posts\/36865","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/contactform7.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/contactform7.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/contactform7.com\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/contactform7.com\/wp-json\/wp\/v2\/comments?post=36865"}],"version-history":[{"count":0,"href":"https:\/\/contactform7.com\/wp-json\/wp\/v2\/posts\/36865\/revisions"}],"wp:attachment":[{"href":"https:\/\/contactform7.com\/wp-json\/wp\/v2\/media?parent=36865"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/contactform7.com\/wp-json\/wp\/v2\/categories?post=36865"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/contactform7.com\/wp-json\/wp\/v2\/tags?post=36865"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}