|
|
|
สอบถามเรื่องการทำอัพภาพของผมต้องเพิ่มตรงไหนบ้างครับ (มือใหม่สุดๆ) |
|
|
|
|
|
|
|
อยากให้อัพภาพแล้วไฟล์ภาพไปอยู่ที่ /images
แต่แบบที่ผมทำชื่อมันไป save ลงแต่ฐานข้อมูล
ไม่ทราบว่ามันต้องเขียน code เพิ่มยังไงตรงไหนมั่งครับ รบกวนช่วยด้วยครับ
Code (PHP)
<?
$ch=$_GET["check"];
$l2 = $_POST["textfield2"];
$p9 = $_POST["textfield99"];
$l3 = $_POST["textfield3"];
$l4 = $_POST["textfield4"];
$l5 = $_POST["textfield5"];
$l6 = $_POST["textfield6"];
if($ch == "true" && $l2 != "" && $p9 != "" && $l3 != "" && $l4 != "" && $l5 != ""&& $l6 != ""){
mysql_connect("localhost","root","123456");
mysql_select_db("project");
$strSQL = "INSERT INTO product (List2,Work,List3,List4,List5,List6) VALUES ('$l2','$p9','$l3','$l4','$l5','$l6')";
$objQuery = mysql_query($strSQL);
if($objQuery){
echo "<h3 align='center'>บันทึกเรียบร้อย</h3><br>";
echo "<meta http-equiv='refresh' content='2;URL=add_product.php'>";
}else{
echo "<h3 align='center'>การบันทึกล้มเหลว</h3><br>";
}
}
?>
<body>
<h2 ALIGN="center" STYLE="text-decoration:underline;">เพิ่มข้อมูลสินค้า</h2>
<form ACTION="add_product.php?check=true" METHOD="post" NAME="form1">
<table align="center" WIDTH="100%" BORDER="0" CELLSPACING="10" CELLPADDING="5">
<tr>
<th ALIGN="center" SCOPE="col"><p>ป้อนข้อมูล</p>
<p>สินค้า</p></th>
<th SCOPE="col"><input TYPE="submit" NAME="button" ID="button" VALUE="Save">
<input TYPE="reset" NAME="button2" ID="button2" VALUE="Clear"></th>
</tr>
<tr>
<td ALIGN="center">รายการ</td>
<td><label FOR="textfield2"></label>
<textarea name="textfield2" cols="64" required id="textfield2"></textarea></td>
</tr>
<tr>
<td ALIGN="center">การใช้งาน</td>
<td><label FOR="textfield99"></label>
<textarea name="textfield99" cols="64" required id="textfield99"></textarea></td>
</tr>
<tr>
<td height="70" ALIGN="center">รายละเอียด</td>
<td><label FOR="textfield3"></label>
<textarea name="textfield3" cols="64" required id="textfield3"></textarea>
</td>
</tr>
<tr>
<td ALIGN="center">ราคา/หน่วย(บาท)</td>
<td><label FOR="textfield4"></label>
<input name="textfield4" maxlength="10" type="text" required id="textfield4" value="" size="64" OnKeyPress="return chkNumber(this) " > </td>
</tr>
<tr>
<td ALIGN="center">ภาพ</td>
<td><label FOR="textfield5"></label>
<input type="file" name="textfield5" required id="textfield5" />
</td>
</tr>
<tr>
<td ALIGN="center">การรับประกัน</td>
<td><label FOR="textfield6"></label>
<textarea name="textfield6" cols="64" required id="textfield6"></textarea></td>
</tr>
</table>
</form>
</body>
Tag : PHP
|
|
|
|
|
|
Date :
2013-10-25 22:17:50 |
By :
lizda |
View :
758 |
Reply :
13 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ขึ้นแบบนี้ครับ
C:\WINDOWS\Temp\php30CD.tmp
|
|
|
|
|
Date :
2013-10-25 23:33:08 |
By :
lizda |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
OK ครับมาแล้ว ทีนี้ก็มากล่าวถึงเรื่องการย้ายไฟล์เลยนะครับ แต่เราต้องทราบความต้องการก่อนว่า
1. บังคับให้มีการอัพโหลดภาพไหม ถ้าไม่อัพโหลดภาพเข้ามาให้ SQLบันทึกข้อมูลหรอไม่ ?
2. มีการกำหนดนามสกุลไฟล์หรือไม่? หรือเอาหมดที่เป็นประเภทรูปภาพไม่ว่าจะนามสกุล jpg gif png ect . .
3. มีการกำหนดขนาดไฟล์หรือไม่ ? เช่นไม่เกิน 10 MB
|
|
|
|
|
Date :
2013-10-25 23:44:53 |
By :
meannerss |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1. ให้ SQL บันทึกเป็นชื่อภาพ เช่น image/1.jpg
2. ไม่กำหนดนามสกุลภาพ
3. ขนาดภาพไม่เกิน 10 MB
เท่านี้ครับ
|
ประวัติการแก้ไข 2013-10-25 23:54:32
|
|
|
|
Date :
2013-10-25 23:52:49 |
By :
lizda |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
อืมขอ Full โค้ดล่าสุดหน่อยครับตอนนี้เป็นยังไงบ้างแล้ว..
|
|
|
|
|
Date :
2013-10-25 23:55:32 |
By :
meannerss |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
นี่ครับ
ตรงบรรทัด 9-10 นี่
$ เป็นตัว I หรือเลข 1เหรอครับ
ของผมเป็น เลข 1 กลัวใส่
Code (PHP)
<?
$ch=$_GET["check"];
$l2 = $_POST["textfield2"];
$p9 = $_POST["textfield99"];
$l3 = $_POST["textfield3"];
$l4 = $_POST["textfield4"];
$I5_tmp=$_FILES["textfield5"]["tmp_name"];
$I5_name=$_FILES["pictures"]["name"];
echo $I5_tmp,$I5_name; //ใส่ไว้ก่อนเพื่อทำการทดสอบ
$l6 = $_POST["textfield6"];
if($ch == "true" && $l2 != "" && $p9 != "" && $l3 != "" && $l4 != "" && $l5 != ""&& $l6 != ""){
mysql_connect("localhost","root","123456");
mysql_select_db("project");
$strSQL = "INSERT INTO product (List2,Work,List3,List4,List5,List6) VALUES ('$l2','$p9','$l3','$l4','$l5','$l6')";
$objQuery = mysql_query($strSQL);
if($objQuery){
echo "<h3 align='center'>บันทึกเรียบร้อย</h3><br>";
echo "<meta http-equiv='refresh' content='2;URL=add_product.php'>";
}else{
echo "<h3 align='center'>การบันทึกล้มเหลว</h3><br>";
}
}
?>
<body>
<h2 ALIGN="center" STYLE="text-decoration:underline;">เพิ่มข้อมูลสินค้า</h2>
<form ACTION="add_product.php?check=true" METHOD="post" NAME="form1" enctype="multipart/form-data">
<table align="center" WIDTH="100%" BORDER="0" CELLSPACING="10" CELLPADDING="5">
<tr>
<th ALIGN="center" SCOPE="col"><p>ป้อนข้อมูล</p>
<p>สินค้า</p></th>
<th SCOPE="col"><input TYPE="submit" NAME="button" ID="button" VALUE="Save">
<input TYPE="reset" NAME="button2" ID="button2" VALUE="Clear"></th>
</tr>
<tr>
<td ALIGN="center">รายการ</td>
<td><label FOR="textfield2"></label>
<textarea name="textfield2" cols="64" required id="textfield2"></textarea></td>
</tr>
<tr>
<td ALIGN="center">การใช้งาน</td>
<td><label FOR="textfield99"></label>
<textarea name="textfield99" cols="64" required id="textfield99"></textarea></td>
</tr>
<tr>
<td height="70" ALIGN="center">รายละเอียด</td>
<td><label FOR="textfield3"></label>
<textarea name="textfield3" cols="64" required id="textfield3"></textarea>
</td>
</tr>
<tr>
<td ALIGN="center">ราคา/หน่วย(บาท)</td>
<td><label FOR="textfield4"></label>
<input name="textfield4" maxlength="10" type="text" required id="textfield4" value="" size="64" OnKeyPress="return chkNumber(this) " > </td>
</tr>
<tr>
<td ALIGN="center">ภาพ</td>
<td><label FOR="textfield5"></label>
<input type="file" name="textfield5" required id="textfield5" />
</td>
</tr>
<tr>
<td ALIGN="center">การรับประกัน</td>
<td><label FOR="textfield6"></label>
<textarea name="textfield6" cols="64" required id="textfield6"></textarea></td>
</tr>
</table>
</form>
</body>
|
ประวัติการแก้ไข 2013-10-26 00:08:35
|
|
|
|
Date :
2013-10-26 00:05:40 |
By :
lizda |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
เสร็จละครับ ลองดู ...
ปล. อย่าลืมไปสร้างโฟลเดอชื่อ image ไว้ในไดเรคเทอรี่ก่อนนะครับ
Code (PHP)
<?
$ch=$_GET["check"];
$l2 = $_POST["textfield2"];
$p9 = $_POST["textfield99"];
$l3 = $_POST["textfield3"];
$l4 = $_POST["textfield4"];
$l6 = $_POST["textfield6"];
$I5_type=substr($_FILES["textfield5"]["type"],0,5); //รูปแบบของไฟล์
$I5_tmp=$_FILES["textfield5"]["tmp_name"]; //ชื่อไฟล์แบบที่คอมจำ
$I5_name=$_FILES["textfield5"]["name"]; // ชื่อไฟล์ที่คนเห็น
$I5_size=$_FILES["textfield5"]["size"]; //ขนาดไฟล์
if($ch == "true" && $l2 != "" && $p9 != "" && $l3 != "" && $l4 != "" && $I5_name != ""&& $l6 != ""){
if ($I5_size>10000000) { //ถ้าขนาดเกิน 10MB (หน่วยbyte)
echo "<h3 align='center'>การบันทึกล้มเหลว ขนาดของรูปภาพเกิน</h3><br>";
}else{ // ถ้าไม่เกิน
if ($I5_type!=="image") { //ถ้าไม่ไช่รูปแบบรูปภาพ ใส่ไว้กันคนบ้าอัพอะไรที่ไม่ไช่รูปภาพเช่น word excel winrarเข้ามา
echo "<h3 align='center'>การบันทึกล้มเหลว กรุณาอัพโหลดรูปภาพเท่านั้น</h3><br>";
}else{ // ถ้าขนาดไม่เกิน และ รูปแบบก็ถูก เริ่มทำการ copy
//แทรกเวลาเข้าหน้าชื่อไฟล์เพื่อ ป้องกันการซ้ำของชื่อรุปภาพเมื่อใช้ไปนานๆ
date_default_timezone_set('Asia/Bangkok'); //ประกาศเขตเวลา
$time_add=date("i_s"); // นาทีและวินาที
$COM_IMG=$time_add.$I5_name; //แทรกค่าเวลาเข้าหน้าชื่อรูป
move_uploaded_file($I5_tmp,"images/".$COM_IMG); //คำสั่ง copy
//เริ่มส่วน SQL***************************************
mysql_connect("localhost","root","123456");
mysql_select_db("project");
$strSQL = "INSERT INTO product (List2,Work,List3,List4,List5,List6) VALUES ('$l2','$p9','$l3','$l4','$COM_IMG','$l6')";
$objQuery = mysql_query($strSQL);
if($objQuery){
echo "<h3 align='center'>บันทึกเรียบร้อย</h3><br>";
echo "<meta http-equiv='refresh' content='2;URL=add_product.php'>";
}else{
echo "<h3 align='center'>การบันทึกล้มเหลว</h3><br>";
}
//จบส่วน SQL ***********************************************************
}
}
}
?>
|
|
|
|
|
Date :
2013-10-26 00:36:36 |
By :
meannerss |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
นั่งทำมั่วๆ มา2 วันเต็มๆ วันนี้สำเร็จแล้ว
ขอขอบคุณมากๆครับ meannerss
|
ประวัติการแก้ไข 2013-10-26 00:54:14
|
|
|
|
Date :
2013-10-26 00:52:06 |
By :
lizda |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ดีใจด้วยครับ
ปล.ไปต่อกันที่การ resize ปรับขนาดภาพไหมครับ 5 5 5 จะวุ่นวายมากกว่านี้
|
|
|
|
|
Date :
2013-10-26 01:01:57 |
By :
meannerss |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
เอาเท่านี้กะพอละก๊าบบบบบ
เอาพอทำโปรเจคส่งอาจารย์ได้ ^^
รบกวนเพิ่มอีกนิดดดนึง ลืมนึกถึงหน้านี้เบย
เป็นหน้า Edit
ลองดูๆ ไม่รู้จักแทรก code จากหน้า add ข้อมูลยังไงดี ช่วยดูทีครับ
Code (PHP)
<form ACTION="editcom_product.php?CusID=<?=$_GET["CusID"];?>" NAME="frmEdit" METHOD="post">
<?
$objConnect = mysql_connect("localhost","root","123456") or die("Error Connect to Database");
$objDB = mysql_select_db("project");
$strSQL = "SELECT * FROM product WHERE ProductID = '".$_GET["CusID"]."' ";
$objQuery = mysql_query($strSQL);
$objResult = mysql_fetch_array($objQuery);
if(!$objResult)
{
echo "Not found ".$_GET["CusID"];
}
else
{
?>
<h2 ALIGN="center"> แก้ไขสินค้า</h2>
<table ALIGN="center" BORDER="1" cellpadding="0" cellspacing="0" WIDTH="100%">
<tr>
<th WIDTH="10%"><strong>รหัสสินค้า</strong></th>
<th WIDTH="18%"><strong>รายการ</strong></th>
<th WIDTH="18%"><strong>การใช้งาน</strong></th>
<th WIDTH="30%"><strong>คุณลักษณะเฉพาะ</strong></th>
<th WIDTH="11%"><strong>ราคา/หน่วย(บาท)</strong></th>
<th WIDTH="13%"><strong>รูปประกอบ</strong></th>
<th WIDTH="10%">หมายเหตุ</th>
</tr>
<tr>
<td><div ALIGN="center"><input TYPE="text" NAME="txtCustomerID1" SIZE="13" maxlength="13" VALUE="<?=$objResult["ProductID"];?>"></div></td>
<td><div ALIGN="center">
<input name="txtCustomerID2" type="text" value="<?=$objResult["List2"];?>
" size="20">
</div></td>
<td><div ALIGN="center">
<input name="txtCustomerIDwork" type="text" value="<?=$objResult["Work"];?>
" size="20">
</div></td>
<td><div ALIGN="center">
<textarea name="txtCustomerID3" cols="20" rows="10"><?=$objResult["List3"];?>
</textarea>
</div></td>
<td><div ALIGN="center"><input TYPE="text" maxlength="13" NAME="txtCustomerID4" SIZE="13" VALUE="<?=$objResult["List4"];?>"></div></td>
<td><div ALIGN="center">
<input type="file" name="txtCustomerID5" cols="20" rows="10" ><img src=images/<?=$objResult["List5"];?> width="100" height="100"/>
</div></td>
<td><div ALIGN="center">
<textarea name="txtCustomerID6" cols="20" rows="10"><?=$objResult["List6"];?>
</textarea>
</div></td>
</tr>
</table>
<br><br><center>
<input TYPE="submit" NAME="submit" VALUE="save">
<input type=button value="กลับ" onClick="window.location='show_product.php'" >
</center>
<?
}
mysql_close($objConnect);
?>
</form>
กับตัวนี้เป็นหน้า Save
Code (PHP)
<?
$objConnect = mysql_connect("localhost","root","123456") or die("Error Connect to Database");
$objDB = mysql_select_db("project");
$strSQL = "UPDATE product SET ";
$strSQL .="ProductID= '".$_POST["txtCustomerID1"]."' ";
$strSQL .=",List2= '".$_POST["txtCustomerID2"]."' ";
$strSQL .=",Work= '".$_POST["txtCustomerIDwork"]."' ";
$strSQL .=",List3= '".$_POST["txtCustomerID3"]."' ";
$strSQL .=",List4= '".$_POST["txtCustomerID4"]."' ";
$strSQL .=",List5= '".$_POST["txtCustomerID5"]."' ";
$strSQL .=",List6= '".$_POST["txtCustomerID6"]."' ";
$strSQL .="WHERE ProductID = '".$_GET["CusID"]."' ";
$objQuery = mysql_query($strSQL);
if($objQuery)
{
echo "แก้ไขข้อมูลเสร็จสิ้น ";
}
else
{
echo "Error Save [".$strSQL."]";
}
mysql_close($objConnect);
echo "<meta http-equiv='refresh' content='2;URL=show_product.php'>";
?>
|
|
|
|
|
Date :
2013-10-26 02:05:55 |
By :
lizda |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
แยกคนละไฟล์เหละครับดีแล้ว ถ้าทำปนกันเดี๋ยวมันจะต้องแทรกเงื่อนใขอีกเยอะ
ประมาณว่า อัพโหลดสำเร็จหรือมีการเรียกตัวนี้ขึ้นมาแก้ใข ก็ให้เรียกหน้านี้ขึ้นมา ถูกแล้วครับ
|
|
|
|
|
Date :
2013-10-26 11:25:17 |
By :
meannerss |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
แล้วถ้าผมจะทำให้มันแก้ไขตรงส่วนของอัพโหลดภาพ ต้องใส่ตรงไหนมั่งครับ
|
ประวัติการแก้ไข 2013-10-26 15:12:17
|
|
|
|
Date :
2013-10-26 14:53:46 |
By :
lizda |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
หน้าอัพเดทส่วนอื่นๆก็ไป textfilde มี value=ค่าที่คิวรีมาจาก db เป็นค่า defult ไช่ไหมครับ
ส่วนรูปภาพก็เช่นกัน คิวรี่มา แล้วโชว์ โดยใช้แทค img src /image/<? ตัวแปรที่คิวรี่ได้จาก db ?>
แล้วก็มี file filde อยู่ด้านล่างรูปภาพนั้น ไว้อัพโหลดเข้ามา
แล้วใส่โค้ดตรวจสอบไว้ว่า ถ้าค่ากล่องนี้เท่ากับค่าว่าง($files[xx][name]) ไม่ต้องอัพเดทส่วนรูปภาพ กรณีแบบนี้เกิดขึ้นได้เวลาเค้าแก้ใขอื่นๆแต่ไม่ไช่รูปภาพ
แต่ถ้าค่ากล่องนี้ไม่เท่ากับค่าว่าง แสดงว่าเค้ามีการแทรกไฟล์เข้ามา ก็เอาไปตรวจสอบ ขนาดและรูปแบบ ถ้าผ่านก็นำไป update
|
|
|
|
|
Date :
2013-10-30 19:21:40 |
By :
meannerss |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 03
|