从另一个文件调用php函数
我是一名PHP初学者,试图编写使用HTML和MySql的PHP类。 我面临以下问题,, 我创建了一个名为DatabaseManager的类,其中包含函数get\u value。此函数只返回一个值。在另一个文件中,我使用java脚本通过单击按钮调用此函数。但是这两个文件之间的链接似乎不起作用……有人能帮我吗? 多谢各位 这是我的包含PHP类的文件从另一个文件调用php函数,php,mysql,html,Php,Mysql,Html,我是一名PHP初学者,试图编写使用HTML和MySql的PHP类。 我面临以下问题,, 我创建了一个名为DatabaseManager的类,其中包含函数get\u value。此函数只返回一个值。在另一个文件中,我使用java脚本通过单击按钮调用此函数。但是这两个文件之间的链接似乎不起作用……有人能帮我吗? 多谢各位 这是我的包含PHP类的文件 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://ww
<!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">
<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
<title>Untitled 1</title>
</head>
<body>
<?php
class DatabaseManager {
private $value=1;
public function get_value ()
{
return value;
}
}
/php>
</body>
</html>
无标题1
有几件事:
在DatabaseManager.php
中删除所有HTML。如果将该文件包含在其他位置,则不需要或不需要重复的HTML标记
删除MySQL部分中的@
。这将抑制您正在发生的任何错误
切换到或。它们更安全(如果使用得当)
数据库文件中的结束php标记错误。你有/php>
它应该是?>
你们班什么也没做
若要在JavaScript函数connect()中输出某些内容,请执行以下操作:
function connect() {
alert("
<?php
$database_manager= new DatabaseManager;
echo "the value is" . $database_manager->get_value();
?>
");
}
函数连接(){
警报(“
");
}
因为php代码是在点击事件之外执行的。
实际上,不清楚你想要得到什么,但你误解了基本原理
[编辑以澄清用户对如何将内容输出到屏幕的疑问]这里有很多地方你都搞错了
在第一个示例中,您不需要html代码
关闭php错误/php>
应该会生成错误,应该是?>
在实例化DatabaseManager类时,省略了括号,这意味着永远不会调用构造函数,这也会生成一个错误
您可能正在尝试在javascript中使用alert,但在本例中您没有这样做
它应该是这样的:
<?php
class DatabaseManager {
private $value = 1;
function getValue() {
return $this->value;
}
}
?>
在html(仍然是php,但包含html标记的)文件中:
函数连接(){
警报(“
");
}
也可能是您认为javascript函数中的php代码在调用JS函数connect()之前不会执行,事实并非如此。PHP代码在服务器上执行,因此当用户请求该网页时将被调用,而javascript则是客户端代码,将在用户浏览器中执行。我强烈建议您同时阅读php和JavaScript。请这样做
在Databasemanager.php中
<?php
class DatabaseManager {
private $value = 1;
public function get_value() {
return $this->value;
}
}
?>
在另一个PHP文件中
<html>
<head>
<?php include("Databasemanager.php"); ?>
<script type="text/javascript">
function connect()
{
<?php
$database_manager= new DatabaseManager;
echo "the value is" . $database_manager->get_value();
?>
}
</script>
</head>
<body>
<input type="button" value="Search " onclick="connect()">
</body>
</html>
函数连接()
{
}
我认为最简单的方法是使用另一个文件
require('login.php');
function get_value()
{
return get_value;
}
请改用mysqli\u
或PDO
。请不要对新代码使用mysql\u*
函数。它们不再得到维护,社区已开始恢复。看到了吗?相反,你应该学习并使用或。如果你不能决定,将帮助你做出选择。如果你想学习,。包括文件将包括所有内容,因此你最终会得到所有内容。这将导致两组嵌套的etc
tags只是一个旁注,当我看这篇文章时,你不需要在类中使用HTML…不要误会,但是你应该读一本很好的PHP简介书。这有很多问题。请注意,根据“纯”php文件中的第4点,完全跳过结束标记。除以零,我只想确保两个文件之间的链接正常工作。因此,我需要通过点击按钮在屏幕上显示成功的信息……你能给我举个例子吗?当我点击按钮时,我看不到那句话。你肯定看不到,因为没有调用JS函数将某些内容输出到你的屏幕…我将编辑我的答案,这样你就可以看到热点来提醒某些内容。除以零,我尝试做此提醒(“hi”);它工作得很好。但警惕(“”);无法与我一起使用。请将类databaseManager中的函数返工为公共函数get_value(){return$this->value;}
我也这样做了,实际上,我注意到,当我在java脚本函数中嵌入任何php代码时,它都不起作用……我相信php服务器有问题……你知道什么是可能的吗?谢谢@Daniel,这能行吗?您仍然需要将php语句封装在引号中。像这样:警惕(“”);
<html>
<head>
<?php include("Databasemanager.php"); ?>
<script type="text/javascript">
function connect()
{
<?php
$database_manager= new DatabaseManager;
echo "the value is" . $database_manager->get_value();
?>
}
</script>
</head>
<body>
<input type="button" value="Search " onclick="connect()">
</body>
</html>
require('login.php');
function get_value()
{
return get_value;
}