应用插件 版主:官方插件技术组
php代码会不会和官方的冲突?加code好像也无效
类型:迅睿CMS 更新时间:2024-06-24 18:26:02 内容建站系统
插件 建站系统 V3.14
应用作者 迅睿官方团队
发布时间 2022-03-01 15:30:06
更新时间 2024-09-04 17:25:35

下面代码,单独php文件打开一切正常,复制到模板里面 不正常 是为什么呢


<?php

session_start();

if ($_SERVER['REQUEST_METHOD'] === 'POST') {
    $action = $_POST['action'];
    $item = $_POST['item'];

    if ($action === 'remove') {
        $_SESSION['inquiry_items'] = array_filter($_SESSION['inquiry_items'], function($existing_item) use ($item) {
            return $existing_item['title'] != $item['title'];
        });
    }

}

 
$inquiryItems = $_SESSION['inquiry_items'];

?>




单独文件输出测试:图片


放模板里面测试:图片


这是为啥?我是直接把单独文件php的内容一模一样全文复制到模板里面的。是不是和官方什么冲突了?

插件教程:https://www.xunruicms.com/doc/app-928.html

回帖
  • 外聘专员-小波工作室
    #1楼    外聘专员-小波工作室
    2024-06-24 16:41:44
    Chrome 0
    <?php
    session_start();
    
    if ($_SERVER['REQUEST_METHOD'] === 'POST') {
    $action = $_POST['action'];
    $item = $_POST['item'];
    
    if ($action === 'remove') {
    $_SESSION['inquiry_items'] = array_filter($_SESSION['inquiry_items'], function($existing_item) use ($item) {
    return $existing_item['title'] != $item['title'];
    });
    }
    }
    
    $inquiryItems = $_SESSION['inquiry_items'];
    ?>
    这个代码并没有输出啊,是不是代码不完整
  • 文成
    #2楼    文成
    2024-06-24 16:48:32
    Firefox 127.0 0
    外聘专员-小波工作室 是完整代码 我只是用输出调试。 下面是一行输出的结果 就和上面图片一样
    <?php
    session_start();
    
    if ($_SERVER['REQUEST_METHOD'] === 'POST') {
        // 打印整个 POST 数据
        echo "<pre>";
        var_dump($_POST);
        echo "</pre>";
    
        // 检查并打印单独的 POST 数据
        if (isset($_POST['action'])) {
            $action = $_POST['action'];
            echo "Action: " . $action . "<br>";
        } else {
            echo "Action is not set in POST data.<br>";
        }
    
        if (isset($_POST['item'])) {
            $item = $_POST['item'];
            echo "Item: ";
            var_dump($item);
            echo "<br>";
        } else {
            echo "Item is not set in POST data.<br>";
        }
    
        if (isset($action) && $action === 'remove' && isset($item)) {
            $_SESSION['inquiry_items'] = array_filter($_SESSION['inquiry_items'], function($existing_item) use ($item) {
                return $existing_item['title'] != $item['title'];
            });
        }
    }
    
    // 打印 $inquiryItems
    $inquiryItems = isset($_SESSION['inquiry_items']) ? $_SESSION['inquiry_items'] : array();
    
    echo "<pre>";
    var_dump($inquiryItems);
    echo "</pre>";
    ?>
  • 外聘专员-小波工作室
    #3楼    外聘专员-小波工作室
    2024-06-24 16:51:30
    Chrome 0
    那吧你这个代码直接放到6号栏目的模板里面就可以了呀
  • 文成
    #4楼    文成
    2024-06-24 16:54:59
    Firefox 127.0 0
    外聘专员-小波工作室 我放到模板里面 前段打开 就失效 不放模板里面 就正常
  • 文成
    #5楼    文成
    2024-06-24 16:57:18
    Firefox 127.0 0

    外聘专员-小波工作室 经过测试就是 单独建立一个任何名字的.php 打开都正常。 全文一字不差复制到任何栏目模板里面 就失效。。。。
  • 外聘专员-小波工作室
    #6楼    外聘专员-小波工作室
    2024-06-24 17:10:29
    Chrome 0
    说明你模板里面代码没有写对啊,全部发来看一下了
  • 文成
    #7楼    文成
    2024-06-24 17:15:04
    Firefox 127.0 0
    外聘专员-小波工作室


    <!DOCTYPE html>
    <html>
    <head>
        <meta charset="UTF-8">
        <title>Inquiry Page</title>
        <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet">
     
    </head>
    <body>
    <div class="container mt-5">
        <h1>您的询盘列表</h1>
        
     
     
    <?php
    session_start();
    
    if ($_SERVER['REQUEST_METHOD'] === 'POST') {
        // 打印整个 POST 数据
        echo "<pre>";
        var_dump($_POST);
        echo "</pre>";
    
        // 检查并打印单独的 POST 数据
        if (isset($_POST['action'])) {
            $action = $_POST['action'];
            echo "Action: " . $action . "<br>";
        } else {
            echo "Action is not set in POST data.<br>";
        }
    
        if (isset($_POST['item'])) {
            $item = $_POST['item'];
            echo "Item: ";
            var_dump($item);
            echo "<br>";
        } else {
            echo "Item is not set in POST data.<br>";
        }
    
        if (isset($action) && $action === 'remove' && isset($item)) {
            $_SESSION['inquiry_items'] = array_filter($_SESSION['inquiry_items'], function($existing_item) use ($item) {
                return $existing_item['title'] != $item['title'];
            });
        }
    }
    
    // 打印 $inquiryItems
    $inquiryItems = isset($_SESSION['inquiry_items']) ? $_SESSION['inquiry_items'] : array();
    
    echo "<pre>";
    var_dump($inquiryItems);
    echo "</pre>";
    ?>
     
    
     
    
    
        <div>
            <?php foreach ($inquiryItems as $item): ?>
                <div class="col-6 col-md-4 col-lg-2 mb-4">
                    <div>
                        <a href="<?= $item['url'] ?>" target="_blank">
                            <img src="<?= $item['image'] ?>" alt="<?= $item['title'] ?>">
                        </a>
                        <button type="button" data-title="<?= $item['title'] ?>">x</button>
                        <div>
                             <a href="<?= $item['url'] ?>" target="_blank"><h5><?= $item['title'] ?></h5>    </a>
                            <div>
                                <label for="quantity-<?= $item['title'] ?>">数量</label>
                                <input type="number" id="quantity-<?= $item['title'] ?>" name="quantity[<?= $item['title'] ?>]" min="1" value="1">
                            </div>
                        </div>
                    </div>
                </div>
            <?php endforeach; ?>
        </div>
     </div>
    <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
    
     
    <script>
    $(document).ready(function() {
        $('.remove-btn').on('click', function() {
            const title = $(this).data('title');
            $.post('/xunpan/inquiry_page.php', { action: 'remove', item: { title: title } }, function() {
                location.reload();
            });
        });
    });
    </script>
     
    </body>
    </html>
  • 外聘专员-小波工作室
    #8楼    外聘专员-小波工作室
    2024-06-24 17:30:02
    Chrome 0
    $_SESSION['inquiry_items'] 在框架内不能这样写
    参考文档:《session类方法》
  • 文成
    #9楼    文成
    2024-06-24 17:40:43
    Firefox 127.0 0
    😪 外聘专员-小波工作室 看不懂怎么改哈 能帮直接改下不哈 多谢 多谢
  • 外聘专员-小波工作室
    #10楼    外聘专员-小波工作室
    2024-06-24 17:43:50
    Chrome 0
    文档发给你了呀,你直接套公式就行了
  • 小波工作室
    #11楼    小波工作室
    2024-06-24 17:44:24
    Chrome 0
    自己搞不定的话,30元我可以帮你写,私聊叫我QQ
  • 文成
    #12楼    文成
    2024-06-24 18:26:02
    Firefox 127.0 0
    小波工作室 好的 加你了