【发布时间】:2015-11-17 03:03:13
【问题描述】:
在我为课堂制作的这个任务管理系统上请求一些帮助。我不能让它正常工作。信息有时会在到达服务器之前丢失,并且一些最后的 php 代码会通过在网站上看到。谁能告诉我我做错了什么并帮助我解决这个问题?此代码应该允许您将任务发送到数据库,并且管理部分将数据从数据库中继到网页。 数据库是这样建立的 3列: id - INT - 5 长度 - 主键 - AI。 描述 - VARCHAR - 255 长度。 active - BOOLEAN - 1 长度。
如果代码有任何差异,我将在站点内的 hostica 文本编辑器上创建此文件,而不是 IDE
网站链接是http://jtaylor84.net/taskmanager.php
我希望此代码能够获取输入的信息并将其传递到数据库并显示在托管任务中,以便将它们删除并显示已输入的任务。
<!DOCTYPE html>
<html>
<head>
<title>Online Task Manager</title>
<link href="style.css" rel="stylesheet">
</head>
<body>
<div id="main">
<?php
$con = mysqli_connect('localhost', 'root', '', 'Jhonny3_Task_Manager') or die(mysql_error());
if (isSet($_POST['createTask'])) {
if (isSet($_POST['desc']) && $_POST['desc'] != '') {
$desc = $_POST['desc'];
$q = mysqli_query($con, "INSERT INTO `tasks` VALUES ('', '$desc', '1')") or die(mysql_error());
if ($q) { echo 'Added task.';
}else
echo 'Failed to add task.';}}
if (isSet($_GET['removeTask']) && isSet($_GET['id'])) {
$id = $_GET['id'];
$q = mysqli_query($con, "UPDATE `tasks` SET `active`='0' WHERE `id`='$id'");
if ($q) { echo 'Task removed.';
}else
echo 'Failed to remove task.';}
?>
<h1>Add Task:</h1>
<form action='taskmanager.php' method='POST'>
Description of Task: <input type='text' name='desc'/>
<input type='submit' value='Create Task' name='createTask'/>
</form>
<h1>Manage Tasks:</h1>
<?php
$qu = mysqli_query($con, "SELECT * FROM `tasks` WHERE `active`='1'");
if (mysqli_num_rows($qu) > 0) {
在本节之后,代码显示在网页上,我不知道为什么
while ($row = mysqli_fetch_array($qu)) {
echo "";
echo $row['description'];
echo "<a href='taskmanager.php?removeTask&id=".$row['id']."'>Remove Task</a>";
}
}
?>
<footer id="foot01"></footer>
</div>
<script src="sitescript.js"></script>
</body>
</html> `
【问题讨论】:
-
您的 php 在您的源代码中可见,因此您的服务器 php 解释器有问题。您需要联系您的房东。另见Why I can view my php source code online?
-
如果只显示部分php代码而不是全部代码,还会出现这种情况吗?
-
它显示了所有的代码。右键单击您的页面,然后单击“查看源代码”。你会看到你所有的 php 代码——来自我的浏览器i.stack.imgur.com/gbFFH.png 的截图。我应该看不到任何 php 代码。
-
我只是试图通过我的主机更改 PHP 信息,它基本上删除了我要尝试再次修复它的页面。
-
@Piratica 是的,问题可能出在您的 php 服务器上。我试过你的代码。它只是工作正常