通过PHP MySQL数据库驱动网站,使用函数从电子邮件地址获取名称
我有一个数据库驱动的网站,有一个成员或管理区登录。登录名显示“欢迎,会员,pat@email.com(例如)我希望它说“欢迎,成员,帕特”(例如)。我知道有一个函数可以实现这个功能,但由于某些原因,我现在无法让它工作。它给了我这个错误,并说结果为空: 注意:未定义的变量:结果是第59行的J:\XAMPP\htdocs\tire\admin\home.php 下面是我尝试过的两个不同的get_name函数-请注意,我尝试过其中一个函数,并且在使其工作之前没有遇到任何问题通过PHP MySQL数据库驱动网站,使用函数从电子邮件地址获取名称,php,mysql,database,function,session,Php,Mysql,Database,Function,Session,我有一个数据库驱动的网站,有一个成员或管理区登录。登录名显示“欢迎,会员,pat@email.com(例如)我希望它说“欢迎,成员,帕特”(例如)。我知道有一个函数可以实现这个功能,但由于某些原因,我现在无法让它工作。它给了我这个错误,并说结果为空: 注意:未定义的变量:结果是第59行的J:\XAMPP\htdocs\tire\admin\home.php 下面是我尝试过的两个不同的get_name函数-请注意,我尝试过其中一个函数,并且在使其工作之前没有遇到任何问题 function get
function get_name($results) {
$name = preg_split("/@/", $results['email']);
$name = ucfirst($name[0]);
return $name;
}
function get_name($results) {
list($name, $email) = array_pad(explode('@', $results['name'], 2), 2, null);
return $name;
}
这是注销表:
<form action="index.php" method="post" id="logoutform.php">
<fieldset>
<legend>Logout</legend>
<?php
echo "Welcome, ";
echo $_SESSION['level']. ", ";
echo $_SESSION['loginName'];
echo get_name($results);
var_dump($results);
?> <br /> <br/> <br/> <br/>
<input type="submit" name="action" value="logout"/>
</fieldset>
</form>
在哪里设置
$results
?错误发生在home.php
(读取错误消息)中,并引用变量$results
(读取错误消息)。查看正确的文件,如果仍然有问题,请将正确的文件发布到此处。@HoboSapiens,表单位于home.php页面。@chris85$results来自一个connect函数。我将编辑并发布connect函数。无法判断哪个代码位于哪个文件中,但如果connect()函数不在home.php中,$results不在作用域中。最简单(也是技术上最不正确)的方法是将connect()移到home.php中。
function connect($loginName) {
global $db;
$query = "SELECT email, level, password FROM members WHERE email = '$loginName'";
$result = $db->query($query);
$results = $result->fetch(PDO::FETCH_ASSOC);
return $results;
}