2013-05-25 1 views
0

$_GET에서 이메일 주소를 가져 오는 데 문제가 있습니다.쿼리 문자열에서 이메일을 가져올 수 없습니다.

<?php 
    $eadd = $_GET['email']; 
    echo("<p>Please check your inbox on your email $eadd.</p>"); 
?> 

내가이 링크에 갔다 :

http://localhost/[email protected] 

그러나 출력은 다음과 같습니다

Please check your inbox on your email . 

편집

여기 내 전체 코드의 다음은 내 코드입니다 :

<?php 
require_once "Mail.php"; 
//Get link posted info's needed 

//Email 
$eadd = $_GET['email']; 

$from = "OtakuJam Registration <[email protected]>"; 
$to = " $unick < $eadd >"; 
$subject = "Thank you for registering"; 
$body = "Dear $unick , 
\n Thank you for registering to OtakuJam. To activate your account, \n 
    "; 

$host = "mail.srv.com"; 
$username = "[email protected]"; 
$password = "mypass"; 

$headers = array ('From' => $from, 
    'To' => $to, 
    'Subject' => $subject); 
$smtp = Mail::factory('smtp', 
    array ('host' => $host, 
    'auth' => true, 
'username' => $username, 
'password' => $password)); 

$mail = $smtp->send($to, $headers, $body); 

if (PEAR::isError($mail)) { 
    echo("<p>" . $mail->getMessage() . "</p>"); 
    } else { 
    echo("<p>Please check your inbox on your email $eadd.</p>"); 
    } 
?> 

`내가 $에 구문 대신 내 $를 돌려 < $ EADD>

+1

이 코드가 제대로 작동하는지 확인해야합니다. get var가 설정되어 있는지 확인해야합니다. – Sam

+1

디버깅을 추가해보십시오. 실제로 전달되는 내용을 보려면 PHP 코드에'var_dump ($ _ GET) '를 넣으십시오. – andrewsi

+5

FYI는 XSS를 출력하기 전에 XSS를 보호하는 것을 잊지 않는다. –

답변

0

의 코드에 이메일을 넣어하지 않는 한, 또한 메일 = $ unick에 전송하지 않습니다 거기에 $의 unick를 무시하십시오 . "<". $ eadd. ">"; @ 찰리가 나를 도와주었습니다. 또한 ". $ 변수"를 사용하라고 말한 사람들에게도. 내 메아리가 도와 줬어. 덕분에

관련 문제