code บันทึกข้อมูล เอาขึ้น server ไม่ทำงานครับ แต่เปิดที่เครื่องปกติครับ
ปัญหาคือ เพิ่มข้อมูลแล้วกลายไปเป็นหน้าว่างครับ
Code (PHP)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-874" />
<title>Untitled Document</title>
</head>
<body>
</body>
</html>
<?php
include "./connect.inc";
if($insert){
if(mysql_query("INSERT INTO `ea_meeting_room` (`activity_name` , `hostedby` , `type_room` , `s_date` , `e_date` , `unit`,numper,unit2,member_id,s_time,e_time) ". "values('$activity_name' , '$hostedby' , '$type_room' , '$s_date' , '$e_date' , '$unit','$numper', '$unit2','$memberid','$s_time','$e_time')")){
echo"<script>alert('เพิ่มข้อมูลเรียบร้อยแล้วค่ะ')</script>";
echo "<script> document.location='activity3.php';</script>";
exit(); }
else {
print (mysql_errno() ? "Error no." . mysql_error() . " : " : "") .mysql_error();
echo"<script>alert('Error');history.back();</script>";
exit(); }
}
//-----------------------------------------------------------------------------------------------------------------------------
elseif($edit){
if(mysql_query("UPDATE ea_meeting_room SET activity_name = '$activity_name',
hostedby = '$hostedby',
s_date = '$s_date',
e_date = '$e_date',
unit = '$unit' , type_room='$type_room',
numper='$numper',
unit2='$unit2' ,
s_time='$s_time' ,
e_time='$e_time'
WHERE activity_id ='$edit' ")){
echo "<script> alert('แก้ไขข้อมูลเรียบร้อยแล้วค่ะ ');</script>";
echo "<script> document.location='activity3.php';</script>";
}
else {
print "</br>ไม่สามารถอัพเดจได้";
print (mysql_errno() ? "Error no." . mysql_error() . " : " : "") .mysql_error();
echo"<script>alert('ข้อมูลซ้ำซึ่งมีอยู่แล้วค่ะ');history.back();</script>";
exit();
}
}
//--------------------------------------------------------------------------------------------------------------------------------------------------
if($del!=""){
$sql = "delete from ea_meeting_room where activity_id = '$del' ";
if(mysql_query($sql)){
echo "<script> alert('ลบข้อมูลเรียบร้อยแล้วค่ะ ');</script>";
echo "<script> document.location='activity3.php';</script>";
}
else{
echo "<script> alert('ไม่สามารถลบข้อมูลได้ค่ะ ');</script>";
echo "<script> document.location='activity3.php';</script>";
} }
mysql_close();
?>
Tag : PHP, MySQL
ประวัติการแก้ไข 2014-06-06 00:00:11 2014-06-06 00:02:59 2014-06-06 00:45:55
Date :
2014-06-05 23:58:56
By :
puldool
View :
746
Reply :
7
คำสั่ง query sql ตอน insert ผิดหรือป่าวครับ เครื่องหมายต่างๆเช็คดูหรือยัง ลืมวงเล็บ หรือลูกน้ำ
Date :
2014-06-06 00:10:21
By :
jobaijak
ลองเอาคำสั่ง insert ไปรันใน sql ดู ว่ามีค่าเข้าไปถูกต้องหรือป่าว
Date :
2014-06-06 00:11:50
By :
jobaijak
ลองทำใน appserv ที่เครื่องได้ปกตินะครับ แต่พออัพขึ้น server มันไม่ทำงานซะงั้น
Date :
2014-06-06 00:39:15
By :
puldool
เปลี่ยน user และรหัสติดต่อ DB ให้ตรงตามที่hostingให้มา ตรงไฟล์ connect.inc ยังครับ
ปล. การใช้ไฟล์นามสกุล .inc ว่ากันว่าอันตรายนะครับยิ่งเป็นการใช้ในไฟล์คอนเน็คด้วยแล้ว
Date :
2014-06-06 00:49:54
By :
meannerss
ไฟล์ connect.inc ต้องเป็นเป็นอย่างอื่นหรือครับ แนะนำด้วยครับ
user pass db ตรงครับ เพราะผมต้องเข้าหน้า อื่นก่อนที่จะเข้าหน้านี้ ไม่มี error ครับ
Date :
2014-06-06 01:01:12
By :
puldool
เปลี่ยนชื่อเป็น connect.inc.php ครับ
ที่ว่ามันอันตรายเพราะ ถ้ามีใครเรียกดูไฟล์ connect.inc เนี่ย browser จะโชว์โค้ดทั้งหมด หรือทำให้ดาวน์โหลดได้ครับ
แต่ถ้าเป็น .php มันก็จะแค่ทำงาน
ส่วนเรื่องที่ไม่ทำงานนั้น เพราะน้องใช้ AppServ และใช้ตัวแปรแบบ global สังเกตจาก if ($insert) และตัวแปรอื่นๆ ที่ไม่ได้เข้าถึงผ่าน $_POST
วิธีแก้น้องต้องเข้าถึงตัวแปรจากฟอร์มผ่าน $_POST (หรือ $_GET ถ้า method เป็น $_GET) เช่น $_POST['insert']
และที่สำคัญเลิกใช้ AppServ ครับ เปลี่ยนไปใช้ XAMPP (หรืออื่นๆ) จะดีกว่า เพราะ AppServ ตั้งค่า PHP ไว้แย่มากๆ และเก่ามากแล้วด้วย
Date :
2014-06-06 01:22:47
By :
.
หรือถ้ายืนยันจะใช้ AppServ ต่อไป ให้ไปแก้ php.ini ในส่วนของค่าต่อไปนี้
register_globals ให้เป็น 0 หรือ off
register_long_arrays ให้เป็น 0 หรือ off
magic_quotes_gpc ให้เป็น 0 หรือ off
แล้วแก้โค้ดที่น้องเคยทำให้เป็นมาตรฐาน โดยเข้าถึงตัวแปรภายนอก (เช่นจากฟอร์ม) ผ่าน super global เช่น $_POST, $_GET, $_FILES
แทนที่จะเข้าถึงแบบ global (จากชื่อโดยตรง)
Date :
2014-06-06 01:26:29
By :
.
Load balance : Server 01