在PHP页面中遇到一个错误,在我做一些微小的更改之前,该页面工作正常。
错误原因是:$type=(int)$\u POST['type'];
错误是:语法错误,意外”(T_ENCAPSED_AND_WHITESPACE),期望标识符(T_STRING)或变量(T_VARIABLE)或数字(T_NUM_STRING)
完整代码如下。
<?php
require_once '../library/config.php';
require_once '../library/functions.php';
$action = isset($_GET['action']) ? $_GET['action'] : '';
switch ($action) {
case 'search' :
search();
break;
default :
// if action is not defined or unknown
// move to main user page
header('Location: index.php');
}
/*
search() function used to search hadrware, software with user given criteria.
*/`
function search()
{
$type = $_POST['type'];
$name = $_POST['name'];
$hsql = "SELECT a.hostname, a.username, a.cpumodel, a.servicetag, a.monitormodel, a.phonext
FROM assets a WHERE a.username LIKE '%$name%' ";
$ssql = "SELECT a.hostname, a.username, a.cpumodel, a.servicetag, a.monitormodel, a.phonext
FROM assets a WHERE a.username LIKE '%$name%' ";
$data = array();
if($type == 1){
$result = dbQuery($hsql);
if(dbNumRows($result) == 0) {
header('Location: ../view.php?v=search&error=' . urlencode('No Hardware Found. Please try Again.'));
}else {
while($row = dbFetchAssoc($result)){
extract($row);
$data[] = array('hname' => $hname, 'uname' => $uname, 'cmodel' => $cmodel, 'stag' => $stag, 'mmodel' => $mmodel, 'pext' => $pext);
}
$_SESSION [result_data] = $data;
header('Location: ../search');
}//else
}
else {
$result = dbQuery($ssql);
if(dbNumRows($result) == 0) {
header('Location: ../view.php?v=search&error=' . urlencode('No Software Found. Please try Again.'));
}else {
while($row = dbFetchAssoc($result)){
extract($row);
$data[] = array('hname' => $hname,
'uname' => $uname,
'cmodel' => $cmodel,
'stag' => $stag,
'mmodel' => $mmodel
'pext' => $pext);
}
$_SESSION[result_data] = $data;
header('Location: ../search');
}
}endif;
}
?>
函数上方的注释在结束注释标记后有一个反勾号。这就是你问题的原因。
如果您删除此反勾,那么您将解决问题。它仍然无法工作,因为您给出的代码中还有一个编译错误,这是由于第64行末尾缺少逗号造成的。如果你也修复了这个问题,那么程序就会运行,你会发现还有额外的逻辑错误和安全问题(但是我会让你自己去发现)。
问题出在你的评论之后。你打开了一个backtick(很可能是无意中),但没有关闭它。只要把它取下来,它就会再次工作。你甚至可以在突出显示中看到它。
/*
search() function used to search hadrware, software with user given criteria.
*/`
/* ^ there it is */
我还想指出,您的代码可能存在sql注入漏洞。例如:
$type = $_POST['type'];
$name = $_POST['name'];
$hsql = "SELECT a.hostname, a.username, a.cpumodel, a.servicetag, a.monitormodel, a.phonext
FROM assets a WHERE a.username LIKE '%$name%' ";
$ssql = "SELECT a.hostname, a.username, a.cpumodel, a.servicetag, a.monitormodel, a.phonext
FROM assets a WHERE a.username LIKE '%$name%' ";
早些时候,我部署了我的页面的一个新版本,安装了一个服务工作者,该服务工作者应该只在安装时缓存一个脱机页面,如果服务工作者由于脱机而无法获取文档,则应重定向到此缓存的脱机页面。 现在有些东西没有按预期工作,有时服务人员会显示脱机页面,尽管他不应该显示。因此我感到恐慌,因为我找不到问题,部署了一个新版本,该版本应该注销所有服务人员。我希望每件事都能对每个人都起作用。 但是,当我想到这些问题时,我感到震
本文向大家介绍如何判断用户正在操作页面?当页面一个小时没有操作时跳转到指定页面如何做?相关面试题,主要包含被问及如何判断用户正在操作页面?当页面一个小时没有操作时跳转到指定页面如何做?时的应答技巧和注意事项,需要的朋友参考一下 监听mousemove事件。当一段时间没有触发mousemove时,即认定用户没有操作页面
我正在看YouTube的Flutter教程。我来到了Firebase部分。然而,我在这部分得到了一个错误。我得到一个错误,即使我键入相同的。我想我得到了这样一个错误,因为有Flutter语言的更新。对不起,我的英语不好。提前谢谢你帮助我。 错误图像: 主要的飞奔 signup_screen.dart
问题内容: 我正在尝试将var从jQuery传递到PHP。 经过研究,我发现最常见的建议是使用Ajax 进行此操作,并使用PHP存储post var。 我的PHP技能相当不错,但是我的JavaScript技能却不能说同样的话。 这是我正在做的,但似乎根本不起作用: 问题答案:
我是一个新手,在做这项任务时遇到了障碍。遇到了一个PHP错误 严重性:通知 消息:未定义的属性:CI_加载程序::$db 文件名:views/templateadmin。php 电话号码:311 回溯: 文件:C:\xampp\htdocs\website\application\views\templateadmin。php行:311函数:\u错误\u处理程序 文件:C:\xampp\htdoc
问题内容: 好的,我设置了一个会话…但是现在如何在其他页面上使用它呢? 我试着做 问题答案: 如果您的PHP设置清晰(会话写正常)并且cookie通常发送到浏览器(并保留了),则您应该可以执行以下操作 在第一页上: 在第二页上: 请注意,在发送任何输出之前,必须先调用session_start(),因此,如果必须在会话_start中使用@,它可能会隐藏警告。 由于这些是警告,如果给定的示例不起作用