Login PHP解析错误和错误代码溢出到其他页面
好的,我在我的Login PHP解析错误和错误代码溢出到其他页面,login,mysqli,php,Login,Mysqli,Php,好的,我在我的login.php页面上看到这个解析错误。代码似乎没有考虑检查用户是否已经登录。我在每个页面上都有一个名为pagechecker.php的文件,用于检查是否有人登录,但它在每个页面顶部显示的都是php代码 login.php上的错误是: 分析错误:语法错误,第21行的C:\inetpub\wwwroot\OTLCoding\PHP\login.PHP中出现意外的“(”,应为标识符(T_字符串)或变量(T_变量)或“{”或“$” base.php <?php s
login.php
页面上看到这个解析错误。代码似乎没有考虑检查用户是否已经登录。我在每个页面上都有一个名为pagechecker.php
的文件,用于检查是否有人登录,但它在每个页面顶部显示的都是php代码
login.php
上的错误是:
分析错误:语法错误,第21行的C:\inetpub\wwwroot\OTLCoding\PHP\login.PHP中出现意外的“(”,应为标识符(T_字符串)或变量(T_变量)或“{”或“$”
base.php
<?php
session_start();
$dbhost = "localhost";
$dbname = "login";
$dbuser = "root";
$dbpass = "DirectedStudies2012";
$mysqli = new mysqli($dbhost,$dbuser,$dbpass,$dbname);
?>
这应该是
$usercheck->mysqli->etc....
此处缺少分号:
$_SESSION['userid'] = $userid;
redirect('languages.php')
问题出在这里:
...->$mysqli->(...
你应该这样称呼它:
...->$mysqli(...
...->mysqli(...
或者像这样:
...->$mysqli(...
...->mysqli(...
取决于是否设置了$mysqli
解释很简单。您可以调用类似()的东西:
但是调用属性名和括号之间的箭头实际上是一个语法错误。这不会导致解析错误。它将是一个“未设置变量$mysqli”错误。我知道吗,因为我的base将$mysqli声明为mysqlimy bad,所以即使你指出了它,我也没有看到箭头括号输入错误,人渣大脑…所以更正,它会创建一个解析错误现在它在解析错误中说e:语法错误,意外的“(”,期望标识符(t_字符串)或变量(t_变量)或'第行C:\inetpub\wwwroot\OTLCoding\PHP\pagechecker.PHP中的“{”或“$”9@JjHarris:好的,你用什么替换了什么?新错误在我修复了所有错误后,它说我的页面有太多重定向loops@JjHarris:那么您现在有了一些与上一个错误无关的内容。看起来脚本中有很多问题,您可能会遵循一些好的编码标准。删除最后一个PHP结束标记(
?>
)如果在这个脚本中没有什么可以显示的话,增加可读性,单独的演示和应用程序,并可能使用一些好的PHP框架来加速开发。这些都是一般的建议,你的原始问题现在似乎是固定的。@ JjHarris:这完全与原来的问题无关,但是考虑一种情况:如果未设置$\u会话['userid']
,该怎么办?在这种情况下,您将有恒定的重定向,因为请求将首先加载base.php
(启动会话并设置数据库设置),然后加载pagechecker.php
,这将发现$\u会话['userid']
未设置,则会立即将请求重定向到同一页面。然后会从头开始重复整个过程,除非浏览器停止重定向并向您显示错误,否则不会有任何机会退出循环。
...->mysqli(...
$my_object->$my_variable_property_name('some argument');