ช่วยด้วยคับ เขียนโค๊ตเสร็จพอ ทดสอบแล้ว error Notice: Undefined variable

สำหรับผู้ที่ เริ่มต้น Programming - PHP มีอะไร แนะนำ หรือข้อสงสัยต้องบอร์ด นี้ คนที่มีความรู้ แบ่งปันคนอื่นบ้างนะ ปัญหาการเขียนโปรแกรม แบบ OOP Session Cookies php network

Moderators: mindphp, ผู้ดูแลกระดาน

User avatar
dexjanghan
PHP Sr. Member
PHP Sr. Member
Posts: 68
Joined: 02/03/2011 5:36 pm

Re: ช่วยด้วยคับ เขียนโค๊ตเสร็จพอ ทดสอบแล้ว error Notice: Undefined variable

Post by dexjanghan »

ใส่แบบนี้แล้วกันนะคับ ตัวอย่าง

Code: Select all

include("../connecdb.php");
$cont_id 			= $_GET['cont_id'];
$categ_id 		= $_GET['categ_id'];
$cont_name		= $_GET['cont_name'];
$cont_desct		= $_GET['cont_desct'];
$content			= $_GET['content'];
$sql = "select * from content where cont_id=$cont_id"; //ตรงนี้จะเป็นข้อกำหนดให้ดึงข้อมูลตามที่เรากำหนด
$dbquery = mysql_db_query($dbname, $sql);
$result = mysql_fetch_array($dbquery);
			$cont_id = $result[cont_id];
			$categ_id = $result[categ_id];
			$cont_name = $result[cont_name];
			$cont_desct = $result[cont_desct];
			$content= $result[content];
// ปิดการติดต่อฐานข้อมูล
?>
//แล้วทำการแสดงผลนะคับ
มื่อใหม่หัดใช้ PHP แต่คล่อง Joomla ซะมากกว่า
แวะเวียนเว็บโหลๆhttp://www.dexjanghan.com

roteee
PHP Jr. Member
PHP Jr. Member
Posts: 11
Joined: 25/09/2011 12:19 pm

Re: ช่วยด้วยคับ เขียนโค๊ตเสร็จพอ ทดสอบแล้ว error Notice: Undefined variable

Post by roteee »

Notice: Undefined variable: logname in C:\xampp\htdocs\ProjectPHP\AddData.php on line 9
หมายความว่า ตัวแปรชื่อ logname ไม่เคยถูกกำหนดค่าให้ แล้วอยู่ๆ มีการเรียกใช้งาน
Deprecated: Function mysql_db_query() is deprecated in C:\xampp\htdocs\ProjectPHP\AddData.php on line 11
หมายความว่า Function mysql_db_query() เขาเลิกใช้กันแล้ว (ให้เลี่ยงใช้ mysql_select_db() และ mysql_query() แทน)

ซึ่งถ้าอ่านจากคำตอบของท่านต่างๆ ถ้าเข้าใจก็จะแก้ปัญหาได้

แต่ผมขอ re-write code เล็กน้อย เพื่อเป็นอีกหนึ่งแนวคิดครับ :)

Code: Select all

