PHP:注册页面上出现语法错误意外“require_once”
Posted
技术标签:
【中文标题】PHP:注册页面上出现语法错误意外“require_once”【英文标题】:PHP: sytax error unexpected 'require_once' on registration page 【发布时间】:2015-06-16 04:22:48 【问题描述】:我正在尝试从验证到 php 页面的 html 表单创建一个注册页面(下面提供的代码),但是,当我提交表单时,我收到以下错误:
(!) 解析错误:语法错误,path/user_create.php 中出现意外的 'require_once' (T_REQUIRE_ONCE)
以下是将表单中的输入输入数据库的代码:
<?php
session_start();
require_once __DIR__.'config.php';
if(isset($_POST['submit']))
$username=$_POST['username'];
$password=$_POST['password'];
$email=$_POST['email'];
$sql = "INSERT INTO users ( username, password, email) VALUES ( :username, :password, :email )";
$query = $dbh->prepare( $sql );
$query->execute( array( ':username'=>$username, ':password'=>$password, ':address'=>$address, ':email'=>$email ) );
$result = $query->execute( array( ':username'=>$username, ':password'=>$password, ':email'=>$email ) );
if ( $result )
echo "<p>Your Registration is complete</p>";
else
echo "<p>There was a problem with registration, please try again.</p>";
?>
谁能告诉我如何阻止这个错误?不确定是语法错误还是其他原因?
【问题讨论】:
在 require_once 后面加上括号。 @anantkumarsingh 我认为 OP 没有用DIR
定义的常量;无法重现错误。您确定向我们展示了您的真实代码和正确的文件吗?
require_once(__DIR__.'config.php');
试试看。应该工作。
真实代码?是的,这是我正在使用的文件,与我显示的完全一样,是的,它是正确的文件。
require_once
不需要括号,它是一种语言结构,而不是函数。
【参考方案1】:
我能看到的唯一错误是缺少斜线。根据手册:
...此目录名称没有尾部斜杠,除非它是 根目录。
所以你需要:
require_once __DIR__.'/config.php';
^ here
【讨论】:
不错的收获!但这并不能解释为什么 OP 会得到unexpected require_once
:)
如果指定的文件不在给定的路径中,require_once 将抛出一个致命错误,因为在上面的行中'/'被遗漏了,这就是它抛出错误的原因......和 DIR 将给出不带斜线的文档根路径
这就是为什么我认为 OP 没有向我们显示产生此错误的正确文件,或者他没有显示真正的代码,这可能在 require_once
之前有一些东西,或者他有一个 @987654321 @在脚本中
@VinodkumarSaravana 警告会有所不同,它将是运行时错误,而不是解析错误。
@user1830632 有点意外,但很棒!以上是关于PHP:注册页面上出现语法错误意外“require_once”的主要内容,如果未能解决你的问题,请参考以下文章
在 Laravel 中配置 Autoloader.php [重复]