为了账号安全,请及时绑定邮箱和手机立即绑定

如何在这 3 部分 PHP 注册表单中调用会话数组中的数组

如何在这 3 部分 PHP 注册表单中调用会话数组中的数组

PHP
繁星coding 2022-01-24 11:02:01
这是我在这里的第一个问题。请理解我是在自学,所以我所做的可能没有任何意义。如果您对我为什么做某事有任何疑问,请随时问我为什么,如果这不是正确的做法,请纠正我。I tried to make a 3 part form using $_SESSIONS to transfer over the data. 1) 我可以显示除我在第 2 页中所做的复选框之外的所有内容。我希望它显示在最后:You are interested in: html, css如果我检查 html 和 css 的复选框。我如何编写代码来做到这一点2) 我使用教程和谷歌的组合进行了编码,虽然这些部分似乎有些工作,但我知道编码风格是“新手”。如果您对如何提高可用性或编码风格有任何建议,请告诉我。3) 当我刷新第 4 页时,我看到我丢失了一些数据,因为我正在调用 session_destroy()。有什么办法可以让页面显示:“如果刷新,就会丢失数据”?我已经用谷歌搜索了我能做的让我的项目大部分功能的东西,我只是停留在这部分。第 1 页:<?php include_once('header.php'); ?>     <div id="main">        <div id="form">            <form action="page2.php" method="post">            <h1 style="font-family: Verdana"> Step 1: Contact Information </h1>              <?php                $style = 'margin: 15px 0px 15px 0px; padding-top: 5px; padding-bottom: 5px;';                required_text('name', 'name', 'Your Name', '80', 'Enter your name', $style);                $style = 'margin: 15px 0px 15px 0px; padding-top: 5px; padding-bottom: 5px;';                required_email('email', 'email', 'Your E-mail', '80', 'Enter your email', $style);                submit('Go To Step Two', 'primary-button'); ?>            </form>        </div>     </div>     <div id="footer" style="text-weight: bold; font-family: impact; color: white; margin-top: 50px; font-size: 25px; text-align: center;">          &copy; FocusedOnSomething     </div>  </div></div> </body></html>第2页     <?php include_once('header.php') ?>     <?php         if (! empty ($_POST)) {            $_SESSION['name'] = $_POST['name'];            $_SESSION['email'] = $_POST['email'];         }     ?>     <?php print_r($_SESSION); ?>     <div id="main">        <div id="form">            <form method="post"action="page3.php">            <h1 style="font-family: Verdana"> Step 2 </h1>               <label class="checkbox-inline" for="interests">
查看完整描述

1 回答

?
梵蒂冈之花

TA贡献1900条经验 获得超5个赞

复选框的值存储在 $_POST 中的一个数组中,您需要遍历它们以获取每个复选框的值:


// Initialise interest list as empty string

$interestList = '';


// Loop through checked interests

foreach($_POST['interests'] as $interest){

    // Add checked interest to string containing list of interests

    $interestList .= $interest . ', ';

}


// Remove last comma and space from interest list

if(strlen($interestList)) {

    $interestList = substr($interestList, 0, -2);

}

为了弹出有关刷新页面的警告,您需要window.onbeforeunload在 javascript 中的某个位置使用。对此的浏览器兼容性是不完整的,可能无法为您提供所需的结果。


查看完整回答
反对 回复 2022-01-24
  • 1 回答
  • 0 关注
  • 131 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信