[Update ปัญหาใหม่ครับ] PHP หน้า Insert ข้อมูล เมื่อใส่ข้อมูลแล้วแจ้งกลับว่า ใส่ข้อมูลไม่ครบ ทั้งๆ ที่่ใส่ถูกหมดแล้ว
Code (PHP)
$isbn = trim($_post['room_id']);
$book_name = trim($_post['floor']);
$author = trim($_post['capacity']);
$year = trim($_post['room_type']);
$printery = trim($_post['dimensions']);
$print_no = trim($_post['air_con']);
$price = trim($_post['people_id']);
if (($room_id=="") or ($floor=="") or ($capacity=="") or ($room_type=="") or ($dimensions=="") or ($air_con=="") or ($people_id==""))
Date :
2015-12-10 23:11:33
By :
noMerzy
เขียน code แปลกดีนะครับ ^^
หน้ารับข้อมูล
var_dump($_POST);
exit;
ใส่ไว้ครับตอนกด submit มา หน้าที่รับตัวแปร จะได้รู้ตัวไหนไม่มา
Date :
2015-12-10 23:15:19
By :
progamer2000
ขอบคุณทุกๆ ท่านมากครับ
Date :
2015-12-10 23:39:59
By :
tanut007
ใส่ใน function process insert นั่นไง - -"
อ่าา
Date :
2015-12-11 00:27:36
By :
progamer2000
อันนี้เป็น Code อีกตัวที่มีปัญหาครับ
Code (PHP)
<?php include("connection/dbconn.php");
if(isset($_POST['submit'])){
if(validate_from($error)){
process_insert();
}
else{
echo"<font color=\"red\">เกิดข้อผิดพลาด</font><br><br>";
show_form($error);
}
}
else{
show_form(array());
}
?>
<html>
<head>
<style type="text/css">
.style1{
color:#808000;
font-weight:bold;
}
</style>
<?php
function validate_from(&$error){
$require=array("dev_id" =>"รหัสอุปกรณ์","dev_name"=>"ชื่ออุปกรณ์","dev_brand"=>"ยี่ห้อของอุปกรณ์","dev_gen"=>"รุ่นของอุปกรณ์");
$error=array();
foreach($require as$field =>$label) {
if(trim($_POST[$field]=="")){
$error[$field]="คุณไม่ได้ป้อน".$label."<br>";
}
}
if(count($error)>0) {
return false;
}
else
return true;
}
function show_form($error){
?>
<h2><span class="style1">เพิ่มข้อมูลหนังสือ</span></h2>
<?php ?>
<form id="forminsert"name="forminsert"method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
<table width="79%" border="1" cellspacing="1" cellpadding="1">
<tr>
<td width="21%" class="style1"><div align="right"><strong>รหัสอุปกรณ์ <font color="red">*</font>:</strong></div></td>
<? ?>
<td width="66%"><input name="dev_id" type="text" size="10" maxlength="5" value="<? echo $_POST['dev_id']?>"/>
<? ?>
<font color ="red" size ="-1"><strong><?echo $error["dev_id"];echo $error["dev_id"];?></strong></font></td>
</tr>
<tr>
<td class="style1"><div align="right"><strong>ชื่ออุปกรณ์ <font color="red">*</font>:</strong></div></td>
<td> <input name="dev_name" type="text" size="45" maxlength="40"value="<? echo$_POST['dev_name']?>"/>
<? ?>
<font color="red" size="-1"><strong><? echo $error["dev_name"];?> </strong></td>
</tr>
<tr>
<td class="style1"><div align="right"><strong>ยี่ห้ออุปกรณ์ <font color="red">*</font>: </strong></div></td>
<td> <input name="dev_brand" type="text" size="45" maxlength="40" value="<? echo$_POST['dev_brand']?>"/>
<? ?>
<font color="red" size="-1"><strong><? echo $error["dev_brand"];?> </strong></td>
</tr>
<tr>
<td class="style1"><div align="right">รุ่นของอุปกรณ์ <strong><font color="red">*</font>:</strong></div></td>
<td><input name="dev_gen"type="text" size="45" maxlength="40" value="<? echo$_POST['dev_gen']?>"/>
<? ?>
<font color="red" size="-1"><strong><? echo $error["dev_gen"];?></strong></td>
</tr>
<tr>
<td class="style1"><div align="right"><strong>ประเภท :</strong></div></td>
<?php $type_id="{S_POST['dev_type_id]}"?>
<td><select name="type_id"><? ?>
<option value= "CA"<?php if($type_id=="CA")echo "selected"?>>Camara</option>
<option value= "LA"<?php if($type_id=="LA")echo "selected"?>>Laptop</option>
<option value= "PR"<?php if($type_id=="PO")echo "selected"?>>Projecter</option>
<option value= "LO"<?php if($type_id=="4")echo "selected"?>>Loudspeaker</option>
</select></td>
</tr>
</table>
<h5><font color="red">* คือฟิลด์ที่ต้องป้อนข้อมูล ห้ามปล่อยว่าง</font></h5><br>
<input name="submit"type="submit"value="Submit"/>
<input name="reset"type="reset" value="Reset"/>
</form>
<?php
}
function process_insert(){
$dev_id = trim($_POST['dev_id']);
$dev_name = trim($_POST['dev_name']);
$dev_brand = trim($_POST['dev_brand']);
$dev_gen = trim($_POST['dev_gen']);
$dev_type_id = trim($_POST['dev_type_id']);
var_dump($_POST);
exit;
if(($dev_id=="")){
echo"<font color =\"red\">เกิดข้อผิดพลาด : คุณป้อนข้อมูลไม่ครบ</font><br>";
show_form(array());
exit;
}
$dev_id = addslashes($dev_id);
$dev_name = addslashes($dev_name);
$dev_brand = addslashes($dev_brand);
$dev_gen = addslashes($dev_gen);
$dev_type_id = addslashes($dev_type_id);
$query_book ="insert into dev_detail values('{$dev_id}','{$dev_name}','{$dev_brand}',{$dev_gen},'{$dev_type_id}')";
$result = mysql_query($query_book)or die(mysql_error());
echo"<h3><span class=\"style1\">ผลการเพิ่มข้อมูล</span></h3>\n";
if($result){
echo"เพิ่มข้อมูลลงฐานข้อมูล : ".mysql_affected_rows()."รายการ<br><br>";
echo "<a href=\"show_dev.php\"target=\"_blank\">แสดงรายการโสตทัศนอุปกรณ์ทั้งหมด</a><br><br>";
}
else{
echo"<font color=\"red\">เกิดข้อผิดพลาดในการเพิ่มข้อมูล</font><br>";
}
?>
<p align="center"><a href="<?php echo$_SERVER['PHP_SELF'];?>">กลับหน้าการเพิ่มข้อมูล</a></p>
<?php
}
mysql_close($dbconn);
?>
</body><html>
ลองใส่ตามด้านบนแล้ว ค่าออกมาตามนี้ครับ
Code (PHP)
array(6) { ["dev_id"]=> string(5) "SDADA" ["dev_name"]=> string(6) "asdasd" ["dev_brand"]=> string(9) "asdasdasd" ["dev_gen"]=> string(8) "sadas558" ["type_id"]=> string(2) "CA" ["submit"]=> string(6) "Submit" }
Date :
2015-12-11 00:33:09
By :
tanut007 (แทน)
อ้าวลดเหลือ
Code (PHP)
if(($dev_id=="")){
echo"<font color =\"red\">เกิดข้อผิดพลาด : คุณป้อนข้อมูลไม่ครบ</font><br>";
show_form(array());
exit;
}
แค่นี้แล้ว เท่าที่ดูค่าก็ส่งมานะ ลองเอา exit กับ var_dump ออก
Code (PHP)
$dev_id = addslashes($dev_id);
$dev_name = addslashes($dev_name);
$dev_brand = addslashes($dev_brand);
$dev_gen = addslashes($dev_gen);
$dev_type_id = addslashes($dev_type_id);
น่าจะใช้พวก mysql_real_escape_string มากกว่า
Code (PHP)
$query_book ="insert into dev_detail values('{$dev_id}','{$dev_name}','{$dev_brand}',{$dev_gen},'{$dev_type_id}')";
อยู่ใน " " ไม่ต้องใช้ {}
Code (PHP)
$query_book ="insert into dev_detail values('$dev_id','$dev_name','$dev_brand',$dev_gen,'$dev_type_id')";
Date :
2015-12-11 00:40:30
By :
progamer2000
Code (PHP)
echo"<font color=\"red\">เกิดข้อผิดพลาดในการเพิ่มข้อมูล</font><br>";
เขียนแบบนี้ก็ได้
Code (PHP)
echo "<font color='red'>เกิดข้อผิดพลาดในการเพิ่มข้อมูล</font><br>";
หรือ
echo '<font color="red">เกิดข้อผิดพลาดในการเพิ่มข้อมูล</font><br>';
Date :
2015-12-11 00:42:33
By :
progamer2000
Code (PHP)
<? echo $_POST['dev_id']?>
แบบนี้ไม่ควรเขียน อาจจะมีปัญหากับ บาง host
<?php echo $_POST['dev_id']; ?>
ควรใส่ php ด้วยทุกครั้ง
Date :
2015-12-11 00:44:51
By :
progamer2000
ลองแก้ตามที่แจ้งมาครับ เป็นแบบนี้ครับผม
Date :
2015-12-11 00:58:40
By :
tanut007
ผิดที่ db ละมั้ง มีฟิวกี่ฟิวละนั่น
Date :
2015-12-11 01:10:35
By :
progamer2000
นี่ครับผม
Date :
2015-12-11 12:52:52
By :
tanut007
line 116: มันมีบางอย่างหายไปครับ
$query_book ="insert into dev_detail values('{$dev_id}','{$dev_name}','{$dev_brand}',{$dev_gen},'{$dev_type_id}')";
Date :
2015-12-11 13:11:49
By :
noMerzy
ขอบคุณมากครับ ' ' หายนี่เอง
Date :
2015-12-11 13:35:08
By :
tanut007
อันนี้เป็นอีกโค้ดครับ เรื่องเดียวกัน ลองปรับแก้ตามด้านบนแล้ว
Code (PHP)
<?php include("connection/dbconn.php");
if(isset($_POST['submit'])){
if(validate_from($error)){
process_insert();
}
else{
echo"<font color=\"red\">เกิดข้อผิดพลาด</font><br><br>";
show_form($error);
}
}
else{
show_form(array());
}
?>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<style type="text/css">
.style1{
color:#808000;
font-weight:bold;
}
</style>
<?php
function validate_from(&$error){
$require=array("room_id" =>"เลขห้อง","floor"=>"ชั้น","capacity"=>"ปริมาณที่รองรับ","room_type"=>"ประเภทห้อง","dimensions"=>"ขนาด","air_con"=>"ระบบปรับอากาศ","people_id"=>"รหัสบุคลากรผู้รับผิดชอบ");
$error=array();
foreach($require as$field =>$label) {
if(trim($_POST[$field]=="")){
$error[$field]="คุณไม่ได้ป้อน".$label."<br>";
}
}
if(count($error)>0) {
return false;
}
else
return true;
}
function show_form($error){
?>
<title>เพิ่มข้อมูล</title>
<h2 align="center"><span class="style1">เพิ่มข้อมูล<strong>ห้อง</strong></span></h2>
<div align="center">
<?php ?>
</div>
<form id="forminsert"name="forminsert"method="post" action="<?php echo $_SERVER['file:///C|/Users/Lenovo/Downloads/PHP_SELF']; ?>">
<div align="center">
<table width="42%" height="150" border="1" cellpadding="1" cellspacing="1">
<tr>
<td width="25%" class="style1"><div align="right"><strong>เลขห้อง <font color="red">*</font>:</strong></div></td>
<? ?>
<td width="75%"><input name="room_id" type="text" size="10" maxlength="5" value="<?php echo $_POST['room_id']?>"/>
<? ?>
<font color ="red" size ="-1"><strong><?echo $error["room_id"];echo $error["room_id"];?></strong></font></td>
</tr>
<tr>
<td class="style1"><div align="right"><strong>ชั้น <font color="red">*</font>:</strong></div></td>
<td> <input name="floor" type="text" size="45" maxlength="40"value="<?php echo$_POST['floor']?>"/>
<? ?>
<font color="red" size="-1"><strong><? echo $error["floor"];?> </strong></td>
</tr>
<tr>
<td class="style1"><div align="right"><strong>ปริมาณที่รองรับ <font color="red">*</font>: </strong></div></td>
<td> <input name="capacity" type="text" size="45" maxlength="40" value="<?php echo$_POST['capacity']?>"/>
<? ?>
<font color="red" size="-1"><strong><? echo $error["capacity"];?> </strong></td>
</tr>
<tr>
<td class="style1"><div align="right"><strong>ประเภทห้อง :</strong></div></td>
<?php $type_id="{S_POST['room_type]}"?>
<td><select name="type_id"><? ?>
<option value= "LAB"<?php if($type_id=="LAB")echo "selected"?>>Laboratory</option>
<option value= "GSR"<?php if($type_id=="GSR")echo "selected"?>>Group study room</option>
<option value= "MTR"<?php if($type_id=="MTR")echo "selected"?>>Meeting room</option>
</select></td>
</tr>
<tr>
<td class="style1"><div align="right"><strong>ขนาด <font color="red">*</font>: </strong></div></td>
<td> <input name="dimensions" type="text" size="45" maxlength="40" value="<?php echo$_POST['dimensions']?>"/>
<? ?>
<font color="red" size="-1"><strong><? echo $error["dimensions"];?> </strong></td>
</tr>
<tr>
<td class="style1"><div align="right"><strong>ระบบปรับอากาศ :</strong></div></td>
<?php $type_id="{S_POST['air_con]}"?>
<td><select name="type_id"><? ?>
<option value= "AIR"<?php if($type_id=="AIR")echo "selected"?>>เครื่องปรับอากาศ</option>
<option value= "FAN"<?php if($type_id=="FAN")echo "selected"?>>พัดลม</option>
</select></td>
</tr>
<tr>
<td class="style1"><div align="right"><strong>รหัสบุคลากรผู้รับผิดชอบ<font color="red">*</font>: </strong></div></td>
<td> <input name="people_id" type="text" size="45" maxlength="40" value="<?php echo$_POST['people_id']?>"/>
<? ?>
<font color="red" size="-1"><strong><? echo $error["people_id"];?> </strong></td>
</tr>
</table>
</div>
<h5 align="center"><font color="red">* คือฟิลด์ที่ต้องป้อนข้อมูล ห้ามปล่อยว่าง</font></h5>
<div align="center"><br>
<input name="submit"type="submit"value="Submit"/>
<input name="reset"type="reset" value="Reset"/>
</div>
</form>
<div align="center">
<?php
}
function process_insert(){
$room_id = trim($_POST['room_id']);
$floor = trim($_POST['floor']);
$capacity = trim($_POST['capacity']);
$room_type = trim($_POST['room_type']);
$dimensions = trim($_POST['dimensions']);
$air_con = trim($_POST['air_con']);
$people_id = trim($_POST['people_id']);
if(($room_id=="")){
echo"<font color =\"red\">เกิดข้อผิดพลาด : คุณป้อนข้อมูลไม่ครบ</font><br>";
show_form(array());
exit;
}
$room_id = addslashes($room_id);
$floor = addslashes($floor);
$capacity = addslashes($capacity);
$room_type = addslashes($room_type);
$dimensions = addslashes($dimensions);
$air_con = addslashes($air_con);
$people_id = addslashes($people_id);
$query_book ="insert into room values('{$room_id}','{$floor}','{$capacity}','{$room_type}','{$dimensions}','{$air_con}','{$people_id}')";
$result = mysql_query($query_book)or die(mysql_error());
echo"<h3><span class=\"style1\">ผลการเพิ่มข้อมูล</span></h3>\n";
if($result){
echo"เพิ่มข้อมูลลงฐานข้อมูล : ".mysql_affected_rows()."รายการ<br><br>";
echo "<a href=\"show_room.php\"target=\"_blank\">แสดงรายการห้องทั้งหมด</a><br><br>";
}
else{
echo"<font color=\"red\">เกิดข้อผิดพลาดในการเพิ่มข้อมูล</font><br>";
}
?>
</div>
<p align="center"><a href="<?php echo$_SERVER['PHP_SELF'];?>">กลับหน้าการเพิ่มข้อมูล</a></p>
<div align="center">
<?php
}
mysql_close($dbconn);
?>
</div>
</body><html>
นี่คือปัญหาที่พบครับ
Date :
2015-12-11 15:54:06
By :
tanut007
Load balance : Server 05