猿问

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

这是我在这里的第一个问题。请理解我是在自学,所以我所做的可能没有任何意义。如果您对我为什么做某事有任何疑问,请随时问我为什么,如果这不是正确的做法,请纠正我。


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">



繁星coding
浏览 132回答 1
1回答

梵蒂冈之花

复选框的值存储在 $_POST 中的一个数组中,您需要遍历它们以获取每个复选框的值:// Initialise interest list as empty string$interestList = '';// Loop through checked interestsforeach($_POST['interests'] as $interest){&nbsp; &nbsp; // Add checked interest to string containing list of interests&nbsp; &nbsp; $interestList .= $interest . ', ';}// Remove last comma and space from interest listif(strlen($interestList)) {&nbsp; &nbsp; $interestList = substr($interestList, 0, -2);}为了弹出有关刷新页面的警告,您需要window.onbeforeunload在 javascript 中的某个位置使用。对此的浏览器兼容性是不完整的,可能无法为您提供所需的结果。
随时随地看视频慕课网APP
我要回答