请教PHP的函数调用问题
我想实现在接收到的表单中,判断输入的用户名和密码是否正确。
我经过测试,把ExecuteSclar这个函数放到loginpost.php里,就可以显示运行结果,请问如果我想把ExecuteSclar放到一个头文件里,供更多的页面调用该怎么写,才可以调用头文件里的ExecuteSclar,谢谢我的头文件
conn.php<?php
function ExecuteSclar(string $sql)
{
$dbserver = "127.0.0.1";
$dbname = "YiMeng";
$dbuser = "sa";
$dbpassword = "d37fvv"; $id = mssql_connect($dbserver,$dbuser,$dbpassword);
$db = mssql_select_db($dbname,$id) or die("无法连接数据库"); $result = mssql_query($sql) or die("sql语句执行失败");
$row = mssql_fetch_array($result); $c =$row[0];
return $c;
}
?>loginpost.php
接收表单文件
<html>
<head></head>
<body>
<?php
include "conn.php";
$username = $_POST['txtUserName'];
$password = $_POST['txtPassword'];
?>
<br />
<?php $sql = "SELECT COUNT(*) AS c FROM Member WHERE username = '". $username . "' AND pwd = '". $password ."'";$c =ExecuteSclar($sql); ?><br>
c:
<?php echo $c; ?>
</body>
</html>
我想实现在接收到的表单中,判断输入的用户名和密码是否正确。
我经过测试,把ExecuteSclar这个函数放到loginpost.php里,就可以显示运行结果,请问如果我想把ExecuteSclar放到一个头文件里,供更多的页面调用该怎么写,才可以调用头文件里的ExecuteSclar,谢谢我的头文件
conn.php<?php
function ExecuteSclar(string $sql)
{
$dbserver = "127.0.0.1";
$dbname = "YiMeng";
$dbuser = "sa";
$dbpassword = "d37fvv"; $id = mssql_connect($dbserver,$dbuser,$dbpassword);
$db = mssql_select_db($dbname,$id) or die("无法连接数据库"); $result = mssql_query($sql) or die("sql语句执行失败");
$row = mssql_fetch_array($result); $c =$row[0];
return $c;
}
?>loginpost.php
接收表单文件
<html>
<head></head>
<body>
<?php
include "conn.php";
$username = $_POST['txtUserName'];
$password = $_POST['txtPassword'];
?>
<br />
<?php $sql = "SELECT COUNT(*) AS c FROM Member WHERE username = '". $username . "' AND pwd = '". $password ."'";$c =ExecuteSclar($sql); ?><br>
c:
<?php echo $c; ?>
</body>
</html>
function ExecuteSclar(string $sql)
=>
function ExecuteSclar($sql)然后再修改一下你的检测函数,不是很完美.
谢谢你的回复,我也修改了一下函数(把string去掉了)
但是我这个页面上还是没有显示啊
按我所设想的运行结果应该是 c:1我是php的初学者,以前是学asp.net过来的还麻烦多指教 谢谢
exit — Output a message and terminate the current script也就是说,你的函数内用了die这个函数, 可能随时因为错误终止脚步本的执行.
只能慢慢调试了.
(接收表单文件) 就可以正常运行,请问这是什么原因啊
所以你每隔一段位置,输出点东西调试一下。还有,网上很多的数据库类,可以考虑用一下数据库类。
function ExecuteSclar($sql)
{
echo "start ExecuteSclar";
$dbserver = "127.0.0.1";
$dbname = "YiMeng";
$dbuser = "sa";
$dbpassword = "d37fvv"; $id = mssql_connect($dbserver,$dbuser,$dbpassword);
$db = mssql_select_db($dbname,$id) or die("无法连接数据库"); $result = mssql_query($sql) or die("sql语句执行失败");
$row = mssql_fetch_array($result); $c =$row[0];
echo "end ExecuteSclar";
return $c;
}
?>我把函数调用的开始和返回的地方都加了 echo
但是运行的时候还是不显示任何东西啊
用require_once()吧
你在$c =ExecuteSclar($sql);的前面echo一下
echo "start ExecuteSclar";
echo "end ExecuteSclar";
如果调用这个函数了 应该是可以输出start ExecuteSclar和end ExecuteSclar
但是现在页面上什么显示都没有
万一没执行 你在函数里面echo根本就无从谈起另外说说你这2个文件的路径关系
<?php
function ExecuteSclar($sql)
{
$dbserver = "127.0.0.1";
$dbname = "dbname";
$dbuser = "root";
$dbpassword = "dbpassword";$id = mysql_connect($dbserver,$dbuser,$dbpassword);
$db = mysql_select_db($dbname,$id) or die("无法连接数据库");$result = mysql_query($sql) or die("sql语句执行失败");
$row = mysql_fetch_array($result);$c =$row[0];
return $c;
}?>
入口文件
<html>
<head></head>
<body>
<?php
include "test.php"; ?>
<br />
<?php $sql = "SELECT COUNT(*) AS c FROM dbname";$c =ExecuteSclar($sql); ?><br>
c:
<?php echo $c; ?>
</body>
</html>
万一没执行 你在函数里面echo根本就无从谈起另外说说你这2个文件的路径关系
果然是路径的问题include_once "../public/conn.php";这样就可以了 我想再问问 可以从根直接引用吗?例如/public/conn.php目录结构是
网站根目录下有Member目录和Public目录
Member目录下有loginpost.php
Pulbic目录下有conn.php
php函数没有也不提示一下
报个错也好一些嘛