ทำไม ไม่เข้าฐานข้อมูล?ครับ ช่วยเข้ามาดูและช่วยหน่อยครับ

เริ่มโดย pop_phoenix, 30 พฤศจิกายน 2008, 12:32:46

หัวข้อก่อนหน้า - หัวข้อถัดไป

0 สมาชิก และ 1 ผู้มาเยือน กำลังดูหัวข้อนี้

pop_phoenix

ทำไม ไม่เข้าฐานข้อมูล?ครับ ช่วยเข้ามาดูและช่วยหน่อยครับ


ไฟล์ Index เื่พื่อลงนามถวายพระพร
<FORM name="King" onSubmit="return checkFrm(this);"  action="Printregister.php" method="post">
        <TBODY>
        <TR vAlign=top>
          <TD vAlign=center width="20%"><B>ข้าพระพุทธเจ้า : </B></TD>
          <TD width="27%"><INPUT class=kingpage style="WIDTH: 170px"
            tabIndex=14 maxLength=50 name="name"></TD>
          <TD vAlign=center width="53%"><B>ข้อความลงนามถวายพระพร : </B></TD></TR>
        <TR vAlign=top>
          <TD vAlign=center><B>นามสกุล :</B></TD>
          <TD><INPUT class=kingpage style="WIDTH: 170px" tabIndex=14
            maxLength=50 name="lastname"></TD>
          <TD rowSpan=2><TEXTAREA class=kingpage style="WIDTH: 300px" name="word" rows=3></TEXTAREA></TD></TR>
        <TR vAlign=top>
          <TD><B>เลขทะเบียน : </B></TD>
          <TD><INPUT class=kingpage style="WIDTH: 170px" tabIndex=14
            maxLength=50 name="id"></TD></TR>
        <TR>
          <TD>&nbsp;</TD>
          <TD>&nbsp;</TD>
          <TD><INPUT type=image height=22 width=127
            src="image/bt.gif"></TD></TR></FORM>



ไฟล์ Printregister.php เื่พื่อส่งเข้าฐานข้อมูล MySQL
<?PHP
print "<font color=#0000ff>"."<b>"."รายละเอียดของท่าน"."</font>"."</b>"."<br>";
print "<font color=#ff0033>"."เลขทะเบียนนักศึกษา : </font>"."<b>".$id."</b>"."<br>";
print "ชื่อที่ลงนาม : ".$name."&nbsp;นามสกุล : ".$lastname."<br>";
print "คำถวายพระพรของคุณ : ".$word."<br><br>";
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++//
$host = "localhost:3306";
$user ="poppop";
$passwd = "ขอไม่บอกนะครับ";
$dbname = "King";
mysql_connect($host,$user,$passwd) or die("ติดต่อ Host ไม่ได้");
mysql_select_db($dbname) or die("ติดต่อฐานข้อมูลไม่ได้");
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++//
$sql = "INSERT INTO Kb
(id,name,lastname,word)
VALUES
('$id','$name','$lastname','$word')";
$sqlquery=mysql_db_query($dbname, $sql);
print"<br><font color='green'size='3'><b>เพิ่มลงไปในฐานข้อมูลเรียบร้อยแล้ว</b></font><br><br>";
mysql_close();
?>


แต่จำนวน Auto Index ก็ยังรันขึ้นอยู่นะครับ เริ่มจาก 1 ไปเรื่อยๆ แต่ ชื่อ นามสกุล รหัสนักศึกษา ไม่เข้าฐานข้อมูลเลย  :-*

pop_phoenix


siamman


pop_phoenix

อ้างถึงจาก: 9neo ใน 30 พฤศจิกายน 2008, 12:45:55
ไม่ได้ adslash หรือ escape ค่าที่ถูกส่งมามั้งครับ

คืออะไรหรอครับ ผมไม่เข้าใจอ่าครับ

ขอโทษนะครับ :-*

thaiBlogsite

ไฟล์ Printregister.php ผลจาก 4 บรรทัดบน แสดงออกมาหรือเปล่า
ถ้าไม่แสดงออกมาเลย ก็หมายความว่า โฮสติ้งอาจจะตั้งค่า register_globals เป็น Off
ให้แก้ตัวแปร จาก $name $lastname $word เป็น $_POST['name'] $_POST['lastname']
และ $_POST['word'] แทน

pop_phoenix

อ้างถึงจาก: thaiBlogsite ใน 30 พฤศจิกายน 2008, 12:54:08
ไฟล์ Printregister.php ผลจาก 4 บรรทัดบน แสดงออกมาหรือเปล่า
ถ้าไม่แสดงออกมาเลย ก็หมายความว่า โฮสติ้งอาจจะตั้งค่า register_globals เป็น Off
ให้แก้ตัวแปร จาก $name $lastname $word เป็น $_POST['name'] $_POST['lastname']
และ $_POST['word'] แทน

ทำแล้ว 4 บรรทัดบนแสดงแล้วครับ ขอบคุณมากครับ แต่ จะเอาเข้าฐานข้อมูลอย่างไรดีครับ ขอบคุณจริงๆ
ผมเครียดมาตั้งแต่เมื่อวานแล้วได้แค่นี้ก็ดีใจมากแล้วครับ จะจำไว้เป้น บทเรียน เหลือแต่เราจะยัดมันลงไปอย่างไร
ดีครับ

$sql = "INSERT INTO Kb
(id,name,lastname,word)
VALUES
('$id','$name','$lastname','$word')";


thaiBlogsite

ลองแบบนี้ดู


$name = mysql_escape_string($_POST['name']);
$lastname = mysql_escape_string($_POST['lastname']);
$word = mysql_escape_string($_POST['word']);

$sql = "INSERT INTO `Kb`
(`id`,`name`,`lastname`,`word`)
VALUES
('','$name','$lastname','$word')";



ระวังเรื่องตัวอักษรพิมพ์ใหญ่ พิมพ์เล็ก ด้วยนะ

pop_phoenix

อ้างถึงจาก: thaiBlogsite ใน 30 พฤศจิกายน 2008, 13:08:56
ลองแบบนี้ดู


$name = mysql_escape_string($_POST['name']);
$lastname = mysql_escape_string($_POST['lastname']);
$word = mysql_escape_string($_POST['word']);

$sql = "INSERT INTO `Kb`
(`id`,`name`,`lastname`,`word`)
VALUES
('','$name','$lastname','$word')";



ระวังเรื่องตัวอักษรพิมพ์ใหญ่ พิมพ์เล็ก ด้วยนะ

ทำได้แล้ว ครับ ขอบคุณท่านๆๆๆๆๆๆมากจริงๆครับ :'(

ผมขอขอบคุณในนามของ คณะกรรมการนักศึกษา คณะวิทยาศาสตร์ มหาวิทยาลัยหอการค้าไทยครับ
คุณได้ช่วยผมจากการโดนด่าเรื่องงานที่รับผิดชอบ ขอบคุณจากใจจริงๆ
ไม่รู้จะตอบแทนอย่างไรดี ทำมาหลายวันไม่ได้ซักที ขอบคุณมากๆครับ
:'(

Save รูปมาฝากครับ


siamman

mysql_escape_string <-- อันนี้แหละครับ ผมก็เคยพลาดตรงนี้เหมือนกัน ก็ได้คนในบอร์ดนี่แหละช่วยไว้ คนที่นี่มีแต่เวบมาสเตอร์เทพๆ ทั้งนั้น :'(