致命错误:调用未定义函数session_register()[重复]

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了致命错误:调用未定义函数session_register()[重复]相关的知识,希望对你有一定的参考价值。

我是php新手,想知道是否有人可以帮助我调试以下错误。致命错误:调用未定义的函数session_register()

在我让用户登录时发生。

PHP

<?php include("config.php"); session_start(); if($_SERVER["REQUEST_METHOD"] == "POST") { // username and password sent from Form $myusername=addslashes($_POST['username']); $mypassword=addslashes($_POST['password']); $sql="SELECT id FROM admin WHERE username='$myusername' and passcode='$mypassword'"; $result=mysql_query($sql); $row=mysql_fetch_array($result); $active=$row['active']; $count=mysql_num_rows($result); // If result matched $myusername and $mypassword, table row must be 1 row if($count==1) { session_register("myusername"); $_SESSION['login_user']=$myusername; header("location: welcome.php"); } else { $error="Your Login Name or Password is invalid"; } } ?>

第16行抛出的错误是

$active=$row['active'];

答案
如果您查看php手册,将会看到它已经是deprecated

您如何使用$_SESSION变量?

$_SESSION["myusername"] = $username;

另一答案
首先您仅从数据库中选择select id,所以没有$row['active']。将$row['active']更改为$row[0]['id']

并且不要使用session_register("myusername");使用$_SESSION['myusername']=="something"

您可以将查询更改为select id,username ...,然后设置$_SESSION['myusername']=$row[0]['username'];

当然,这种方法不好,但对于初学者,应该这样做;

以上是关于致命错误:调用未定义函数session_register()[重复]的主要内容,如果未能解决你的问题,请参考以下文章

致命错误:未捕获的错误:调用 C:\xampp\htdocs\ 中未定义的函数 mysql_connect()

致命错误:在 php 中调用未定义函数 fetch_assoc()

致命错误:调用未定义的函数 site_url()

PHP 致命错误:调用未定义的函数 imagecreatefrompng()

致命错误:调用未定义的函数 imagewebp() [关闭]

PHPmyadmin 问题 - 致命错误:未捕获错误:调用未定义函数 mb_detect_encoding()