在 WAMP 中工作正常,但在 XAMPP 中不起作用
Posted
技术标签:
【中文标题】在 WAMP 中工作正常,但在 XAMPP 中不起作用【英文标题】:works fine in WAMP but doesn't work in XAMPP 【发布时间】:2019-09-27 13:33:00 【问题描述】:我的程序中有以下代码,可与 WAMP 服务器完美配合。但是我不得不为 XAMPP 更改 WAMP 服务器,我不知道为什么它不执行某些部分代码。也没有错误信息。
问题是在表格代码<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】:在 WAMP 和 XAMP 中运行 phpinfo()
。我不确定你的问题是什么,但如果它适用于一个而不是另一个,也许他们正在使用不同版本的 php。如果是这种情况,您将需要在 XAMP 中使用与在 WAMP 中使用的相同版本的 php,或者检查您的代码并尝试找出如何转换您的代码,以便它与该版本正常工作在你的 XAMP 上。前者可能是阻力最小的路径。
【讨论】:
谢谢 Elroy,我会试试的以上是关于在 WAMP 中工作正常,但在 XAMPP 中不起作用的主要内容,如果未能解决你的问题,请参考以下文章
脚本在实际服务器中不起作用,但在 localhost XAMPP 中起作用
File.Exists 在 C# 中工作,但在 VB.NET 中不起作用
“GET”请求在 Python 中工作,但在机器人框架中不起作用
p12 在 NodeDefaultKeyStore 中工作,但在 WebSphere 的 CellDefaultKeyStore 中不起作用