我有一个会员/管理员网站,它使用注销表单将我的用户显示为Welcome, Administrator, pat@tires.com
。好吧,我想使用一个函数来包装会话中的loginName
,这样@tires.com
在显示时就会去掉名称。
下面是我的注销表格和我想使用的功能。现在,当我尝试使用它时,它只会给我一条错误消息,并且不会从名称中删除@tires.com
。
注销形式:
<form action="index.php" method="post" id="logoutform.php">
<fieldset>
<legend>Logout</legend>
<?php
echo "Welcome, ";
echo $_SESSION['level']. ", ";
echo $_SESSION['loginName'];
?>
<br /> <br/> <br/> <br/>
<input type="submit" name="action" value="logout"/>
</fieldset>
</form>
我想使用的功能:
function get_name($results) {
$name = preg_split("/@/", $results['email']);
$name = ucfirst($name[0]);
return $name;
}
错误:将函数包装在会话和登录名周围时:警告:第49行J:\XAMPP\htdocs\tire\includes\functions.php中的非法字符串偏移量'email'
使用精确的函数get_name($results)时出错;注意:未定义的变量:在第58行中J:\XAMPP\htdocs\tire\admin\home.php中的结果
尝试更改您的函数并为电子邮件添加普通值例如:
<?php
$email="test@gmail.com";
function get_name($email) {
$name = preg_split("/@/", $email);
$name = ucfirst($name[0]);
return $name;
}
?>
然后打印结果,如果你没有错误,这意味着电子邮件的值被分配了如果方法不对,只要仔细检查一下,你的问题就会解决。