0

私はphpスクリプトを持っています:)基本的に、ユーザーのサインアップは電子メールを受け取り、アクティベーションリンクをクリックします。アクティベーション リンクをクリックすると、activate.php ページが表示され、すべてが完了します。彼らが受け取る電子メールのリンクの問題は次のようになります

こんにちは、ユーザー名です。ログイン情報は次のとおりです:

ユーザー名: コンピューティング
パスワード: コンピューティング

次のステップは、このリンクをクリックしてアカウントを有効にすることです: ここをクリック

上記の最後の行で、そこの Web サイトの名前が、リンク先の activate.php ページに結合されていることがわかります。したがって、私のエラーはそれほど悪くはないと思います。スラッシュなどを見逃しているだけです。とにかく、問題は以下のコードにあると思います。コードはできるだけ短くしました。

<?

// send email
$myname = $contact_name;
$myemail = $contact_email;

$contactname = $signup[fname];
$contactemail = $signup[email];
$message = "Hello ".$signup[fname].",<BR>".
"Get ready to start getting the hits you deserve. Now here is your login info:<BR>     <BR>".
"username: ".$signup[username]."<BR>".
"password: ".$signup[password]."<BR><BR>".
"<B>The next step is to click on this link to activate your account:<a href=".$siteUrl."activate.php?username=".$signup[username].">CLICK HERE</a></b>";
$subject = $title;

$headers .= "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\r\n";
$headers .= "From: ".$myname." <".$myemail.">\r\n";
$headers .= "To: ".$contactemail." <".$contactemail.">\r\n";
$headers .= "Reply-To: ".$myname." <".$myemail.">\r\n";
$headers .= "X-Priority: 1\r\n";
$headers .= "X-MSMail-Priority: High\r\n";
$headers .= "X-Mailer: Just My Server";

mail($contactemail, $subject, $message, $headers);
$signup[username] = "";
?>

誰かがこれに光を当てることができれば、それは良いことです。私は PHP 5.3 を使用しているとだけ言っておきますが、問題は href=".$siteUrl."activate.php?username=".$signup[username].">CLICK HERE"; $subject = $title にあると思います。 ;

しかし、知っている人からの有効な入力が必要です:)。

4

3 に答える 3

2

メッセージの「a」と「href」の間にはスペースが必要です。

また、最新の電子メール クライアントはすべて自動的に URL をリンクに変換するため、おそらく href タグを使用する必要はまったくありません。

于 2013-01-12T00:07:44.870 に答える
0

文字列 "s 内にあるため、エスケープするか、単一引用符を使用する必要があります。

修正版は次のとおりです。

$message = "Hello ".$signup[fname].",<br>".
  "Get ready to start getting the hits you deserve. Now here is your login info:<br>     <br>".
  "username: ".$signup[username]."<br>".
  "password: ".$signup[password]."<br><br>".
  "<b>The next step is to click on this link to activate your account: 
  <a href='".$siteUrl."activate.php?username=".$signup[username].'>CLICK HERE</a></b>";
于 2013-01-12T00:12:36.287 に答える
0

.$siteUrl を使用したリンクを割り当てたときに気付きました。実際にその変数を設定しましたか?

また、外部ソース (電子メール ホスティング Web サイト) からアクセスすることになるため、完全な Web サイト アドレスと同じようにリンクを「ハード コード」しても問題ありません。元:

<a href="http://www.yourwebsite.com/yourdirectories/activate.php?username=".$signup[username].">Click Here</a>

したがって、メッセージ値の値は次のようになります。

$message = "Hello ".$signup[fname].",<BR>".
"Get ready to start getting the hits you deserve. Now here is your login info:<BR>     <BR>".
"username: ".$signup[username]."<BR>".
"password: ".$signup[password]."<BR><BR>".
"<B>The next step is to click on this link to activate your account:<a href='http://www.yourwebsite.comactivate.php?username=".$signup[username]."'>CLICK HERE</a></b>";

二重スラッシュに問題はないはずですが、問題がある場合は次を使用できます。

$message = "Hello ".$signup[fname].",<BR>".
"Get ready to start getting the hits you deserve. Now here is your login info:<BR>     <BR>".
"username: ".$signup[username]."<BR>".
"password: ".$signup[password]."<BR><BR>".
"<B>The next step is to click on this link to activate your account:<a  href='http:/"."/www.yourwebsite.com/activate.php?username=".$signup[username]."'>CLICK HERE</a></b>";
于 2013-01-12T00:07:25.270 に答える