2013-03-02 3 views
-1

사용자가 로그인 할 때 전자 메일을 보내는 포함 파일을 만들고 싶습니다.이 방법으로 내 사용자가 인증됩니다. 1- 내 인증 포함 파일에서 사용자 암호를 선택합니다. login.php가 전달하는 사용자 이메일을 기반으로 데이터베이스. 2 사용자가 인증 된 경우 나는 단지 2 개의 세션 변수를 생성합니다. user_id와 user_namePHP가 포함 파일에서 전자 메일을 보내고 있습니다.

일단 사용자가 인증되면 email_function include 파일 내에서 send_login_email 함수를 호출하고 싶습니다. 다른 알림을 위해 사용자에게 전자 메일을 보내는 전자 메일 기능을 추가로 만들려고하므로 user_email을 세션 변수에 저장하는 것이 중요합니다. 아래 그림과 같이

내 인증합니다 파일에서
<?php 
require_once('../includes/authenticate.inc.php'); 
function login_mail($_SESSION['uemail']) 
{ 
$to = $_SESSION['uemail']; 
$subject = "login"; 
$message = <?php $user_name ?>, You have logged in."; 
$from = "[email protected]"; 
$headers = "From:" . $from; 
mail($to,$subject,$message,$headers); 
} 
?> 

I 사용자 세부 사항을 선택합니다 : 이 내 전자 메일 보내기 순간에 파일 lookslike를 포함하는 것입니다

$sql = 'SELECT salt, user_password, user_role, user_name, person_id FROM users WHERE user_email = ?'; 
$stmt = $conn->stmt_init(); 
$stmt->prepare($sql); 
// bind the input parameter 
$stmt->bind_param('s', $user_email); 
// bind the result, using a new variable for the password 
$stmt->bind_result($salt, $storedPwd, $user_role, $user_name, $person_id); 
$stmt->execute(); 
$stmt->fetch(); 

및 비밀번호 경우 확인하는 if 문에서

내가 여기 이메일 기능을 다음과 같은 코드 - 전화 드렸습니다 한 올바른 :

$_SESSION['start'] = time(); 
    session_regenerate_id(); 
    header("Location: $redirect"); 
    // get the user's name and id 
    $_SESSION['name'] = $user_name; 
    $_SESSION['id'] = $person_id; 
    $_SESSION['uemail'] = $user_email; 
    require_once('../includes/email_func.inc.php'); //new stuff 
    login_mail($_SESSION['uemail']); 

로그인 할 때 전자 메일을받지 못합니다. PHP와 ID에서 함수와 이메일을 사용하는 것이 처음이에요. 일반 변수가 아닌 배열 요소해야

login_mail($_SESSION['uemail'], $user_name); 

함수의 인수 :

function login_mail($to, $user_name) 
{ 
$subject = "login"; 
$message = "$user_name, You have logged in."; 
$from = "[email protected]"; 
$headers = "From:" . $from; 
mail($to,$subject,$message,$headers); 
} 

다음으로 전화를 다음과 같이 는

+1

'$ message = , 로그인하셨습니다. ";'내가 본''이 보이지 않는 곳이 –

답변

1

변경 기능을 감사드립니다. 함수에 존재하지 않는 $user_name을 참조하려고했습니다. <?php ...?>은 일반적인 할당에서는 사용되지 않으며 HTML 출력에서 ​​PHP 코드로 전환 할 때 사용됩니다.

오류보고 기능을 사용하도록 설정했는지 확인하고 실수로 오류가 발생 했어야합니다.

+0

고마워, 이 일했다. 내가 그것을 호출 할 때 나는 $ _SESSION [ '이름']로 사용자 이름을 전달했습니다. 그것은 모두 지금, 감사 다시 작동합니다. – elmify

관련 문제