필자가 쓰는 웹 응용 프로그램에 대해 "시스템"전자 메일을 설정하려고합니다. 꽤 많은 사용자 테이블에서 당신의 역할은PHP Foreach 루프 + PDO
3
하고 계정 상태가 '활성화'
경우
후 때까지 새 사용자가 로그인 , 또는 모든 관리자가 전자 메일로 보낼 로그인 요청을 보냅니다. 지금까지 이메일을 하드 코딩했지만 앱을 마케팅 할 때 회사는 이메일을 변경하기 위해 코드를 작성하지 않아도됩니다. 그래서 나는 그것을 "동적으로"하려고 노력하고있다.
Thomas는 대부분 내 모델 덕분이다. :
{
$sql = "SELECT * from users WHERE status = 'Activated' and role = 3";
$admin_email = $this -> db -> conn_id -> prepare($sql);
$admin_email -> execute();
$emails = array();
if ($admin_email)
{
if ($admin_email -> rowCount() > 0)
{
foreach ($admin_email -> fetchall() as $row)
{
$emails[] = $this -> encrypt -> decode($row['email']);
}
return $emails;
}
}
}
및 컨트롤러 :
{
$this -> load -> model('login_model');
$this -> load -> library('email');
$this -> load -> library('encrypt');
$emails = $this -> login_model -> admin_email();
$first = $this -> input -> post('fname');
$last = $this -> input -> post('lname');
$email = $this -> input -> post('email');
$this -> email -> from($email);
$this -> email -> to($emails);
$this -> email -> reply_to($email);
$this -> email -> subject('' . $first . ' ' . $last . ' Account Request');
$this -> email -> message('{unwrap}Hello this is ' . $first . ' ' . $last . ', I am requesting to be added to the staff log-in.{/unwrap}');
if (!$this -> email -> send())
{
$this -> session -> set_flashdata('email', 'Email Was Not Sent!');
$this -> request_account();
} else
{
$this -> session -> set_flashdata('login', 'Request Sent!');
redirect('login_controller/index', 'location');
}
}
그냥 내 관찰에서 더 많은이 파고 :
- 첫 번째 행이 잘 작동을 반환하지만, 테스트 목적으로 내가 두가 관리자 계정과 나는 지금 막 말했다, 첫번째 사람은 전자 우편을 얻는다. 첫 번째 행 (첫 번째 관리자)을 삭제하면 두 번째 행이 삭제됩니다. 그래서 내 foreach가 실패한 것처럼 느껴지지만, 왜 또는 심지어 내 오류 (들)을 해결하는 방법을 모르겠어요.
하나는 내가있는 동안,
$ dbemail = $ row [ 'email'];'를'$ dbemail = $ row'로 변경하고 다시 테스트하십시오 –
정답이 주어진 후에 질문을 닫습니다. $ this-> logic === 0 – RaGe10940