새 멤버를 활성화하는 방법을 찾고 있습니다. ;Yii의 모델 속성에 배열 데이터 할당
$ 모델 -> 자명 = $ 데이터 [1] :
불확정 오프셋 : 1
오류가 포함 된 다음 라인에서 발생 I가 다음 오류
이 작품을 더 좋게 만드는 Yii 방법이 있습니까?
나는 신생아이며, OOP 및 Yii이므로 어떤 도움도 크게 받으실 수 있습니다!
이 메소드는 기본적으로 사용자로부터 get 요청을받습니다. get은이 메소드를 실행하고 계정의 유효성을 확인하는 데 사용되는 키를 포함합니다. 유효성 검증은 키와 동일한 이름의 파일에 저장됩니다. 파일 내부에는 날짜, 사용자 이름, 전자 메일, 소금 및 암호 해시가 포함 된 파이프 구분선이 있습니다. 파일을 읽고 파이프에서 데이터를 폭발시킨 후에 모델에 데이터를 할당해야합니다. 그러면 데이터가 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.');
}
...
실제로 $ 행의 파일에서 행을 가져오고 있습니까? fclose ($ fp) 다음에 if (empty ($ line))가 죽는 ('get not line') 것으로 확인할 수 있습니다. .. $ 행에 문제가있는 것 같아서 이것은 확실합니다. 또한 fread가 지정한만큼의 바이트, 즉 전체 파일을 읽으므로 while 루프가 중복됩니다. – Abhijit
'print_r ($ data)'의 결과는 무엇입니까? 두 번째 배열 위치에 항상 무언가가 존재합니까? – ldg
@ldg - print_r은 오류를 설명하는 Array ([0] =>)입니다. 이유는 무엇입니까? – Mark