作者热门文章
- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我正在使用安装了 apache 的 CentOS 6.4。我有一个名为 cmsSearch.php 的 php 文件。在文件的顶部,我有执行良好的 PHP(查询 Sphinx 搜索索引)。但是,当我在控制台 (Chrome) 中查看页面时,我尝试在下面的 HTML 中运行的任何 php(尝试运行 foreach 并用 Sphinx 搜索的结果填充表格)都被注释掉了。这是整个 cmsSearch.php 文件:
<?php
require("sphinxapi.php");
if($_POST['keyword'])
{
$keyword = $_POST['keyword'];
$client = new SphinxClient();
$client->SetMatchMode(SPH_MATCH_ANY);
$result = $client->Query($keyword, "staffDirectoryMember");
if(!$result)
{
print "ERROR: " . $client->GetLastError();
}
else
{
var_dump($result["matches"]);
}
}
?>
<!DOCTYPE html>
<html>
<head>
<title>Sphinx Test</title>
<style>
.container
{
border: solid 1px black;
height: 350px;
width: 700px;
margin: auto;
padding: 5px;
}
.output
{
margin-top:20px;
border: solid 1px red;
height: 200px;
}
</style>
</head>
<body>
<?echo "TEST"; ?>
<div class="container">
<div>
<form method="post" action="cmsSearch.php">
<input type="text" name="keyword">
<input type="submit" value="Search">
</form>
<div class="output">
<? echo "test2"; ?>
<table>
<thead>
<tr>
<th>ID</th>
<th>Weight</th>
<th>ClientId</th>
<th>DomainId</th>
<th>ContentTypeId</th>
</tr>
</thead>
<tbody>
<?
echo "Above for loop";
foreach($result["matches"] as $match)
{
echo "Print from for loop:";
var_dump($match);
?>
<!-- <tr>
<td><?=$match[id]?></td>
<td><?=$match[weight]?></td>
<td><?=$match[attrs][clientid]?></td>
<td><?=$match[attrs][domainid]?></td>
<td><?=$match[attrs][contenttypeid]?></td>
</tr> -->
<?}
echo "After for loop";
?>
</tbody>
</table>
</div>
</div>
</div>
不确定为什么 php 会在顶部正常执行(我可以回显并且 var 转储有效),但是放入 HTML 中的任何 php 都只显示为注释并且不执行任何操作。有人有想法吗?
最佳答案
HTML 中包含的 PHP 使用了 short tags这可以在您的 php.ini 文件中关闭。看看这个指令,如果你想使用它们,确保它被设置为 true:
short_open_tag true
http://www.php.net/manual/en/ini.core.php#ini.short-open-tag
关于PHP 代码被注释掉,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18881234/
我正在编写一个快速的 preg_replace 来从 CSS 中删除注释。 CSS 注释通常有这样的语法: /* Development Classes*/ /* Un-comment me for
使用 MySQL,我有三个表: 项目: ID name 1 "birthday party" 2 "soccer match" 3 "wine tasting evening" 4
我是一名优秀的程序员,十分优秀!