Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
HTML中的嵌入式PHP提早结束?_Php_Html_Drop Down Menu - Fatal编程技术网

HTML中的嵌入式PHP提早结束?

HTML中的嵌入式PHP提早结束?,php,html,drop-down-menu,Php,Html,Drop Down Menu,我目前正在创建一个非常基本的网页来测试数据库。我对网络开发非常、非常陌生,所以请容忍我。我试图将php嵌入html中,以便动态填充一个下拉菜单,其中包含数据库中的大学列表。然而,在我将源代码上传到服务器后,查看源代码,嵌入的php代码正在被正确读取。。。它解释if语句中的“>”,我必须结束php,而不是等待“>”。我该如何解决这个问题 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN""http://www.w3.o

我目前正在创建一个非常基本的网页来测试数据库。我对网络开发非常、非常陌生,所以请容忍我。我试图将php嵌入html中,以便动态填充一个下拉菜单,其中包含数据库中的大学列表。然而,在我将源代码上传到服务器后,查看源代码,嵌入的php代码正在被正确读取。。。它解释if语句中的“>”,我必须结束php,而不是等待“>”。我该如何解决这个问题

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml" dir="ltr" lang="en"> 
 <head> 
  <title>Search</title> 
 </head> 
 <h>Search for your university
 <body> 
    <?php
    //connection to db stuff

    $sql        = "SELECT campus FROM universities";  
    $query      = mysql_query($sql); 
    $options    = "";
    if (mysql_num_rows($query) > 0)  //php code cuts off at ">" and simply prints the rest
    {
        while($row = mysql_fetch_array($query)) 
        {
            $options .= "<option>" . $row['campus'] . "</option>";
        }
    }
?>
//form stuff
 </body> 
</html>

搜寻
搜索你的大学
//表格材料

这样的问题表明您安装的PHP存在问题。它应该只在遇到
?>
时终止PHP块。如果
会这样做,您将无法进行“大于”的比较


尝试删除一些内容,例如
if()
部分,只保留while循环,看看这是否会改变什么

实际上,您的PHP解释器根本没有触及代码。。。如果您查看源代码,您将看到代码


这将返回一个大的描述性页面,其中包含PHP安装的所有信息。在您能够正常工作之前,您需要开始排除PHP安装无法正常工作的原因。

查看源代码,您将看到所有PHP代码


php根本没有在服务器中运行,请检查您的配置。

很简单,您的文件扩展名可能是
.html
或其他


将文件重命名为具有
.php
扩展名,以便php解释器知道发生了什么。否则,您的web服务器将提供该页面,就像所有内容都是html一样。

阅读您的故事我知道您将页面加载到服务器上。所以我怀疑您的PHP处理程序工作得很好。但是,要在页面上显示PHP输出,需要回显$options变量。在while循环之后尝试以下操作

 if (mysql_num_rows($query) > 0)  //php code cuts off at ">" and simply prints the rest
{
    while($row = mysql_fetch_array($query)) 
    {
        $options .= "<option>" . $row['campus'] . "</option>";
    }
    // Show the dynamicly created options
    echo $options;
}
if(mysql\u num\u rows($query)>0)//php代码在“>处截断,只打印其余部分
{
while($row=mysql\u fetch\u array($query))
{
$options.=''.$row['campus'].'';
}
//显示动态创建的选项
echo$期权;
}

您还可以尝试以下代码并将其保存为.php(例如index.php)文件


搜寻
搜索你的大学
//表格材料
我为你的身体标签添加了一个补丁。它被添加到了错误的位置,并且对标签进行了修复。那个是不完整的


无需将文件另存为.php到服务器上以将其解析为php,但建议这样做,其他程序员更容易理解。

这可能是一个愚蠢的问题,但您是如何保存页面的?正如其他人所说,服务器没有读取您的php,而“>”被解释为html标记,浏览器会混淆并打印其余内容(但不是之前的内容)。这可能是因为您的php安装没有配置,或者您的页面是一个简单的html页面。事实上,我还有其他几个php页面工作得非常好,包括一个登录页面和一个注册新用户页面。。。然而,这些都是专门的php页面,没有html,然后重定向到html页面。那么,也许服务器无法读取嵌入的php代码?我可以从phpinfo中找到它吗?我将它重命名为.php,现在当我查看页面源代码时,php代码根本不存在,它根本不显示,只显示html代码?它应该出现吗?@jekelija可能是因为你的代码从来没有输出过任何东西。对不起,在注释掉的表单中,我有一些东西,哈哈,当然。。。在所有的错误中,我知道如何修复,但只是错过了。非常感谢,我认为错误不仅仅是因为我的标签放错了位置,而是我忘了关闭它,所以它仍然在寻找“>”字符。。。非常感谢你。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml" dir="ltr" lang="en"> 
  <head> 
    <title>Search</title> 
  </head>
  <body>
  <h1>Search for your university</h1>

  <?php
  //connection to db stuff

  $sql        = "SELECT campus FROM universities";  
  $query      = mysql_query($sql); 
  $options    = "";
  if (mysql_num_rows($query) > 0)  //php code cuts off at ">" and simply prints the rest
  {
    while($row = mysql_fetch_array($query)) 
    {
        $options .= "<option>" . $row['campus'] . "</option>";
    }
    // Show the dynamicly created options
    echo $options;
  }
  ?>
  //form stuff
  </body> 
</html>