php使用变量作为php函数中的实际参数
下面是我的代码。在我的代码的前半部分中,您将看到变量$question和$row。当我回显$QUEST和/或$row[0]时,我得到返回的值。但是,在代码的底部,我尝试将这些变量用作add_textbox函数中的实际参数。但是,add_textbox函数的作用就像那些变量为null一样。有人能告诉我我做错了什么吗php使用变量作为php函数中的实际参数,php,function,variables,Php,Function,Variables,下面是我的代码。在我的代码的前半部分中,您将看到变量$question和$row。当我回显$QUEST和/或$row[0]时,我得到返回的值。但是,在代码的底部,我尝试将这些变量用作add_textbox函数中的实际参数。但是,add_textbox函数的作用就像那些变量为null一样。有人能告诉我我做错了什么吗 <?php $dbhost = 'localhost'; $uname = $_POST["uname"]; //***create connection object
<?php
$dbhost = 'localhost';
$uname = $_POST["uname"];
//***create connection object
$connection = mysql_connect($dbhost, "bc572482", "dfdfdfs")
or die (mysql_error());
$dbname = "bc57";
mysql_select_db($dbname)
or die (mysql_error());
调用display\u security()
函数时,将$row[0]
和$question
作为函数参数传递
display_security($row[0], $question);
在display\u security()
中,使用参数变量$p
和$question
function display_security($p, $question)
{
myprint("<html><head>");
add_style();
myprint("</head><body>");
myprint("<h3> Feeding our Brothers and Sisters <br> Security Check</h3>");
// get the security form created
myprint("<form name=securityForm method=post action=login.php>");
add_textbox($p,$question);
^^^ ^^^^^^^^
add_submit("Login");
myprint("</form>");
myprint("</body></html>");
}
函数显示\u安全($p,$question)
{
myprint(“”);
添加_样式();
myprint(“”);
myprint(“喂养我们的兄弟姐妹
安全检查”);
//创建安全表单
myprint(“”);
添加文本框($p,$question);
^^^ ^^^^^^^^
添加提交(“登录”);
myprint(“”);
myprint(“”);
}
$question
和$row
是全局变量。在函数中,$question
和$row
是局部变量,而不是全局变量。您可以调用或输入关键字:
这些变量没有在您调用的函数display\u security()
中定义add\u textbox()
我看不出您在任何函数中都将这些变量作为参数传递。非常不鼓励使用global
;更好的做法是将变量显式地传递到函数的作用域中。是的,杰克,这是真的。这是个坏习惯。。。比如使用mysql而不是mysqli,在PHP文件中嵌入HTML代码。。。类似于在函数中使用多个参数(参见Martin Fowler的重构注释)。这两种解决方案都是不好的做法,但像参数一样传递变量并不像使用全局变量那样糟糕。
function display_security($p, $question)
{
myprint("<html><head>");
add_style();
myprint("</head><body>");
myprint("<h3> Feeding our Brothers and Sisters <br> Security Check</h3>");
// get the security form created
myprint("<form name=securityForm method=post action=login.php>");
add_textbox($p,$question);
^^^ ^^^^^^^^
add_submit("Login");
myprint("</form>");
myprint("</body></html>");
}
$question = 'this is a global variable';
$row = 'this is a global variable too';
function foo() {
global $row;
global $question;
add_textbox($row[0], $question);
}