Fatal error: Call to undefined function validate_Form() in
แปลตามตัวเลยคือ หา function validate_Form() ม่ายเจอ
Date :
2009-10-05 19:44:17
By :
Sek-Artdrinker
แล้วถ้าแปลตามไม้ตามมือละเพ่เสก แปลว่าไงเหรอครับ อิอิอิ
Date :
2009-10-05 20:07:48
By :
NanoTHoro
จริงดิเพ่เสก วันก่อนที่เพ่บอกว่าหาเท็มป์ในซีดีของเพ่วินไม่เจอ เพ่เสกอยากได้เท็มป์ของอะไรครับ วันก่อนโพสไปแล้วเพ่เสกดันไม่มาดูซะเนี่ย ว่าจะอัพให้ซะหน่อย ยังดีที่ไม่ลืม อิอิอิ
Date :
2009-10-05 20:10:36
By :
NanoTHoro
Fatal error: Call to undefined function validate_form() in C:\AppServ\www\graduate\v_webboard\add_answer.php on line 5
-------------------------------------------------------------------------------------------
Code (PHP)
<?php
//ลบช่องว่างออกจากข้างหน้าและข้างหลังของทุกๆ ฟิลด์ที่ส่งค่ามา
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();">';
}
//ฟังก์ชั่นที่ใช้ตรวจสอบฟอร์ม
function validate_from(&$err) {
//กำหนดฟิลด์บังคับ (ฟิลด์ที่ห้ามปล่อยว่าง)
$required = array("name" => "ชื่อของคุณ",
"detail" => "คำตอบ/ความคิดเห็น");
$err = "";
//วนลูปตรวจสอบฟิลด์บังคับทุกชนิด
foreach ($required as $field => $label) {
if ($_POST[$field] == "")
$err .= "<li>คุณไม่ได้ป้อน<b>$label</b></li>";
}
//ส่งคืนค่าออกไปจากฟังก์ชัน
if ($err)
return FALSE; //กรณีมีข้อผิดพลาดในฟร์อม
else
return TRUE; //กรณีไม่มีข้อผิดพลาดในฟอร์ม
} //จบฟังก์ชั่น validate_form
//ฟังก์ชั่นที่ใช้ประมวลผลฟอร์ม (เก็บคำตอบลงฐานข้อมูล)
function process_form() {
$cn = mysqli_connect("127.0.0.1", "root", "grad123web");
mysqli_select_db($cn, "v_webboard");
$q_id = $_POST["question_id"]; //เก็บหมายเลขกระทู้ไว้ในตัวแปร $q_id
//หาจำนวนคำตอบของกระทู้ที่ระบุหมายเลขมา
$sql = "SELECT qAnswerCount FROM questions WHERE qID={$q_id}";
$result = mysqli_query($cn, $sql);
$row = mysqli_fetch_array($result);
/*กำหนดหมายเลขของคำตอบที่กำลังจะบันทึกลงฐานข้อมูล โดยให้เป็นค่าถัดจากจำนวนคำตอบ
ที่มีอยู่ขณะนั้น*/
$next_answar_id = $row["qAnswerCount"] + 1;
/*ใส่ backslash ข้างหน้าตัวอักษรที่อาจทำให้คำสั่ง SQL มีปัญหาเมื่อนำค่าเหล่านี้ไปแทนลงใน
คำสั่ง (แต่ถ้าในไฟล์ php.ini มีการกำหนด magic_quotes_gpc = On ไว้ ก็ไม่ต้องเรียกใช้
ฟังก์ชั่น addslashes เอง เพราะว่า PHP จะเรียกฟังก์ชั่นนี้ให้โดยอัตโนมัติอยู่แล้วสำหรับค่าที่ส่งมา
ทาง GET, POST และ COOKIE)*/
$detail = addslashes($_POST["detail"]);
$name = addslashes($_POST["name"]);
$now = date("Y-m-d H:i:s"); //หาวันเวลาปัจจุบัน โดยจัดรูปแบบตามที่ MySQL กำหนด
$ip = $_SERVER["REMOTE_ADDR"];
//เก็บคำตอบลงฐานข้อมูล
$sql = "INSERT INTO answers (aQuestionID, aID, aDetail, aDate,
aName, aIPAddress) VALUES ({$q_id}, $next_answer_id,
'$detail', '$now', '$name', '$ip')";
$result = mysqli_query($cn, $sql);
if ($result) {
//ปรับปรุงค่าของฟิลด์ qAnswerCount ในเทเบิล questions
$sql = "UPDATE questions SET qAnswerCount=qAnswerCount+1 ";
$sql .= "WHERE qID={$q_id}";
$result = mysqli_query($cn, $sql);
echo "ส่งคำตอบเข้าสู่เว็บบอร์ดเรียบร้อยแล้ว<br>";
echo "<a href=\"show_questions.php?id={$q_id}\">คลิกที่นี่</a>";
echo "เพื่อกลับไปยังกระทู้<br>";
echo "<hr><a href=\"list_questions.php\">หน้าหลักของเว็บบอร์ด</a>";
}
else
echo "ส่งคำตอบเข้าสู่เว็บบอร์ดไม่สำเร็จ เนื่องจากเกิดข้อผิดพลาดบางอย่าง<br>";
mysqli_close($cn);
} //จบฟังก์ชั่น process_form
?>
//ช่วยหน่อยนะครับ (ขอบคุณครับ)
Date :
2009-10-05 20:44:01
By :
iveesa
ได้แล้วนะครับ ผม error เองเรียกฟังก์ชั่นผิด
จาก validate_form
ต้องเป็น validate_from ครับ
แต่ปัญหาใหม่คือ ส่งคำตอบเข้าสู่เว็บบอร์ดไม่สำเร็จ เนื่องจากเกิดข้อผิดพลาดบางอย่าง
ตอนนี้ก็กำงมอยู่ครับ
Date :
2009-10-05 22:21:41
By :
iveesa
งมช่วยผมหน่อยนะครับ
มันส่งคำตอบเข้าเว็บบอร์ดไม่ได้ครับ
ไม่ไหวแล้วจริงๆ ครับ
Date :
2009-10-05 23:55:07
By :
iveesa
นอนพักผ่อนก่อนดีกว่าไหม พรุ่งนี้เช้าตื่นมาอาจจะคิดออกก็ได้ เพราะตอนเช้าสมองปลอดโปร่งครับ
Date :
2009-10-06 01:06:40
By :
NanoThoro
มาปิดท้ายก่อนไปนอน
ช่วยให้มันฟ้อง mysql_error หน่อยครับ มันจะช่วยให้ตอบคำถามได้ไวขึ้นครับ
Code (PHP)
$sql = "INSERT INTO answers (aQuestionID, aID, aDetail, aDate,
aName, aIPAddress) VALUES ({$q_id}, $next_answer_id,
'$detail', '$now', '$name', '$ip')";
$result = mysqli_query($cn, $sql) or die(mysql_error());
ถ้าจะให้มองที่ผิด ใส่ชื่อฟิลด์ผิด , ค่า$now ไม่ตรงกับ type ของ aDate , $q_id หรือ $next_answer_id ไม่มีค่า,....
Date :
2009-10-06 04:07:56
By :
xbeginner01
มัน Error ว่าจั่งได๋???
Date :
2009-10-06 09:02:48
By :
panyapol
น้องเขายังไม่ตื่นละมั้งคุณพี เมื่อคืนคงจะเกือบสว่างละมั้ง
Date :
2009-10-06 09:04:58
By :
NanoThoro
จัดไปเลยเพ่เสก
สักครู่ แต่ไม่รู้ว่าสวยถุกใจเพ่เสกหรือเปล่านะครับ
แต่ถ้าเป็นสาวผมยาวขาวอวบละก็ ถูกใจผมแน่นอนคร๊าบบบบ
(เรื่องเดียวกันหรือเปล่าเนี่ย อิอิอิ)
Date :
2009-10-06 10:31:59
By :
NanoThoro
สามร้อยกว่าแม็ก อิอิอิ ดันอัพไปทีเดียวมันไม่รับ สงสัยต้องเลือกออกบ้างแล้ว รอหน่อยนะครับ ทำให้ใหม่อีกรอบทุกๆ คน
Date :
2009-10-06 10:43:26
By :
NanoThoro
$sql = "INSERT INTO answers (aQuestionID, aID, aDetail, aDate,
aName, aIPAddress) VALUES ({$q_id}, $next_answer_id,
'$detail', '$now', '$name', '$ip')";
$result = mysqli_query($cn, $sql) or die(mysql_error());
ใส่โค้ดที่ให้มาปรากฏว่า มันไม่มีอะไรขึ้นเลยครับ แบบว่าไม่ฟ้องอะไรเลยเป็นหน้าเปล่าครับ
ยังไม่ได้เลยครับ (ผมนอนหลับยาว) พึ่งตื่นครับ
Date :
2009-10-06 19:32:19
By :
iveesa
เพิ่มเติมข้อมูลครับ ค่าเวลาที่ขึ้นในหัวข้อกระทู้เป็นงี้ครับ (00.00.00)
ผมก็อธิบายไม่ค่อยถูก "ใหม่จริงๆ ครับ"
Date :
2009-10-06 19:37:54
By :
iveesa
mysqli กับ mysql มันต่างกันตรงไหนหรอ ใครรู้ช่วยบอกหน่อย :>
วันก่อนก็เพิ่งเจอ mssql อีกอัน -..- อันนี้รู้ความหมายแหล่ะ
งั้นเปลี่ยนใหม่
$sql = "INSERT INTO answers (aQuestionID, aID, aDetail, aDate,
aName, aIPAddress) VALUES ({$q_id}, $next_answer_id,
'$detail', '$now', '$name', '$ip')";
echo $sql; //<-- ข้อดูค่า $SQL
$result = mysqli_query($cn, $sql) ;
Date :
2009-10-06 19:45:55
By :
xbeginner01
INSERT INTO answers (aQuestionID, aID, aDetail, aDate, aName, aIPAddress) VALUES (6, , 'ไม่ได้ซะที', '2009-10-06 20:57:22', 'กรกนก', '127.0.0.1')ส่งคำตอบเข้าสู่เว็บบอร์ดไม่สำเร็จ เนื่องจากเกิดข้อผิดพลาดบางอย่าง
ผลลัพธ์ที่ได้ครับ
Date :
2009-10-06 19:57:26
By :
iveesa
ได้แล้วครับ
Date :
2009-10-06 20:05:48
By :
iveesa
มีค่าหายไปค่านึง aID ไม่ทราบว่าเป็นตัเลข หรือว่าตัวอักษรครับ ถ้าเกิดเป็นตัวเลข ไม่มีค่าก็จะหมายถึงศูนย์ ถ้าเป็นตัวอักษร ไม่มีค่าจะเป็น '' (Single นะครับ สองตัวติดกัน) แต่ต้องระวังอีกว่า ถ้ากำหนดในตารางเป็น Not Null เอาไ้จะเป็นค่าว่างไม่ได้ครับ
Date :
2009-10-06 20:07:21
By :
NanoThoro
ผิดที่ค่า aID
กำหนดตัวแปลผิดครับ
ขอบคุณอย่างสุดซึ้งเลยครับ
xbeginner01 ช่วยผมมาหลายครั้ง สุดยอดจริงๆ นับถือน้ำใจเลยครับ
Date :
2009-10-06 20:07:43
By :
iveesa
ว้าาา ได้ซะแล้ว ดีใจด้วยครับ กว่าตั้งหลายวัน สู้ต่อไปละกันครับ อิอิอิ
กำลังจากคนในนี้มีให้เสมอครับ
Date :
2009-10-06 20:09:38
By :
NanoThoro
Load balance : Server 03