全般
phpでつくるログインメール確証の件 エラーの解決法がわかりません
...
phpでつくるログインメール確証の件 エラーの解決法がわかりません
誰か教えてください
Parse error: syntax error, unexpected '' (T_ENCAPSED_AND_WHITESPACE), expecting identifier (T_STRING) or variable (T_VARIABLE) or number (T_NUM_STRING) in C:********************.php on line 123というエラーです。
phpの内容は
<?php
session_start();
//mysqlに接続-------
mysql_connect('localhost','root','*****') or die(mysql_error());
mysql_select_db('login') or die(mysql_error());
mysql_query('SET NAMES UTF8');
//-----------------
if(!isset($_SESSION['join'])){
header('Location:admission.php');
}
//登録処理---------
if(!empty($_POST)){
//登録処理をする
$sql=sprintf('INSERT INTO members SET name="%s",email="%s",password="%s",created="%s"',
mysql_real_escape_string($_SESSION['join']['name']),
mysql_real_escape_string($_SESSION['join']['email']),
sha1(mysql_real_escape_string($_SESSION['join']['password'])),
date('Y-m-d H:i:s')
);
mysql_query($sql) or die(mysql_error());
unset($_SESSION['join']);
// メールアドレスを確認するためのランダムなトークンを生成
$token = sprintf("%04d", rand(0, 9999));
$stmt = $db->prepare($sql);
$stmt->execute(array(
$_POST['name'], $_POST['email'], $_POST['password'],$token, time()
));
$user_id = $db->lastInsertId(); // 今挿入したuser_idを取得する★
// メールアドレスを確認する
$host = $_SERVER["HTTP_HOST"];
$self = $_SERVER["SCRIPT_NAME"];
//確証メールの設定
mb_language("japanese");
mb_internal_encoding("UTF8");
if(isset($_POST['email'])){
$to=$_POST['email'];
$subject="メール認証";
$body = <<< __MAIL__
{$_POST['name']} さん、シッカリストへのご登録ありがとうございます。
以下のURLにアクセスすれば、メールアドレスの認証が完了します。
↓
http://{$host}{$self}?m=emailcheck&user_id=$user_id&token=$token
__MAIL__;
$from="****@yahoo.co.jp";
//確証メールの送信
$success=mb_send_mail($to,$subject,$body,$from);
if($success){
show_html_header();
echo "<h3>仮登録が完了しました。</h3>";
echo "<p>メール認証用のメールを[$email]へ送信しました。</p>";
echo "<p>メールにある認証用URLをクリックしてください。<p>";
show_html_footer();
}else{
echo "送信に失敗しました";
}
}
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="ja" xml:lang="ja">
<head>
・・・
・・・
・・・
・・・
・・・
・・・
・・・
・・・
・・・
<title>*****</title>
</head>
<body>
<div id="top">
<div id="header">
<h1><a href="index.php"><img src="images/logo.jpg" alt="" /></a></h1>
<div id="pr">
<p>****************</p>
</div><!-- /#pr -->
</div><!-- /#header -->
<div id="menu">
<ul>
・・・
・・・
・・・
・・・
</ul>
</div><!-- /#menu -->
<div id="icatchIndexWrap">
<div id="icatch">
<p><img src="images/top.jpg" alt="" /></p>
</div><!-- /#icatch -->
</div><!-- /#icatchWrap -->
<div id="contents">
<div id="main">
<h3>アカウント確認</h3>
<form action=""method="post">
<input type="hidden"name="action"value="submit">
<dl>
<dt>ニックネーム</dt>
<dd>
<?php echo htmlspecialchars($_SESSION['join']['name'],ENT_QUOTES,'UTF-8');?>
</dd>
<dt>メールアドレス</dt>
<dd>
<?php echo htmlspecialchars($_SESSION['join']['email'],ENT_QUOTES,'UTF-8');?>
</dd>
<dt>パスワード</dt>
<dd>
【表示されません】
</dd>
</dl>
<div><a href="admission.php?action=rewrite">« 書き直す</a>|<input type="submit"value="登録する"></div>
</form>
</div><!-- /#main -->
<div id="sub">
<div class="section">
・・・・・・・・・
という感じで
ニックネーム確認欄の
<?php echo htmlspecialchars($_SESSION['join']['name'],ENT_QUOTES,'UTF-8');?>
でエラーが出ます
実はphp独学なもので知識が足りない部分が多々あります
どなたかわかる方ご教授お願いします
コメントする