Insert ข้อมูลไปยังฐานข้อมูลได้แค่บางส่วนเท่านั้น จะแก้อย่างไรดีครับ? [มือใหม่ฝึกหัด]
อันนี้คือประสบปัญหาตอนลองที่เซิฟเวอร์ครับ แต่ตอนลองเครื่องตัวเองไม่มีปัญหาแต่อย่างใด
จะเห็นได้ title กับ contents มันว่างไปเลยครับ ทั้งที่ id กับ date มีข้อมูลอยู่
อันนี้ข้อมูลหน้าแบบฟอร์มนะครับ
Code (PHP)
<?php
session_start();
include("config.php");
if(session_is_registered("username") && session_is_registered("password")) {
$sql = "select username,password from staff where username='".$_SESSION['username']."' and password='".$_SESSION['password']."'";
$result = mysql_query($sql) or die("Error!");
if(mysql_num_rows($result)==1)
{
$data = mysql_fetch_assoc($result);
$username = $data['username'];
$password = $data['password'];
if($username!=$_SESSION['username'] && $password != $_SESSION['password']) //เช็คอีกทีเผื่อโดนแฮก
{
echo "<script type=\"text/javascript\">window.location.href='index.php';</script>";
}
}
} else {
echo "<script type=\"text/javascript\">window.location.href='index.php';</script>";
}
?>
<!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=utf-8" />
<title>RA: Add New Story</title>
<link href="../css/update_form.css" rel="stylesheet" type="text/css" />
<script src="../js/ckeditor/ckeditor.js" type="text/javascript"></script>
<?php
include("config.php");
$date=date("D d/m/Y");
$command="select *from news";
$sqlquery=mysql_db_query($DataBaseName,$command);
$story=mysql_num_rows($sqlquery);
if($story==0)$id=1;
else if($story!=0)$id=$story+1;
?>
</head>
<body>
<div id="formUpdate">
<form action="update.php" method="post" name="update">
<p><strong>Story :#</strong><? echo"$id"; ?></p>
<p><strong>Date :</strong> <? echo"$date"; ?></p>
<p><label for="title"><strong>Title :</strong></label><br />
<input name="title" type="text" id="title" maxlength="256" /></p>
<p><label for="contents"><strong>Contents :</strong></label><br />
<textarea class="ckeditor" name="contents" id="contents"></textarea>
<script type="text/javascript">
//<![CDATA[
CKEDITOR.replace( 'contents',{
language : 'en',
extraPlugins : 'uicolor',
height : 500, //ความกว้าง
width : 800, //ความสูง
enterMode : CKEDITOR.ENTER_BR,
//extraPlugins : 'uicolor',
//uiColor : '#006699',
toolbar :
[
['Source','-'],
['Undo','Redo' ],
['FontSize','TextColor'],
['Bold','Italic','Underline','Strike','-','Subscript','Superscript'],
['JustifyLeft','JustifyCenter','JustifyRight','JustifyBlock'],
['NumberedList','BulletedList','-','Outdent','Indent','Blockquote'],
['Image','Flash','Table','HorizontalRule','SpecialChar','PageBreak'],
['Link','Unlink','Anchor'],
],
} );
//]]>
</script>
</p>
<p id="comment">Url image/flash: http://www.redalphra.com/studio/commons/images/news/ชื่อภาพ.สกุลภาพ<br />
<span style="color:#F36;">ขนาดรูปภาพ <strong>"ห้ามกว้างเกิน"</strong> 720 px</span></p>
<p align="center"><input name="submit" type="submit" id="submit" value="Submit" /><input id="button" name="back" type="button" onClick="location.href='preview.php'" value="Back" /></p>
</form>
</div>
</body>
</html>
ส่วนต่อไปเป็นฟังก์ชันติดต่อเพิ่มข้อมูลในฐานข้อมูลครับ
Code (PHP)
<?php
include("config.php");
$date=date("D d/m/Y");
$sql="INSERT INTO news (date,title,contents) values('$date','$title','$contents')";
mysql_db_query($DataBaseName,$sql) or die("ไม่สามารถเพิ่มข้อมูลได้ กรุณาตรวจสอบอีกครั้ง");
mysql_close();
?>
<script language="javascript">
alert('เขียนเรื่องใหม่เรียบร้อย');
window.location='preview.php';
</script>
ผมเลยสงสัยว่าเป็นที่อะไรครับ ขอรบกวนด้วยครับ ขอบคุณครับ >w<"
ปล. ตรงหน้า phpmyadmin มีอันนี้เตือนขึ้นมาด้วยครับว่า Your PHP MySQL library version 5.0.90 differs from your MySQL server version 5.1.59. This may cause unpredictable behavior. จะเกี่ยวกันไหมนะ???Tag : PHP, MySQL
Date :
2011-10-13 09:52:58
By :
ReBirthal
View :
5560
Reply :
8
บรรทัดนี้ $sql="INSERT INTO news (date,title,contents) values('$date','$title','$contents')";
ลอง debug โดยการ ใ้ส่ echo ดูครับ
echo $sql="INSERT INTO news (date,title,contents) values('$date','$title','$contents')";
แล้วลอง insert ใหม่สังเกตุดูว่า $title กับ $contents มีค่าหรือเปล่า
Date :
2011-10-13 10:00:59
By :
sss
values('$date','$title','$contents') เปลี่ยนเป็น
values('$_POST[date]','$_POST[$title]','$_POST[contents]')
Date :
2011-10-13 10:01:20
By :
ckcr
ได้ตามภาพครับ
Date :
2011-10-13 10:16:17
By :
ReBirthal
Load balance : Server 04