|
|
|
ถามความคิดเห็น ของความน่าจะเป็นของระบบฐานข้อมูลไม่ทำงานเมื่ออยู่บนเซิฟเวอร์จริง |
|
|
|
|
|
|
|
การทำงานบนเซิร์ฟจำลองนั้น ก็บอกอยู่แล้วว่าจำลอง ฉะนั้น ฟังก์ชั่นการทำงานจะเอื้ออำนวยให้กับนักพัฒนาระบบเป็นอย่างมาก ทุกฟังก์ชั่นจะถูกเปิดให้หมด แต่ถ้าเป็นเซิร์ฟจริง อาจจะมีบางฟังก์ชั่นที่ถูกปิดการใช้งาน เหตุผลเนื่องจากความปลอดภัยของระบบ ทำให้เวลารันแล้วงานของเราไม่สามารถทำงานได้อย่างที่เคยต้องการ ถ้าหากว่าอยากให้โปรแกรมแสดงผลได้ตามปรกติ เราจะต้องรู้ก่อนว่า มีฟังก์ชั่นไหน ที่ถูกปิดการใช้งานบ้าง โดยการใช้คำสั่งนี้
Code (PHP)
<?php phpinfo();?>
โดยเก็บเป็นชื่อไฟล์ infor.php แล้วเรียกใช้โดย www.ชื่อโดเมนคุณ/infor.php
รายการใน phpinfo ก็เปิดถูกแสดงทั้งหมด แต่ที่เหลือก็อยู่ที่คุณแล้วว่าจะให้ฟังก์ชั่นไหนเปิดใช้งานได้ปรกติ
ถ้าจะต้องเปิดใช้งานให้จาก off เป็น on ให้คุณสร้าง ไฟล์ .htaccess แล้วพิมพ์ ฟังก์ชั่นที่คุณต้องการเปิด ยกตัวอย่างเช่น
Code (PHP)
php_flag register_globals on
ศึกษาได้จากบทเรียนนี้นะครับ
https://www.thaicreate.com/php/php-register_global-on-off.html
แต่ถ้าแก้ตามนี้แล้วไม่สามารถทำงานได้ปรกติ ผมว่าคงจะต้องมาดูที่ โค๊ด ของ จขกท แล้วละครับ
|
ประวัติการแก้ไข 2011-05-18 10:32:45
|
|
|
|
Date :
2011-05-18 10:31:34 |
By :
Dragons_first |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ขอบคุณ คุณ อ้นคุง ที่แนะนำครับ วิธีนี้น่าจะแก้ไขปัญหาที่ผมเจอได้
คุณ ALTELMA ที่พูดถึงนี้คือการบันทึกข้อมูลจากโปรแกรมใช่ไหมครับ หรือ dump ข้อมูลมาใส่ใน database
|
|
|
|
|
Date :
2011-05-18 12:51:45 |
By :
vissarud |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ตอนที่กำลังบันทึกข้อมูลด้วยคำสั่ง Insert ครับ
|
|
|
|
|
Date :
2011-05-18 13:12:12 |
By :
ALTELMA |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ขอดูโค๊ดหน้าอัพโหลดครับ หรือที่เกี่ยวข้องทั้งหมดครับ
|
|
|
|
|
Date :
2011-05-18 13:52:20 |
By :
Dragons_first |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Connect.php
Code (PHP)
<?
session_start();
if (!$cartid){
$cartid=md5(rand());
session_register('cartid');
$cartid=$cartid;
}
$dbname = "dede_dee";
$conn=mysql_connect("localhost","root","*****");
mysql_select_db($dbname);
if (!$conn)
{
echo ("ERROR: " . mysql_error() . "\n");
exit;
}
$titleadmin="Administrator Control";
$table_admin="dede_admin";
$table_news="dede_news";
$table_news_home="dede_news_home";
$table_menu="dede_menu";
$table_gallery="dede_gallery";
$table_gallerycat="dede_gallerycat";
$bgHtmlWorld="#ffffff";
$bgHtmlWorld="";
$config['System_Skin'] = "blue";
$websitetitle="";
$sql = "SET NAMES 'tis620';";
mysql_query($sql);
$adminemail="[email protected]";
?>
//หน้าข้อมูลที่เป็นปัญหา
Code (PHP)
<?
include("../include/connect.php");
$pathnow="menu.php?status=$status";
?>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-874">
<title><?=$titleadmin?></title>
<style type="text/css">
<!--
body {
background-color: #dfedeb;
}
-->
</style>
<link href="style.css" rel="stylesheet" type="text/css" />
<LINK href="images/main.css" type=text/css rel=stylesheet>
<SCRIPT language=javascript
src="fromchk.js"></SCRIPT>
<SCRIPT language=javascript
src="images/GlobalFunctions.js"></SCRIPT>
</head>
<body>
<table width="821" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td colspan="3"><img src="images/backEnd_03.jpg" width="836" height="102" /></td>
</tr>
<tr>
<td width="5" height="33" bgcolor="#FFFFFF"><img src="images/spacer.gif" width="6" height="10" /></td>
<td width="824" background="images/backEnd_06.jpg" bgcolor="#FFFFFF"><? include("inc_menu.php");?></td>
<td bgcolor="#FFFFFF"><img src="images/spacer.gif" width="6" height="10" /></td>
</tr>
<tr>
<td height="187" colspan="3" valign="top" bgcolor="#FFFFFF"><table width="100%" border="0" cellpadding="0" cellspacing="0" bgcolor="#FFFFFF">
<tr>
<td width="9%" valign="top"><img src="images/shadow_08.jpg" width="75" height="11" /></td>
<td width="80%" background="images/shadow_10.jpg"></td>
<td width="11%"><img src="images/shadow_11.jpg" width="75" height="11" /></td>
</tr>
</table>
<!-- Start Program -->
<table width="90%" border="0" align="center" cellpadding="0" cellspacing="0" id="content">
<tr bordercolor="#024AA2">
<td width="3%"><img src="images/edits.gif" width="20" height="16"></td>
<td width="97%"><STRONG>
<?=chknewproduct($status);?> </STRONG></td>
</tr>
</table>
<?
// การเริ่มต้นครั้งแรกนะครับ
if($action==""){
$result=mysql_query("select * from $table_menu order by id ");
$nrecord=mysql_num_rows($result);
echo $result;
$pagelen=15;
if($pageno==""){$pageno=1;}
$Start=(($pageno*$pagelen)-$pagelen);
if($nrecord>0){
$Stop=$Start+$pagelen;
if($Stop>$nrecord){
$Stop=$nrecord;
}
}
$cpage_1=$nrecord/$pagelen;
$cpage_2=$nrecord%$pagelen;
$cpage_3=($cpage_1*$pagelen)-$cpage_2;
$cpage_4=$cpage_3/$pagelen;
if($cpage_2>0)
{
$cpage_4++;
}
?>
<script language="JavaScript">
function FormOk(){
if (window.confirm("ยืนยันการลบข้อมูล"))
return true;
else
return false;
}
</script>
<form name="del" method="post" action="menu.php">
<table width="90%" height="25" border="0" align="center" cellpadding="0" cellspacing="0" class="module_table_text" id="content">
<tr bordercolor="B1C5EA">
<td width="530"><input name="addnew" type="button" class="ButtonC" value=" เพิ่มข้อมูล" style="Cursor:'Hand';" onClick="location.href='menu.php?status=<?=$status?>&action=frm'">
</td>
<td width="200" align="right" bordercolor="B1C5EA">
<font color="#0000FF"><img src="images/post.gif" border="0" align="absmiddle">
แสดง <? echo $Start+1;?> -
<? echo $Stop;?> / หน้า </font></td>
</tr>
</table>
<TABLE cellSpacing=1 cellPadding=3 width="90%"
align=center bgColor=#cccccc border=0>
<TBODY>
<TR align=middle bgColor=#eeeeee>
<TD width="5%"><font color="#FFFFFF">
<input type="checkbox" name="allchk" value="call" onClick="CheckAll(document.del, document.del.allchk)">
</font></TD>
<TD width="8%"><STRONG>เลขที่.</STRONG></TD>
<TD width="69%" bgcolor="#eeeeee"><strong>ชื่อข้อมูล</strong></TD>
<TD width="18%"><strong>จัดการ</strong></TD>
</TR>
<?
if($nrecord<=0)
{
?>
<tr align="center" bgcolor="#ffffff">
<td colspan="6"><strong>ยังไม่มีข้อมูล</strong></td>
</tr>
<? }else{
for($i=$Start;$i<$Stop;$i++){
$j++;
?>
<TR bgColor=#ffffff>
<TD align=middle><input name="chkID<? echo $j;?>" type="checkbox" value="<? echo mysql_result($result,$i,"id"); ?>"></TD>
<TD align=middle>
<?
$gg=$Start+$j;
echo $gg;
?>
</TD>
<TD>
<?
echo mysql_result($result,$i,"name");
?>
</TD>
<TD align=middle bgColor=#ffffff>[
<a href="menu.php?status=<?=$status?>&id=<?=mysql_result($result,$i,"id")?>&action=frm">แก้ไข</a>
]</TD>
</TR>
<? }
}
?>
<tr bgColor=#ffffff>
<td colspan="6"> <input onclick='return confirm("Confirm Delete Data")'name="delete" style="Cursor:'Hand';" type="submit" class="ButtonC" id="delete" value=" ลบข้อมูล ">
<input name="action" type="hidden" id="action" value="delete">
<input name="status" type="hidden" id="action" value="<?=$status?>">
</td>
</tr>
</TBODY>
</TABLE>
</form>
<?
if($nrecord>0){
?>
<br>
<TABLE cellSpacing=1 cellPadding=3 width="90%"
align=center bgColor=#cccccc border=0>
<?
$NRow=$nrecord;
$p1=$NRow%$pagelen;
if($p1>0){
$NRow=$NRow-$p1;
$p2=$NRow/$pagelen;
$p2=$p2+1;
}else{
$p2=$NRow/$pagelen;
}
?>
<tr bgcolor="#beebea">
<td bordercolor="#6089D5" bgcolor="#ffffff"><font color="#0000FF"><strong> หน้าที่
:</strong>
<?
for($page=1;$page<=$p2;$page++){
if($page==$pageno){
echo "<strong>$page</strong>";
}else{
echo "<a href=menu.php?status=$status&actions=null&pageno=$page>";
echo $page;
echo "</a>";
echo " ";
}
}
?>
</font> </td>
</tr>
</table>
<?
}
}
?>
<?
if($action=="frm"){
if($id!=""){
$re=mysql_query("select * from $table_menu where id=$id");
$name=mysql_result($re,0,"name");
$links=mysql_result($re,0,"links");
$detail=mysql_result($re,0,"detail");
}
?>
<?php
require_once("../htmleditcode/htmledit.php");
// find out where QWebEditor is installed
$phpself = isset($_SERVER['PHP_SELF'])?$_SERVER['PHP_SELF']:$HTTP_SERVER_VARS['PHP_SELF'];
$htmleditpath = str_replace("\\", "/", $phpself);
$htmleditpath = substr($phpself, 0, strrpos(dirname($phpself), "/")) . "/htmleditcode/";
// Output HTML and JavaScript codes to initialize QWebEditor library.
HtmlEditInit2(
$htmleditpath // abs. path to where QWebEditor is installed with trailing slash
);
?>
<br>
<br>
<form action="menu.php" method="post" enctype="multipart/form-data" name="Form1">
<TABLE cellSpacing=1 cellPadding=3 width="90%"
align=center bgColor=#cccccc border=0>
<TBODY>
<TR align=middle bgColor=#eeeeee>
<TD colspan="2"><STRONG> เพิ่มข้อมูล</STRONG></TD>
</TR>
<TR bgColor=#ffffff>
<TD width="17%">หัวข้อ</TD>
<TD width="83%"> <input type="text" name="name" size="60" value="<?=$name?>"></TD>
</TR>
<TR bgColor=#ffffff>
<TD width="17%">ทีอยู่ลิ้งค์</TD>
<TD width="83%"> <input type="text" name="links" size="60" value="<?=$links?>">
( กรณี Link ไปที่อื่น )</TD>
</TR>
<TR bgColor=#ffffff>
<TD valign="top"> รายละเอียด</TD>
<TD>
<?php
$html = new CQWebEditor;
$html->SetElementName('detail');
$html->SetWidth('670px');
$html->SetHeight('400px');
$html->SetContent("$detail");
//$html->SetEditorCssFile(array("../style.css", "../style2.css"));
$html->CreateControl();
?>
</TD>
</TR>
<TR bgColor=#ffffff>
<TD align=middle> </TD>
<TD><input type="submit" value=" เพิ่ม/ลบ " name="submit3">
<input type="button" value=" ยกเลิก " name="Reset3" style="Cursor:'Hand';" onClick="location.href='menu.php?status=<?=$status?>'"></TD>
</TR>
</TBODY>
</TABLE>
<? if($id!=""){?>
<input type="hidden" name="action" value="edit">
<input type="hidden" name="id" value="<?=$id?>">
<? }else{?>
<input type="hidden" name="action" value="add">
<? }?>
<input type="hidden" name="status" value="<?=$status?>">
</form>
<SCRIPT LANGUAGE="JavaScript">
<!--
function Save() {
//Form1.action.value = "add";
Form1.detail.value = idContent.document.body.innerHTML;
Form1.submit();
} // function
//-->
</SCRIPT>
<? }?>
<?
///การเพิ่มข้อมูล
if($action=="add"){
mysql_query("INSERT INTO `$table_menu` ( `id` , `name` , `links` , `detail` )
VALUES ('', '$name', '$links', '$detail')");
?>
<br><br>
<meta http-equiv="refresh" content="3; URL=menu.php?status=<?=$status?>">
<table width="80%" border="1" align="center" cellpadding="1" cellspacing="1" id="content">
<tr>
<td align="center" bordercolor="#024AA2" bgcolor="#eeeeee"><font color="#FF0000">เพิ่มข้อมูลเสร็จสิ้นแล้วค่ะ</font></td>
</tr>
</table>
<?
}
?>
<?
///การเพิ่มข้อมูล
if($action=="edit"){
$sql="update $table_menu set name='$name',links='$links',detail='$detail' where id=$id";
mysql_query($sql);
?>
<br><br>
<meta http-equiv="refresh" content="3; URL=menu.php?status=<?=$status?>">
<table width="80%" border="1" align="center" cellpadding="1" cellspacing="1" id="content">
<tr>
<td align="center" bordercolor="#024AA2" bgcolor="#eeeeee"><font color="#FF0000">แก้ไขข้อมูลเสร็จสิ้นแล้วค่ะ</font></td>
</tr>
</table>
<?
}
?>
<?
if($action=="delete"){
if ($chkID0=="" and $chkID1=="" and $chkID2=="" and $chkID3=="" and $chkID4=="" and $chkID5=="" and $chkID6=="" and $chkID7=="" and $chkID8=="" and $chkID9=="" and $chkID10=="" and $chkID11=="" and $chkID12=="" and $chkID13=="" and $chkID14==""){
?>
<br><br><meta http-equiv="refresh" content="3; URL=menu.php?status=<?=$status?>">
<table width="80%" border="1" align="center" cellpadding="1" cellspacing="1" id="content">
<tr>
<td align="center" bordercolor="#024AA2" bgcolor="#eeeeee"><font color="#FF0000">
กรุณาเลือกข้อมูลที่จะลบด้วยค่ะ</font></td>
</tr>
</table>
<?
}else{
if($chkID0!="")
{
$chk=$chkID0;
DeleteData();
}
if($chkID1!="")
{
$chk=$chkID1;
DeleteData();
}
if($chkID2!="")
{
$chk=$chkID2;
DeleteData();
}
if($chkID3!="")
{
$chk=$chkID3;
DeleteData();
}
if($chkID4!="")
{
$chk=$chkID4;
DeleteData();
}
if($chkID5!="")
{
$chk=$chkID5;
DeleteData();
}
if($chkID6!="")
{
$chk=$chkID6;
DeleteData();
}
if($chkID7!="")
{
$chk=$chkID7;
DeleteData();
}
if($chkID8!="")
{
$chk=$chkID8;
DeleteData();
}
if($chkID9!="")
{
$chk=$chkID9;
DeleteData();
}
if($chkID10!="")
{
$chk=$chkID10;
DeleteData();
}
if($chkID11!="")
{
$chk=$chkID11;
DeleteData();
}
if($chkID12!="")
{
$chk=$chkID12;
DeleteData();
}
if($chkID13!="")
{
$chk=$chkID13;
DeleteData();
}
if($chkID14!="")
{
$chk=$chkID14;
DeleteData();
}
?>
<br><br>
<meta http-equiv="refresh" content="3; URL=menu.php?status=<?=$status?>">
<table width="80%" border="1" align="center" cellpadding="1" cellspacing="1" id="content">
<tr>
<td align="center" bordercolor="#024AA2" bgcolor="#eeeeee"><font color="#FF0000">
ลบข้อมูลเรียบร้อยค่ะ</font></td>
</tr>
</table>
<?
}
}
?><br>
<!-- End Program -->
</td>
</tr>
<tr>
<td height="28" colspan="3" background="images/airtime_10.gif"><? include("inc_footer.php");?></td>
</tr>
</table>
</body>
</html>
<?
function chknewproduct($status){
$statusshow="ข้อมูลเนื้อหา";
return $statusshow;
}
?>
<?
function DeleteData(){
global $chk,$table_menu,$path;
$result=mysql_query("delete from $table_menu where id=$chk");
}
?>
|
|
|
|
|
Date :
2011-05-18 15:44:22 |
By :
ALTELMA |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ดูบรรทัดที่ 268 นะ แก้ตามนี้
Code (PHP)
<?
///การเพิ่มข้อมูล
if($action=="add"){
mysql_query("INSERT INTO $table_menu ( name , links ,detail )
VALUES ( '".$_POST['name']."', '".$_POST['links']."', '".$_POST['detail']."')");
?>
บรรทัดที่ 288
Code (PHP)
<?
///การเพิ่มข้อมูล
if($action=="edit"){
$sql="update $table_menu set name='".$_POST['name']."',links='".$_POST['links']."',detail='".$_POST['detail']."' where id='$id'";
mysql_query($sql);
?>
เบื้องต้นเอาแค่นี้ก่อนเสร็จแล้ว echo $sql; ออกมาดูด้วยนะครับ
|
|
|
|
|
Date :
2011-05-18 16:59:30 |
By :
Dragons_first |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ปัญหาเดียวกับผมเลย คล้ายๆกัน อิๆ
ถ้าอยากทำความเข้าใจเพิ่มเติมลองไปอ่าน ลิงค์ ที่ คุณ อ้นคุง ให้ไปสิครับ แล้วจะเข้าใจ ผมแก้ไขปัญหาของผมได้จากการแนะนำของคุณ อ้นคุงแหลครับ
ผมขอยืมคำพูดของ คุณ PlaKriM
ข้อควรระวังในการเขียนถ้าจะใช้จริงบนโฮสติ้ง ต้องรับค่าด้วย $_POST , $_GET , $_REQUEST เสมอ
จะได้ไม่ต้องมาลำบากที่หลังเพราะ register_global = Off
|
|
|
|
|
Date :
2011-05-18 17:33:25 |
By :
vissarud |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
พอจะเข้าใจได้ในระดับหนึ่งแล้วครับ ปกติผมเองก็เขียนแบบ off นะครับ แต่ตัวนี้เป็นโปรแกรมที่คนอื่นพัฒนามานานมากแล้ว ผมต้องเอามาแก้ต่อ ด้วยเพราะปเนมือใหม่ เลย งงๆ ว่าก็เห็นว่าเขียนถูกแล้วทำไมไม่ได้ แต่ยังไม่ได้ลองบนเซิฟจริงนะครับ ยังไง จะมารายงานผลอีกที แต่ตาม บรรทัดที่ 288 นั้น มีความผิดปกติจริงๆครับ id มันมั่ว ถ้าหากไม่กำหนแบบ $_POST[]
ขอบคุณมากๆครับ ที่มาช่วยแนะนำให้ผม
|
|
|
|
|
Date :
2011-05-19 09:23:35 |
By :
ALTELMA |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 04
|