Я работаю над методом активации новых участников. Я получаю следующую ошибку:
Неопределенное смещение: 1
Ошибка возникает в строке, содержащей следующее:
$ модели-> имя пользователя = $ данных [1];
Есть ли способ Yii сделать эту работу лучше?
Я новичок с php, oop и Yii, поэтому любая помощь будет принята с благодарностью!
Метод в основном принимает запрос на получение от пользователя. Get запускает этот метод и содержит ключ, который используется для проверки их учетной записи. Проверки хранятся в файле с тем же именем, что и ключ. Внутри файла находится строка с разделителем канала, которая содержит дату, имя пользователя, адрес электронной почты, соль и хэш пароля. После прочтения файла и взрыва данных в канале мне нужно присвоить данные модели, а затем они будут сохранены в БД.
...
$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.');
}
...