我有一个页面来注册用户,并按照phpacademy在“ PHP OOP登录/注册系统”上的教程进行操作。 一切正常,直到我今天再次检查并每次都出错。 我不确定发生了什么变化,但是现在可以看到我的值输入为“?”。

    if(Input::exists()) {
    if(Token::check(Input::get('token'))) {
        $validate = new Validate();
        $validation = $validate->check($_POST, array(
            'Username' => array(
                    'required' => true,
                    'min' => 2,
                    'max' => 40,
                    'unique' => 'user'
                ),
            'password' => array(
                'required' => true,
                'min' => 6
            ),
            'password_again' => array(
                'required' => true,
                'matches' => 'password'
            ),
            'UserFName' => array(
                'required' => true,
                'min' => 2,
                'max' => 50
            ),
            'UserLName' => array(
                'required' => true,
                'min' => 2,
                'max' => 50
            ),
            'UserEmail' => array(
                'required' => true
            ),
        ));

        if($validation->passed()) {
            $user = new User();

            $salt = Hash::salt(32);

            try {

                $user->create(array(
                        'UserFName' => Input::get('UserFName'),
                        'UserLName' => Input::get('UserLName'),
                        'UserEmail' => Input::get('UserEmail'),
                        'DepartmentId' => 1,
                        'Username' => Input::get('Username'),
                        'Password' => Hash::make(Input::get('password'), $salt),
                        'salt' => $salt,
                        'group' => 1
                    ));
                Session::flash('home', 'You have been registered and can now log in!');
                Redirect::to('index.php');

            } catch(Exception $e) {
                die($e->getMessage());
            }
        } else {
            foreach($validation->errors() as $error) {
                echo $error, '<br>';
            }
        }
    }
}


<form action="" method="post">
<fieldset>
    <legend>Enter Details Below</legend>
<p>
    <label class="field" for="UserFName">First Name: </label>
    <input type="text" name="UserFName" id="UserFName" value="<?php echo escape(Input::get('UserFName')); ?>" autocomplete="off">
</p>
<p>
    <label class="field" for="UserLName">Last Name: </label>
    <input type="text" name="UserLName" id="UserLName" value="<?php echo escape(Input::get('UserLName')); ?>" autocomplete="off">
</p>
<p>
    <label class="field" for="UserEmail">Email: </label>
    <input type="text" name="UserEmail" id="UserEmail" value="<?php echo escape(Input::get('UserEmail')); ?>" autocomplete="off">
</p>

<p>
    <label class="field" for="Username">Username: </label>
    <input type="text" name="Username" id="Username" value="<?php echo escape(Input::get('Username')); ?>" autocomplete="off">
</p>

<p>
    <label class="field" for="password">Password: </label>
        <input type="password" name="password" id="password">
</p>

<p>
    <label class="field" for="password_again">Re-enter Password: </label>
        <input type="password" name="password_again" id="password_again">
</p>

<input type="hidden" name="token" value="<?php echo Token::generate(); ?>">

<input type="submit" value="Register">

因此,无论我输入什么,我都会收到错误消息“创建您的帐户时出现问题”。

在执行print_r($validate); print_r($user)结果显示为“?” 作为INSERT查询中的VALUES。

Validate Object ( [_passed:Validate:private] => 1 [_errors:Validate:private] => Array ( ) [_db:Validate:private] => DB Object ( [_pdo:DB:private] => PDO Object ( ) [_query:DB:private] => PDOStatement Object ( [queryString] => INSERT INTO user (`UserFName`, `UserLName`, `UserEmail`, `DepartmentId`, `Username`, `Password`, `salt`, `group`) VALUES (?, ?, ?, ?, ?, ?, ?, ?) ) [_error:DB:private] => 1 [_results:DB:private] => Array ( ) [_count:DB:private] => 0 ) )

我完全陷入了困境!

  ask by Tyler Simpson translate from so

本文未有回复,本站智能推荐:

3回复

错误插入PHP

我开始研究OO PHP,但我有某些问题。 在下面的这段代码中,我试图在银行中进行一次插入。 这很简单,但是我已经遇到了问题。 当我尝试发送以下错误时: Fatal error: Call to a member function query() on a non-object
3回复

如何在PHP的对象中间插入项目?

如果我有一个stdClass对象(如下面的对象),该对象具有三个带有非数字键的数组,那么在我的帐户和设置之间将另一个项目插入对象的最佳方法是什么?
1回复

用于连接数据库(MYSQL)的构造函数和析构函数?

我正在使用构造函数连接到数据库,并使用析构函数断开连接。 我只想知道:从构造函数调用它时,效率更高吗? 那析构函数呢? 使用准备好的语句连接到数据库是安全还是良好的编码? 如何创建插入方法?
1回复

致命错误:在oop.php中调用null的成员函数query()

我今天编码php脚本,并收到致命错误消息,我在互联网上找不到任何解决方案,请帮帮我! 致命错误:在第23行的oop.php中,在null上调用成员函数query() 结束就有index.php
6回复

我的insert语句(php到mysql)无法使用我的变量

它一定是最简单的错误,但我没有看到也没找到它。 我用值7填充变量$aa_minerid 。我在插入中使用此变量。 插入总是在数据库中插入0(零)而不是7 我把它放入的领域是我试过的smallint(6) 并且所有人都使用了以后放置的脚本。 如果我放在那里: VALUE
5回复

在'MySQL表中插入名称'

在处理MySQL表时第一次遇到这个问题。 我在表格中插入条形码。 如果该栏被称为“Tim's Bar”并且我立即将其插入,则会收到错误并且未插入数据。 你怎么正确地在桌子上?
1回复

使用PHP跨三个MySQL表进行UPDATE / INSERT

我有3张桌子: SMS_IN带有“原始”数字(数据是通过SMS发送的,因此所有数字都是SMS形式:我正在“爆炸”它们以将其转换为一个数字): members与成员的手机号码: 他们所有号码的mobile_numbers_test表: 我正在尝试通过2个检查将SM
3回复

从mysql中的INSERT查询返回值? [重复]

可能重复: PHP:如何获取表的最后插入的ID? 这是我的查询,用于将新帖子插入到posts表(PHP / mysql)中。 我可以为刚刚插入同一语句的帖子返回post_id吗? 我需要post_id才能插入另一个表。