Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 6099569
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 23, 20262026-05-23T13:17:17+00:00 2026-05-23T13:17:17+00:00

I am working on a method to activate new members. I get the following

  • 0

I am working on a method to activate new members. I get the following error:

Undefined offset: 1

The error occurs on the line which contains the following:

$model->username=$data[1];

Is there a Yii way to make this work better?

I am a rookie with php, oop, and Yii, so any assistance would be appreciated greatly!

The method basically takes a get request from a user. The get runs this method and contains a key which is used to validate their account. Validations are stored in a file with the same name as the key. Inside the file is a pipe delimited line that contains the date, username, email, salt, and a password hash. After reading the file, and exploding the data at the pipe, I need to assign the data to the model, and then it will be saved to the db.

...

        $model=new Users;

        $model->activation_key=$_GET['key'];

        $path_to_validation_files = Yii::app()->basePath."/data/new_member_validations";
        $validation_file = $path_to_validation_files . "/".$model->activation_key.".dat";

        if(is_readable($validation_file) && !empty($validation_file))
        {
            if($fp = fopen($validation_file, 'r'))
            {
                while(!feof($fp))
                {
                    $line = fread($fp, filesize($validation_file));
                }
                fclose($fp);
                $data = explode('|', $line);

                if(!empty($data)){
                    $model->username=$data[1];
                    $model->email=$data[2];
                    $model->salt=$data[3];
                    $model->password=$data[4];
                } else {
                    throw new CHttpException(500,'Validation file contained no data.');
                }

            } else {
                throw new CHttpException(500,'Cannot open validation file.');
            }
        } else {
            throw new CHttpException(404,'Validation file not found, not readable, or empty.');
        }


...
  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-23T13:17:17+00:00Added an answer on May 23, 2026 at 1:17 pm

    You can use the attributes property of the CActiveRecord class to load an associative array.

    For example, say you have a model with properties foo and bar, and you have an array data('foo'=>1, 'bar'=2)

    you can set $myModel->attributes = data, and it will loop through the array and assign the properties to the model (but only if those attributes have validation rules)

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I'm working on a Refresh() extension method for ObservableCollection which adds, removes or replaces
I'm working on a method that accepts an expression tree as a parameter, along
I am working on a method that will allow me to pull in the
Both methods MyBehavior::CreateSerializer() are not called of some reason, but ReplaceBehavior() method is working.
I was working on a demo method and found something strange(at least to me
I'm working on an extension method that's only applicable to reference types. I think,
I'm working on a menu-generating HtmlHelper extension method. This method will need to know
I was working on some code recently and came across a method that had
Everything is working fine until I call the saveFile method (shown below) to write
I am working with some complex queries using the dynamic find_all method and reached

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.