ช่วยดู code หน่อยครับ มัน error...Parse error: syntax error, unexpected '"', expecting T_STRING or T_VARIABLE or
++++++++++++++++++++++++++error++++++++++++++++++++++++++
Parse error: syntax error, unexpected '"', expecting T_STRING or T_VARIABLE or T_NUM_STRING in C:\AppServ\www\uit\add_question.php on line 60
<body>
<?
if(isset($_POST["send"])) //ลบช่องว่างออกจากข้างหน้าและข้างหลังที่ฟิลล์ส่งเข้ามา
{
foreach ($_POST as $key =>$value)
$_POST[$key] = trim($value);
if (validate_form($err))
process_form();
else
{
echo '<font color="red"><b>เกิดข้อผิดพลาด</b><br>';
echo $err . "</font><br>";
echo '<input type="button" value="กลับไปแก้ไข" onclick="history.back();">';
}
}
else { show_form(); } //ฟังก์ชั่นที่ใช้ตวจสอบ
function validate_form(&$err) //กำหนดฟิลด์บังคับ(ฟิลด์ที่ห้ามปล่อยวาง)
{
$required = array("name"=>"ชื่อของคุณ","topic"=>"หัวข้อกระทู้",
"detail"=>"รายละเอียดกระทู้");
$err="";
//วนลูปตรวจสอบฟิลล์บังคับทุกฟิลล์
foreach ($required as $field=>$label) {
if($_POST[$field]=="")
$err.="<li>คุณไม่ได้ป้อน<b>$label</b></il>";
}
//ส่งคืนค่าออกไปจากฟิลล์
if($err)
return FALSE; //กรณีมีข้อผิดพลาดในฟอร์ม
else
return TRUE; //กรณีไม่มีข้อผิดพลาดในฟอร์ม
} //จบฟังก์ชั่น validate_form
function show_form() { //ฟังก์ชั่นที่ใช้แสดงฟอร์มสำหรับตั้งกระทู้
echo <<<HTMLBLOCK
<h3>ตั้งกระทู้</h3>
<form method="POST" action="{$_SERVER['PHP_SELF']}">
ชื่อของคุณ:<input type="text" name="name"size="20" maxlength="50"><br>
หัวข้อ: <input type="text" name="topic" size="40" maxlength="255"><br>
รายละเอียด:<br>
<textarea col="50" row="5" name="detail"></textarea><br>
<input type="sumit" name="send" value="ส่งกระทู้เข้าเว็บบอร์ด">
</form>
<hr><a href=list_question.php>หน้าหลักของเว็บบอร์ด</a>
HTMLBLOCK;
} //จบฟังก์ชั่น show_form
//ฟังก์ชั่นที่ใช้ประมวลผลฟอร์ม
function process_form(){
$cn=mysqli_connect("localhost","webboard","board123");
mysqli_select_db($cn,"webboard_db");
/*ใส่ backslashข้างหน้าตัวอักษร ที่อาจทำให้คำสั่ง sql มีปัญหาเมื่อค่าเหล่านี้ไปแทนลงในคำสั่ง (แต่ถ้าไฟล์php.ini มีการกำหนด magic_quotes_gpc=on ไว้ ก็ไม่ต้องการเรียกใช้ฟังก์ชั่น) */
$topic=\addslashes(\$_POST["topic"]);
$detail=addslashes($_POST["detail"]);
$name=addslashes($_POST["name"]);
//หาวันเวลาปัจจุบัน โดยจัดรูปแบบตามที่ Mysql กำหนด
$now=date("Y-m-d H:i:s");
$ip=$_SERVER["REMOTE_ADDR"];
//เก็บกระทู้ลงฐานข้อมูล
$sql="INSERT INTO questions (qTopic,qDetail,qDate,qName,qIPAddress,qAnswerCount)
Value('$topic','$detail','$now','$name','$ip',0)";
$result=mysqli_query($cn,$sql);
if($result){
/*ฟังก์ชั่น mysqli_insert_idจะให้ค่าของฟิลล์ที่เป็น auto-increment หลังจากรันคำสั่ง sqlล่าสุด*/
$id=mysqli_insert_id($cn);
echo"ส่งกระทู้เข้าสู่เว็บบอร์ดเรียบร้อย<br>";
echo"หมายเลขกระทู้ของคุณคือ{$id}<br>";
echo"<a href=\"show_question.php?id={$id}\">คลิ๊กที่นี</ a>";
echo"เพื่อแสดงกระทู้ของคุณ<br>";
echo"<hr><a href=\"list_questions.php\">หน้าหลักของเว็บบอร์ด</a>";
}
else
echo"ส่งกระทู้เข้าสู่เว็บบอร์ดไม่สำเร็จ เนื่องจากเกิดข้อผิดพลาดบางอย่าง<br>";
mysqli_close($cn)
} //จบฟังก์ชั่นprocess_form
?>
?>
</body>
</html>
ผมเขียนตามหนังสือดูแล้วนะครับว่าถูกแต่ยังerrorอยู่รบกวนช่วยดูหน่อยครับTag : - - - -
Date :
2009-05-18 12:18:21
By :
Super_Pui
View :
1926
Reply :
4
<body>
<?
if(isset($_POST["send"])) //ลบช่องว่างออกจากข้างหน้าและข้างหลังที่ฟิลล์ส่งเข้ามา
{
foreach ($_POST as $key =>$value)
$_POST[$key] = trim($value);
if (validate_form($err))
process_form();
else
{
echo '<font color="red"><b>เกิดข้อผิดพลาด</b><br>';
echo $err . "</font><br>";
echo '<input type="button" value="กลับไปแก้ไข" onclick="history.back();">';
}
}
else { show_form(); } //ฟังก์ชั่นที่ใช้ตวจสอบ
function validate_form(&$err) //กำหนดฟิลด์บังคับ(ฟิลด์ที่ห้ามปล่อยวาง)
{
$required = array("name"=>"ชื่อของคุณ","topic"=>"หัวข้อกระทู้",
"detail"=>"รายละเอียดกระทู้");
$err="";
//วนลูปตรวจสอบฟิลล์บังคับทุกฟิลล์
foreach ($required as $field=>$label) {
if($_POST[$field]=="")
$err.="<li>คุณไม่ได้ป้อน<b>$label</b></il>";
}
//ส่งคืนค่าออกไปจากฟิลล์
if($err)
return FALSE; //กรณีมีข้อผิดพลาดในฟอร์ม
else
return TRUE; //กรณีไม่มีข้อผิดพลาดในฟอร์ม
} //จบฟังก์ชั่น validate_form
function show_form() { //ฟังก์ชั่นที่ใช้แสดงฟอร์มสำหรับตั้งกระทู้
echo <<<HTMLBLOCK
<h3>ตั้งกระทู้</h3>
<form method="POST" action="{$_SERVER['PHP_SELF']}">
ชื่อของคุณ:<input type="text" name="name"size="20" maxlength="50"><br>
หัวข้อ: <input type="text" name="topic" size="40" maxlength="255"><br>
รายละเอียด:<br>
<textarea col="50" row="5" name="detail"></textarea><br>
<input type="sumit" name="send" value="ส่งกระทู้เข้าเว็บบอร์ด">
</form>
<hr><a href=list_question.php>หน้าหลักของเว็บบอร์ด</a>
HTMLBLOCK;
} //จบฟังก์ชั่น show_form
//ฟังก์ชั่นที่ใช้ประมวลผลฟอร์ม
function process_form(){
$cn=mysqli_connect("localhost","webboard","board123");
mysqli_select_db($cn,"webboard_db");
/*ใส่ backslashข้างหน้าตัวอักษร ที่อาจทำให้คำสั่ง sql มีปัญหาเมื่อค่าเหล่านี้ไปแทนลงในคำสั่ง (แต่ถ้าไฟล์php.ini มีการกำหนด magic_quotes_gpc=on ไว้ ก็ไม่ต้องการเรียกใช้ฟังก์ชั่น) */
$topic=addslashes($_POST["topic"]); //-- บรรทัดนี้ --//
$detail=addslashes($_POST["detail"]);
$name=addslashes($_POST["name"]);
//หาวันเวลาปัจจุบัน โดยจัดรูปแบบตามที่ Mysql กำหนด
$now=date("Y-m-d H:i:s");
$ip=$_SERVER["REMOTE_ADDR"];
//เก็บกระทู้ลงฐานข้อมูล
$sql="INSERT INTO questions (qTopic,qDetail,qDate,qName,qIPAddress,qAnswerCount)
Value('$topic','$detail','$now','$name','$ip',0)";
$result=mysqli_query($cn,$sql);
if($result){
/*ฟังก์ชั่น mysqli_insert_idจะให้ค่าของฟิลล์ที่เป็น auto-increment หลังจากรันคำสั่ง sqlล่าสุด*/
$id=mysqli_insert_id($cn);
echo"ส่งกระทู้เข้าสู่เว็บบอร์ดเรียบร้อย<br>";
echo"หมายเลขกระทู้ของคุณคือ{$id}<br>";
echo"<a href=\"show_question.php?id={$id}\">คลิ๊กที่นี</ a>";
echo"เพื่อแสดงกระทู้ของคุณ<br>";
echo"<hr><a href=\"list_questions.php\">หน้าหลักของเว็บบอร์ด</a>";
}
else
echo"ส่งกระทู้เข้าสู่เว็บบอร์ดไม่สำเร็จ เนื่องจากเกิดข้อผิดพลาดบางอย่าง<br>";
mysqli_close($cn); //-- บรรทัดนี้ --//
} //จบฟังก์ชั่นprocess_form
?>
//-- บรรทัดนี้ --//
</body>
</html>
Date :
2009-05-18 12:33:12
By :
num
แล้วจะต้องแก้ยังไงครับ
Date :
2009-05-18 12:48:48
By :
Super_Pui
ผมเขียน comment //-- บรรทัดนี้ --// เอาไว้ในบรรทัดที่แก้ไขน่ะครับ
ลองคลิ้กที่ปุ่มขวาบนของ code ,copy code แล้วลอง test ดูครับว่ายังมี error อยู่ป่าวครับ
Date :
2009-05-18 13:06:28
By :
num
ขอบคุณมากครับ
Date :
2009-05-18 13:23:20
By :
Super_Pui
Load balance : Server 00