<?php
	$host    = 'localhost';
	$user    = 'root'; 
	$passwd  = 'reetreet'; 
	$dbName  = 'register';
	$tblName = 'members';
	
	// การรับค่าจาก HTML FORM เขียนแบบสั้น จะได้ชื่อตัวแปรที่จะเอาไปใช้งาน เป็นชื่อเดียวกับชื่อของ FIELD ใน HTML FORM 
	if (isset($_POST)) foreach ($_POST as $k => $v) {
		${$k} = addslashes(stripcslashes(trim($v)));
	}
	
	// ไม่งั้นก็ต้องรับค่าเป็นรายตัวไป เช่น
	$logname = $_POST['logname'];
	$psswd   = $_POST['psswd'];
	$name    = $_POST['name'];
	// ...
	// ... ทำจนครบ 
	
	mysql_connect($host, $user, $passwd) or die("ติดต่อ Host ไม่ได้");
	mysql_select_db($dbName) or die("ติดต่อฐานข้อมูลไม่ได้");
	mysql_query('SET NAMES tis620'); // สมัยนี้ควรใช้ UTF8 แล้วน้ะ

	$checkDupSql = "SELECT * FROM `userinfo` WHERE `logname`=\"$logname\" LIMIT 1";
	$resultSet   = mysql_query($checkDupSql);
	$num         = mysql_num_rows($resultSet);
	if ($num > 0) {
		echo '<br />ชื่อผู้ใช้งานซ้ำ กรุณาใช้ชื่ออื่น ';
	} else {
		$sql = "INSERT INTO `userinfo` (" 
		     . "  `logname`, `pw`, `name`, `address`, `age`, " 
		     . "  `gender`, `ads`, `hobby`, `hobby2`, `hobby3`, `hobby4`, `email`" 
		     . ") VALUES (" 
		     . "  \"$logname\", \"$psswd\", \"$name\", \"$address\", \"$age\", " 
		     . "  \"$gender\", \"$Uknow\", \"$hobby1\", \"$hobby2\", \"$hobby3\", " 
		     . "  \"$hobby4\", \"$email\" )";
	
		// $sqlquery = mysql_db_query($dbname, $sql);
		$result = @mysql_query($sql);	// มี mysql_select_db($dbname) แล้วก็ไม่ต้องใช้ mysql_db_query()

		if ($result) {
			echo '<br />เพิ่มข้อมูลผู้ใช้ลงในฐานข้อมูลเรียบร้อยแล้ว ';
		} else {
			echo '<br />ระบบขัดข้อง หรือ มีข้อผิดพลาด และ MySQL กล่าวว่า: ' . mysql_error();
		}
	}
	mysql_close();
?>
Note: เห็นมีประกาศตัวแปร $tblName = 'members'; แต่ใน code เห็น hardcode ชื่อตาราง "`userinfo`" จุดนี้ระวังด้วยน้ะครับ มือกับใจไม่ตรงกันหรือเปล่า :)
<?php ?> เสมอ แบบนี้ <? ?> มันเอาท์แล้ว
เขียน code ให้อ่านง่ายๆ มีชัยไปกว่าครึ่ง

User avatar
thanakritpn
PHP Newbie
PHP Newbie
Posts: 1
Joined: 27/02/2015 12:14 pm

Re: ช่วยด้วยคับ เขียนโค๊ตเสร็จพอ ทดสอบแล้ว error Notice: Undefined variable

Post by thanakritpn »

สวัสดีครับ ผมก็มือใหม่เพิ่งลองหัดเขียน และเจอปัญหานี้ครับ
Notice: Undefined variable: _post in C:\xampp\htdocs\register2.php on line 2
และได้ลองทำตามที่คุณ touleg แนะนำ ปรากฎว่าก็ยังแก้ไม่ได้ ผมไม่แน่ใจว่ายังตกหล่นตรงไหนอีกนะครับ รบกวนช่วยด้วยครับ ขอบคุณครับ

User avatar
mindphp
ผู้ดูแลระบบ MindPHP
ผู้ดูแลระบบ MindPHP
Posts: 24728
Joined: 22/09/2008 6:18 pm
Contact:

Re: ช่วยด้วยคับ เขียนโค๊ตเสร็จพอ ทดสอบแล้ว error Notice: Undefined variable

Post by mindphp »

ตัวแปล _post ประกาศ ไว้ที่ไหนครับ
กำหนดเป็น Constant ไว้ที่ไหน
ลองเอาโค้ดมาดูครับ
ติดตาม VDO: http://www.youtube.com/c/MindphpVideoman
ติดตาม FB: https://www.facebook.com/pages/MindphpC ... 9517401606
หมวดแชร์ความรู้: https://www.mindphp.com/forums/viewforum.php?f=29
รับอบรม และพัฒนาระบบ: https://www.mindphp.com/forums/viewtopic.php?f=6&t=2042

Post Reply
  • Similar Topics
    Replies
    Views
    Last post

Return to “Programming - PHP”

Who is online

Users browsing this forum: No registered users and 7 guests