在WAMP中工作正常,但在XAMPP中不工作

时间:2019-05-09 16:46:39

标签: php xampp wamp

我的程序中包含以下与WAMP服务器完美配合的代码。但是我不得不将WAMP服务器更改为XAMPP,但我不知道为什么它不执行部分代码。也没有错误消息。

问题在于表代码<table>中的第三个<tr>之后或' Toggle '开始时没有显示。它也没有显示提交按钮。

我不明白为什么在WAMP中一切正常,而在XAMPP中却无法正常工作。有人可以帮我看看为什么会失败吗?谢谢

Project.php

<?php
include_once("Conexion.php");
include_once("functions.php");
ob_start();

$_SESSION['ex_time'] = date('Y-m-d H:i:s');
$list_ex = array();
$result = doSearch($conn);
?>

    <!DOCTYPE html>
    <html>
<head>
    <meta charset="utf-8">
    <link rel="stylesheet" type="text/css" href="styleProject.css">
</head>

<body>

<div id="centered_A">

    <form action='' method='post'>
    <table id="exercises">
        <tr>
            <th colspan="3"><h2>Exercises</h2></th>
        </tr>
        <tr>
            <th><h3>Exercise_ID</h3></th>
            <th><h3>Title</h3></th>
            <th><h3>Difficulty
                <form id="difficulty_form" method="get">
                    <select id="filter" name="filter" onchange="document.getElementById('difficulty_form').submit()">
                        <option value="All">Todas</option>
                        <?php
                        for ($i = 1; $i <= 5; $i++) {
                            $selected = '';
                            if (isset($_GET['filter']) && $_GET['filter'] == $i) {
                                $selected = ' selected';
                            }
                            echo "<option value=\"$i\"$selected>$i</option>\n";
                        }
                        ?>
                    </select>
                </form>
                </h3></th>
        </tr>

        <?php
        $order = 1;
        $num_ex = 1;
        while($row = $result->fetch_assoc())
        {
            array_push($list_ex, $row["exercise_id"]);

            $sql_check_ex = "select * from answers a where a.student_id=".$_SESSION['user_id']." and a.exercise_id_fk=".$row["exercise_id"].";";
            $result_check_ex = $conn->query($sql_check_ex);
                    ?>

                    <tr>
                        <td><?php echo $num_ex; ?></td> 
                        <!---Click Toggle Exercise-->
                        <td><a  onclick="myFunction(<?php echo $row["exercise_id"] ?>)" role="button" class="btn" target="_blank" ><?php echo $row["title"]; ?></a>
                            </td>
                        <td><?php echo $row["difficulty"]; ?></td>
                    </tr>
            <!--- Toggle --->
            <tr id="toggle<?php echo $row["exercise_id"] ?>"  style="display:none">
                <td colspan="3">

                        <?php
                        $sql = "SELECT * FROM exercises WHERE exercise_id='".$row["exercise_id"]."'";
                        $result_ej = $conn->query($sql);
                        $row_ej = $result_ej->fetch_assoc();
                        ?>

                        <p><?php $row["exercise_id"] ?> <?php echo $row["text"]?></p>
                        <br><!--- Radio Button --->
                        <?php
                        if ($row["type"] == 0) {

                            $ansarray = explode("\n", $row["image_path"]);
                            $randomans = [];
                            for($i=0; $i<count($ansarray); $i++) {
                                $a = array($i+1, $ansarray[$i]);
                                array_push($randomans, $a);
                            }
                            shuffle($randomans);
                            for($i=0; $i<count($randomans); $i++) {
                                echo "<div class=\"radio\" style=\"text-align:left; display:flex; vertical-align: baseline;\">";
                                echo "<input type=\"radio\" style=\"margin-top: 8px; cursor:pointer;\" name=\"choice".$row["exercise_id"]."\" value= \"".$randomans[$i][0]."\"  />".$randomans[$i][1]."<br>";
                                echo "</div>";
                            }

                            echo "<input type=\"text\" name=\"choicetext".$row["exercise_id"]."\" value='multi' style=\"display:none;\">";

                        } else {
                            ?>
                            <input type="radio"  style="margin-top: 8px" name="choice<?php echo $row["exercise_id"] ?>" value= "0" checked="checked" style="display:none;" />

                            <?php
                        }
                        ?>
                        <br>
                        <!--- Select level --->
                        <p2>Select difficulty level:</p2>

                        <select name="choose<?php echo $row["exercise_id"] ?>" id="choose<?php echo $row["exercise_id"] ?>">>
                            <option value="1" <?php if($row["difficulty"]=="1") { echo "selected"; } ?> >1</option>
                            <option value="2" <?php if($row["difficulty"]=="2") { echo "selected"; } ?> >2</option>
                        </select>
             </td>
             </tr><!---Finish Toggle --->


                <?php

            $order++;
            $num_ex++;
        }
        ?>

    </table>
    <br><!---Submit Button-->
    <input class="buttonSubmit" type="submit" name="submit_proj_ex" value="Submit">
    </form>

    <script>
        function myFunction(ejer_id) {
            var x = document.getElementById("toggle" + ejer_id);
            if (x.style.display === "none") {
                x.style.display = "table-row";
            } else {
                x.style.display = "none";
            }
        }
    </script>

</div>
</body>

<?php
if (isset($_POST['submit_proj_ex'])) {
    include_once("store_answers.php");
    header('location: Results.php');
}
?>
</html>

functions.php

<?php
function doSearch($conn, $fields = "*") {
    $sql = "SELECT $fields FROM exercises, ex_tag, tags where exercise_id = exercise_id_fk and tag_id = tag_id_fk";

    if (isset($_GET['filter']) && $_GET['filter'] !== 'All') {
        $filter = (int) trim($_GET['filter']);
        $sql .=  " and exercises.difficulty = '$filter'";
    }

    if (!empty($_SESSION['tags_array'])) {
        $sql .= " and (";
        foreach ($_SESSION['tags_array'] as $tagId)
            $sql .= 'tag_id = ' . $tagId . ' or ';

        $sql .= "tag_id = -1)";
    }
    $sql .= ' group by exercise_id_fk';
    return $conn->query($sql);
}
?>

1 个答案:

答案 0 :(得分:1)

在WAMP和XAMP中都运行phpinfo()。我不确定您的问题是什么,但是如果它可以在一个而不是另一个中起作用,则可能他们使用的是不同版本的php。在这种情况下,您将需要在XAMP中使用与WAMP中使用的相同版本的php,或者遍历您的代码并尝试找出如何转换您的代码,以便它可以与该版本正确地工作在您的XAMP上。前者可能是阻力最小的途径。