我需要一些帮助,以使用PHP OOP语法进行电子邮件激活



我几乎可以使用我的代码,但更喜欢使用我的用户类但是,当在我的registration.php文件中实现$ user = new user((时行不通。到目前为止,我已经有以下代码。这只是代码的一部分。

<?php
 require_once 'core/init.php';  // we have autoloader here

 if(isset($_POST['submit'])) {
      $random = rand();
      $name = $_POST['name'];
      $email = $_POST['email'];
      $to = 'piano0011@hotmail.com';
      $header = 'From: piano0011@hotmail.com';
      $subject = 'Email activation is required';
      $message = <<<EMAIL
      Hello $name How are you? Thank you for registering and please 
      click on the link to activate your account: 
      .http://localhost/pianocourse101/activate.php? 
      email=$_POST['email']
      EMAIL;
      mail($to, $subject, $message, $header);
}

我希望这些是足够的代码,但乐于提供更多的编码...

包括激活链接时,我还会遇到以下错误 http://

解析错误:语法错误,意外''(t_encapsed_and_whitespace(, 期望标识符(T_STRING(或变量(T_Variable(或数字 (t_num_string(在C: Xampp htdocs pianocourse101 register.php 17

但是,我更喜欢做$ user-> data(( ->用户名之类的事情
但是我不确定该怎么做。我设法在我的profile.php中执行此操作,但是由于某种原因,当我在这里尝试过它时,它说明了有关非对象错误的内容。.我不确定非对象的含义,但我包括$ user = new user((;线路应该有效...我是PHP的新手,想逐步进行简单的说明

if($validation->passed()) {
  $user = new User();
  $salt = Hash::salt(32);

 try {
     $user->create(array(
    'username' => Input::get('username'),
    'password' => Hash::make(Input::get('password'), $salt),
    'salt' => $salt,
    'name' => Input::get('name'),
    'joined' => date('Y-m-d H:i:s'),
    'group' => 0,
    'email' => Input::get('email'),
    'activated' => 0,
    'country' => Input::get('country'),
    'token' => Input::get('token'),
    'email_code' => Hash::make(Input::get('username', microtime()))
     ));

    Session::flash('home', 'You have been registered and can now log in!');
   // Redirect::to('index.html');

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


<form action="" method="post" id="simpleform">
<div class ="field">      
<label for="username">Username</label>
<input type="text" name="username" id="username" value="<?php echo 
escape(Input::get('username')); ?>" autocomplete="off">
</div>

您的Heredoc格式不好。不得缩进接近元素:

    $message = <<<EMAIL
         Hello $name How are you? Thank you for registering and please 
         click on the link to activate your account: 
         .http://localhost/pianocourse101/activate.php? 
         email=$_POST['email']
EMAIL; // on the first column

来自文档:

非常重要的是要注意,与闭合标识符的行必须不包含其他字符,除了半隆(;(。这特别意味着标识符可能不会被缩进,并且在半隆之前或之后可能没有任何空格或选项卡。同样重要的是要意识到,关闭标识符之前的第一个字符必须是本地操作系统定义的新线。这是UNIX系统(包括Mac OS X(上的n。闭合定界符还必须遵循Newline。

相关内容

  • 没有找到相关文章

最新更新