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

使用后数组数据创建必须单独操作的多个表单

使用后数组数据创建必须单独操作的多个表单

PHP
呼唤远方 2021-12-24 09:36:37
我正在制作培训课程签收页面。我正在提交一份已参加并接受过培训的用户和文档的列表。现在我希望为参加的每个用户(来自帖子数据)制作一个签收页面。我想创建一个显示用户并请求他们的密码以继续的表单。(这将向 db 提交一个 mysql 查询),如果 post 数据中有更多用户,则生成一个表单供下一个人签名,依此类推,直到 post 数据数组中的所有用户都完成。然后在全部完成后返回标准页面。(或跳过)。如果他们决定不签名,我希望能够跳过一个用户并移动到下一个用户。我已经尝试了许多循环和 foreach 并使用隐藏的输入来查看我是否可以在用户之间循环,但是在第一个循环之后,我似乎总是陷入困境。    <?php if(isset($_POST['submit'])){ ?><div class="card-box"> <?php $posttrainer=$_POST['trainer']; $postlocation=$_POST['location']; $postdatetrained=$_POST['datetrained']; $postaddnotes=$_POST['additionalnotes']; $posttdocs=$_POST['tdocs']; $posttusers=$_POST['tusers']; $totaldocs=sizeof($posttdocs); // do not worry about this for now $totalusers=sizeof($posttusers); // key factorfor($i=0;$i<$totalusers;$i++){$TUSERS=$posttusers[$i];print"<input value=".$TUSERS." name='user[]'><BR>";?><form method="post" name="submit" id="" action="gotonextuser.php"> <label>User Name:                                       <input class="form-control" type="text" size="10" value="<?php echo $TUSERS; ?>" id="trainer" required="true" readonly></label> <label>Location of Training:                                     <input class="form-control" type="text" value="?php echo $postlocation; ?>" id="location" name="location" required="true"></label> <label>Disclaimer:<textarea readonly> Lots of disclaimer text in here</textarea><input class="form-control" type="checkbox" value="" id="location" name="disclaimer" required="true"></label>       </form>                     <?php } ?>  </div>                                                  <?php    }在上面的例子中,我从上一张工作表中发布了:4 个用户作为一个数组。上面的代码循环遍历每一个(正如预期的那样,但都在一个页面上。我想处理 1 个用户,然后按提交然后查看下一个用户的输入,如果我按提交,我将插入一个 sql查询数据库并移动到用户 2,如果我按跳过不适移动到用户 2(没有插入到 mysql_db),依此类推。
查看完整描述

1 回答

?
红颜莎娜

TA贡献1842条经验 获得超13个赞

您可以使用 $_SESSIONS,我将演示:


<?php

session_start();

$_SESSION['tusers']=array();

array_push( $_SESSION['tusers'] , 'user1');

array_push( $_SESSION['tusers'] , 'user2');

array_push( $_SESSION['tusers'] , 'user3');


var_dump($_SESSION);



array_pop($_SESSION['tusers']);

var_dump($_SESSION);


array_pop($_SESSION['tusers']);

var_dump($_SESSION);


?>


现在您可以做的是将此代码放在两个不同的文件中,例如您可以使用 build_users_array.php 中的 $_POST['tusers'] 填充 $_SESSION['tusers']


所以在 build_users_array.php

<?php

session_start();

$_SESSION['tusers']=array();

array_push( $_SESSION['tusers'] , 'user1');

array_push( $_SESSION['tusers'] , 'user2');

array_push( $_SESSION['tusers'] , 'user3');


当你点击一个用户时,你可以激活 pop_from_users_array.php


pop_from_users_array.php:

$current_pop_user = array_pop($_SESSION['tusers']);

echo $x;

var_dump($_SESSION);

正如你所看到的 $current_pop_user 是:user3,而 $_SESSION['tusers'] 现在只保存 user1 和 user2 的值


查看完整回答
反对 回复 2021-12-24
  • 1 回答
  • 0 关注
  • 201 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号