php表單預覽複選值出不來

各位前輩,我是位剛自學PHP的菜菜菜鳥,再練習建置一份郵寄問卷名單,在no1.php採implode處理,可得正確的複選值內容,但在預覽選項的no2.php中相同的方式處理但複選值內容卻完全出不來,觀看網址只抓到首值,拜了各路搜尋大神仍找不到解答,懇請各位不吝協助這問題,在此先謝過^^
以下為表單內容與PHP檔案內容 請各位了解一下 感恩
表單內容
<form action=\"no1.php\" method=\"post\" name=\"form1\">
<p>請輸入姓名:<input type=\"text\" name=\"name\" maxlength=\"8\" size=\"8\"><br>
<br>
請選擇年齡:<select name=\"old\" size=\"1\">
<option value=\"1 歲 - 10 歲\">1 歲 - 10 歲</option>
<option value=\"11 歲 - 20 歲\">11 歲 - 20 歲</option>
<option value=\"21 歲 - 30 歲\">21 歲 - 30 歲</option>
<option value=\"31 歲 - 40 歲\">31 歲 - 40 歲</option>
<option value=\"41 歲 - 50 歲\">41 歲 - 50 歲</option>
<option value=\"51 歲 - 60 歲\">51 歲 - 60 歲</option>
<option value=\"61 歲 - 70 歲\">61 歲 - 70 歲</option>
<option value=\"71 歲 - 80 歲\">71 歲 - 80 歲</option>
</select></p>
<p>請選擇興趣:<select name=\"hobbies[]\" size=\"3\" multiple>
<option value=\"閱讀\">閱讀</option>
<option value=\"聽音樂\">聽音樂</option>
<option value=\"逛街\">逛街</option>
<option value=\"旅行\">旅行</option>
<option value=\"美食\">美食</option>
<option value=\"運動\">運動</option>
</select></p>
<p>請填入郵件地址:<input type=\"text\" name=\"mail\" maxlength=\"30\" size=\"30\"></p>
<p><input type=\"submit\" name=\"formok\" value=\"完成\"> <input type=\"reset\" name=\"formrestart\" value=\"重新填寫\"> <input type=\"button\" name=\"formreview\" value=\"問卷預覽\" target=\"_blank\" onClick=\"location.href='no2.php?name='+document.form1['name'].value+'&old='+document.form1['old'].value+'&hobbies='+document.form1['hobbies[]'].value\"></p>
</form>


no1.php內容
<?php
include(\"PHPMailerAutoload.php\"); //匯入PHPMailer類別
header(\"Content-type:text/html;charset=UTF-8\");//宣告網頁編碼
$date=date('Y/m/d'.' '.'G:i:s');//設定填寫時間

if($_POST[\"hobbies\"]==\"\"){
$_allhobbies=$_POST[\"hobbies\"];
}else{
$_allhobbies=\"我選擇的興趣:\".implode(\",\",$_POST[\"hobbies\"]);
//巢狀判斷式 結束
}
$message=\"
年齡興趣調查問卷<br />
<br />
填寫時間:{$date}<br />
我的姓名:$_POST[\"name\"]<br />
我的年齡:$_POST[\"old\"]<br />
$_allhobbies<br />
-------------------------------------------------------------------------------------------------------------<br />
問卷填寫完成<br />
\";
$mail= new PHPMailer(); //建立新物件
$mail->IsSMTP(); //設定使用SMTP方式寄信
$mail->SMTPAuth = true; //設定SMTP需要驗證
$mail->Host = \"msa.hinet.net\"; //設定SMTP主機
$mail->Port = 25; //設定SMTP埠位,預設為25埠。
$mail->CharSet = \"utf-8\"; //設定郵件編碼
$mail->Username = \"service\"; //設定驗證帳號
$mail->Password = \"123456\"; //設定驗證密碼
$mail->From = \"[email protected]\"; //設定寄件者信箱
$mail->FromName = \"SERVICE\"; //設定寄件者姓名
//$mail->Header = \"Content-type:text/html;charset=UTF-8\";
$mail->Subject = \"=?UTF-8?B?\".base64_encode(\"年齡興趣調查問卷\").\"?=\"; //設定郵件標題
$mail->Body = \"$message\"; //設定郵件內容
$mail->IsHTML(true); //設定郵件內容為HTML
$mail->AddAddress($_POST[\"mail\"]); //設定收件者郵件及名稱

if(!$mail->Send()) {
echo \"<body bgcolor='#FFFFCC'>\".\"問卷填寫尚未完成: \" . $mail->ErrorInfo;
} else {
echo \"<body bgcolor='#FFFFCC'>\".\"已完成問卷填寫\";
}
?>


no2.php內容
<?php
session_cache_limiter(‘private’);
session_start();
header(\"Content-type:text/html;charset=UTF-8\");//宣告網頁編碼
$date=date('Y/m/d'.' '.'G:i:s');//設定填寫時間

if($_GET[\"hobbies\"]==\"\"){
$_allhobbies=$_GET[\"hobbies\"];
}else{
$_allhobbies=\"我選擇的興趣:\".implode(\",\",$_GET[\"hobbies\"]);
//巢狀判斷式 結束
}
$message=\"
年齡興趣調查問卷<br />
<br />
填寫時間:{$date}<br />
我的姓名:{$_GET[\"name\"]}<br />
我的年齡:{$_GET[\"old\"]}<br />
$_allhobbies<br />
-------------------------------------------------------------------------------------------------------------<br />
問卷填寫完成<br />
\";

echo \"<body bgcolor='#FFFFCC'>\".\"$message\";
?>
<input type =\"button\" onclick=\"history.back()\" value=\"結束預覽\"></input>
標籤:

評論

  • 你可以在
    if($_GET[\"hobbies\"]==\"\"){
    前一行加入 print_r( $_GET[\"hobbies\"] );
    看看裡面放了什麼東西
Sign In or Register to comment.