php - 将存储在会话中的值传递到联系表单 7 中的输入字段
问题描述
我正在上传联系表格 7。客户可以保存他的输入提交表格过程,并在他需要填写相同的字段时上传。
我能够将表单输入值保存在 .dat 文件中。现在在我的表单页面中上传时,我将此字段存储在会话中。我遇到的麻烦是,如何将该会话值传递给表单输入。
例如,我创建了以下代码:
if(!empty($_SESSION['uploaded_file_data']) && is_array($_SESSION['uploaded_file_data'])){
foreach ($_SESSION['uploaded_file_data'] as $key => $value){
$_POST[$key] = $value;
}
unset($_SESSION['uploaded_file_data']);
}
其中 $_SESSION['uploaded_file_data'] 数据与
var_dump($_SESSION['uploaded_file_data'])
看起来像这样:
array (
'_wpcf7' => '2899',
'_wpcf7_version' => '5.0.5',
'_wpcf7_locale' => 'en_US',
'_wpcf7_unit_tag' => 'wpcf7-f2899-o1',
'_wpcf7_container_post' => '0',
'_wpcf7cf_hidden_group_fields' => '[]',
'_wpcf7cf_hidden_groups' => '[]',
'_wpcf7cf_visible_groups' => '[]',
'_wpcf7cf_options' => '{"form_id":2899,"conditions":[],"settings":false}',
'gender' => 'Mr.',
'full_name_signatory_person' => 'Test Name',
'id_number_signature' => '1231111',
'company_name_signature' => 'Test Company',
'country_of_registration' => 'Test Country',
'registration_or_vat_number' => '23-886-BO',
'company_main_full_address' => 'Test Address',
'date' => '03 01 2019',
'gender2' => 'Mr.', ...
等等。所以结果很好,只需要帮助弄清楚为什么这个 $_POST[$key] = $value,没有向输入字段添加值。我错过了什么?
解决方案
请考虑用这个改进您的解决方案
<?php $full_name_signatory_person = filter_input(INPUT_POST, 'full_name_signatory_person', FILTER_SANITIZE_MAGIC_QUOTES); ?>
$('[name="full_name_signatory_person"]').val("<?= $full_name_signatory_person ?>");
访问超全局变量 - 不是很好的做法,请改用 filter_input 来防止 XSS 攻击。
推荐阅读
- string - 如何获得小写 &str vec?
- highcharts - Highcharts Navigator 动态缩放
- docker-build - 无法从 https://github.com/oracle/docker-images/tree/main/OracleJava/8 构建 docker 映像 oracle/serverjre8
- javascript - 为 .NET CORE MVC 中的 HTTP Post API 调用保存过滤器
- python - 为什么动画情节提供的情节与静态情节不同
- c++ - 动态数组中的错误分段错误
- android - 当移动数据关闭时,TrafficStats.getMobileTxBytes() 返回负数,当数据打开时,它返回启动时的总数据
- javascript - 在 react native expo 中跟踪客户端 URL 的其他方法
- rust - 一个函数可以同时采用 IntoIterator
和 IntoIterator<&T>? - node.js - 通过 VSCode 终端安装 npm 报错