2-16作业传递ID问题

2-16作业传递ID问题

实在不明白下面这句代码时什么意思,你们就这样抛出来

<a href="edit.php?edit=id">

另外我写了自己的代码后跳转到编辑页面显示$id没有被定义

下面是我的代码

这是原始页面的:

<?php $i=1; foreach($msgs as $k=>$val): ?>
          <tr class="success">
            <th>
              <?php echo $i++; ?>
            </th>
            <th>
              <?php echo $val['username']; ?>
            </th>
            <th>
              <?php echo $val['title']; ?>
            </th>
            <th>
              <?php echo date("m/d/Y H:i:s",$val['time']); ?>
            </th>
            <th>
              <?php echo $val['content']; ?>
            </th>
            <th>
              <?php $id=array();$id=$k; ?>
              <a href="edit.php?edit=<?php echo $id; ?>">编辑</a>
              |
              <a href="edit.php?edit=id">删除</a>
            </th>
          </tr>
        <?php endforeach; ?>

这是编辑页面的

<?php
$filename="msg.txt";
$msgs=[];
if(file_exists($filename)){
  $string=file_get_contents($filename);
   if(strlen($string)>0){
     $msgs=unserialize($string);
   }
}
$msgs=array_merge($msgs);
$id=$_GET['id'];
 ?>

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

2回答
好帮手慕查理 2017-11-08 09:46:54

您好,留言编辑并不是写入新的内容,而是将原有某一条数据进行更新。

1、点击编辑按钮时,跳转到编辑页面,同时将当前这条数据的唯一标识符传递过去。

2、接收到唯一标识后,从数组中取出相对应的数据,显示在页面。

3、对相关内容进行编辑修改后,点击提交表单按钮,接收编辑后的数据,并将经过编辑的新数据重新放到数组中,覆盖原来的旧数据,这是一个数据替换的过程。

如果解决了您的问题,请采纳,祝学习愉快!

好帮手慕查理 2017-11-07 19:48:06

您好,当您想要传入edit.php时,您的下段代码是正确的。但是不需要$id定义为数组,foreach已经获取到$k的值了。另接收时是$id = $_GET['deit']; 。

<a href="edit.php?edit=<?php echo $id; ?>">编辑</a>

如果解决了您的问题,请采纳,祝学习愉快!

  • 提问者 zengzengzeng #1
    不对啊,按照你说的改了又说deit是未定义的
    2017-11-07 20:11:14
  • 好帮手慕查理 回复 提问者 zengzengzeng #2
    您好,很抱歉,是edit。传递的值的名称应该和接收的名称相同。祝学习愉快!
    2017-11-07 20:19:45
  • 提问者 zengzengzeng 回复 好帮手慕查理 #3
    哦哦,懂了,另外我又遇到个问题,请问老师怎么进行数据的替换啊,每次我在编辑页面编好提交后都是向原始数据添加一条新数据
    2017-11-07 20:49:35
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星

相似问题

登录后可查看更多问答,登录/注册

请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师