关于php标签中的代码被处理成html字符串了

时间:2023-01-07 15:52:34
关于php标签中的代码被处理成html字符串了
源代码如下:
<html>
<head>
<title>Book-O-Rama Search Results</title>
</head>
<body>
<h1>Book-O-Rama Search Results</h1>
<?php 
  //create short variable names
  $searchtype = $_POST['searchtype'];
  $searchterm = trim($_POST['searchterm']);
    if(!$searchtype || !$searchterm){
     echo 'You have not entered search details.
     Please go back and try again.';
     exit;
    }
    //check if opened
    if(!get_magic_quotes_gpc()){
     $searchtype = addslashes($searchtype);
     $searchterm = addslashes($searchterm);
    }
    @ $db = new mysqli('localhost','root','','books');
    if (mysqli_connect_errno()){
     echo 'Error:Could not connect to database.Please try again later.';
     exit;
    }
    $query = "select * from books where ".$searchtype." like '%".$searchitem."%'";
    $result = $db->query($query);
    $num_results = $result->num_rows;
    echo "<p>Number of books found".$num_results."</p>";
    
    for ($i =0;$i<$num_results;$i++){
     $row = $result->fetch_assoc();
     echo "<p><strong>".($i+1).". Title: ";
     echo htmlspecialchars(stripslashes($row['title']));
     echo "</strong><br/>Author: ";
     echo stripslashes($row['author']);
     echo "<br />ISBN: ";
     echo stripslashes($row['isbn']);
     echo "<br />Price: ";
     echo stripslashes($row['price']);
     echo "</p>";
    }
    $result->free();
    $db->close();
  ?>
</body>
</html>

8 个解决方案

#1


你是指php程序没有被执行?直接被输出到浏览器了?
那么是你的环境还没有搭建好。装个集成包就可以了, WAMPserver, xampp什么的都很简单

#2


环境已经搭建好了,是wampserver。不是php没有被执行,只是不知道为什么php标签内只有绿色部分的代码被执行了,而黑色部分的代码当做html字符串输出到浏览器了。

#3


引用 2 楼  的回复:
环境已经搭建好了,是wampserver。不是php没有被执行,只是不知道为什么php标签内只有绿色部分的代码被执行了,而黑色部分的代码当做html字符串输出到浏览器了。


没瞧见颜色,我该不是色盲了吧?
代码当作html输出了 一般都是没有正确的结束代码 或者引号弄错了地方.

#4


补上截图:
关于php标签中的代码被处理成html字符串了

#5


关于php标签中的代码被处理成html字符串了

#6


如果你贴的是你在浏览器上看到的,那就还是php程序没有被执行,<?php ?>之间的内容被浏览器当作注释解析了。 要将该文件保存为.php后缀的再去访问。
如果是你的编辑器这样显示,那么就放弃这款编辑器吧

#7


文件已经是php后缀了,浏览器看到的只有黑色部分的代码当成字符串输出了。我截这个图是在chrome浏览器查看源代码截的,在编辑器里代码都显示正常。

#8


那的确是你的环境没搭好。不信你做一个测试
<?php
echo "I am from php!";
?>
chrome浏览器中查看源代码 你会发现以上代码还是原样显示,只是变成绿色的了。
不明白为什么会出现这种情况。你的php文件放在网站www目录下吗,用http://localhost/xxx.php访问的吗?
不行的话就换成xampp试试吧

#1


你是指php程序没有被执行?直接被输出到浏览器了?
那么是你的环境还没有搭建好。装个集成包就可以了, WAMPserver, xampp什么的都很简单

#2


环境已经搭建好了,是wampserver。不是php没有被执行,只是不知道为什么php标签内只有绿色部分的代码被执行了,而黑色部分的代码当做html字符串输出到浏览器了。

#3


引用 2 楼  的回复:
环境已经搭建好了,是wampserver。不是php没有被执行,只是不知道为什么php标签内只有绿色部分的代码被执行了,而黑色部分的代码当做html字符串输出到浏览器了。


没瞧见颜色,我该不是色盲了吧?
代码当作html输出了 一般都是没有正确的结束代码 或者引号弄错了地方.

#4


补上截图:
关于php标签中的代码被处理成html字符串了

#5


关于php标签中的代码被处理成html字符串了

#6


如果你贴的是你在浏览器上看到的,那就还是php程序没有被执行,<?php ?>之间的内容被浏览器当作注释解析了。 要将该文件保存为.php后缀的再去访问。
如果是你的编辑器这样显示,那么就放弃这款编辑器吧

#7


文件已经是php后缀了,浏览器看到的只有黑色部分的代码当成字符串输出了。我截这个图是在chrome浏览器查看源代码截的,在编辑器里代码都显示正常。

#8


那的确是你的环境没搭好。不信你做一个测试
<?php
echo "I am from php!";
?>
chrome浏览器中查看源代码 你会发现以上代码还是原样显示,只是变成绿色的了。
不明白为什么会出现这种情况。你的php文件放在网站www目录下吗,用http://localhost/xxx.php访问的吗?
不行的话就换成xampp试试吧