GORAGOD.com

freelance, web developer, web designer, hosting, domain name

รบกวนถามเรื่องการอัพโหลดรูปภาพ ค่ะ

คือทำระบบสมาชิกแล้วก็ให้สมาชิกอัพโหลดรูปภาพประจำตัวของตัวเองก็อัพโหลดได้ปกติค่ะแต่ว่ าอยากใ้ห้แบบว่า สมาชิกไม่ต้องอัพโหลดรูปตัวเองก็ได้อะค่ะ ตอนนี้ที่เป็นปัญหาก็คือ ทีนี้มัน เพิ่มข้อมูลครั้งเดียว 2 แถวค่ะ ทั้งค่าว่าง กับค่าไม่ว่างค่ะ แหะๆ ทำไงดีอ่า 





โค้ดนะคะ 




<?php
include "../admin/connect.php";
$tblname = "member";

$username = trim($_POST["username"]);

if(trim($username) == "")
{
echo "<img src='../images/false.png'>กรุณาใส่ Username ด้วยนะคะ";
exit();
}


$strSQL = "SELECT * FROM member WHERE username = '".$username."' ";
$objQuery = mysql_query($strSQL) or die ("Error Query [".$strSQL."]");
$objResult = mysql_fetch_array($objQuery);
if($objResult)
{
echo "<img src='../images/false.png'> username ซ้ำค่ะกรุณาใส่ใหม่นะคะ" ;
}
else
{
echo "<img src='../images/true.png'> username ใช้ได้ค่ะ";
}

if(isset($_POST['username'])){
$username=($_POST["username"]);
$password=($_POST["password"]);
$name=($_POST["name"]);
$surname=($_POST["surname"]);
$nickname=($_POST["nickname"]);
$rdoSex=$_POST["rdoSex"];
$email=($_POST["email"]);
$address=($_POST["address"]);
$province=($_POST["province"]);
$telephone=($_POST["telephone"]);
$fax=($_POST["fax"]);
$mobile=($_POST["mobile"]);
$r=($_POST["r"]);

if(trim($_FILES["fileUpload"]["tmp_name"]) != "")
{
$images = $_FILES["fileUpload"]["tmp_name"];
$new_images = "Thumbnails_".$_FILES["fileUpload"]["name"];
copy($_FILES["fileUpload"]["tmp_name"],"../images/member/".$_FILES["fileUpload"]["name"]);
$width=100; //*** Fix Width & Heigh (Autu caculate) ***//
$size=GetimageSize($images);
$height=round($width*$size[1]/$size[0]);
$images_orig = ImageCreateFromJPEG($images);
$photoX = ImagesX($images_orig);
$photoY = ImagesY($images_orig);
$images_fin = ImageCreateTrueColor($width, $height);
ImageCopyResampled($images_fin, $images_orig, 0, 0, 0, 0, $width+1, $height+1, $photoX, $photoY);
ImageJPEG($images_fin,"../images/member/".$new_images);
ImageDestroy($images_orig);
ImageDestroy($images_fin);
$sql = "INSERT INTO $tblname (username,password,name,surname,nickname,sex,email,address,province,telephone,fax,mobile,status,Thumbnails,FilesName)
VALUES ('$username','$password','$name','$surname','$nickname','$rdoSex', '$email', '$address', '$province', '$telephone', '$fax', '$mobile','$r','".$new_images."','".$_FILES["fileUpload"]["name"]."')";
$dbquery = mysql_db_query($dbname, $sql);

}else{

$sql = "INSERT INTO $tblname
(username,password,name,surname,nickname,sex,email,address,province,telephone,fax,mobile,status,Thumbnails,FilesName)
VALUES ('$username','$password','$name','$surname','$nickname','$rdoSex','$email','$address','$province','$telephone','$fax','$mobile','$r','Null','Null')";
$dbquery = mysql_db_query($dbname, $sql);
}
}
//mysql_close();
echo"<script>window.open('Newmember.php','','scrollbars=no,resizable=no,width=420,height=200');</script>";
?>


 

27 พ.ย. 2553 1 1,870

ในหน้านี้ mysql_close() ต้องมีนะครับ ไม่ควร comment ไว้



เท่าที่ดู มันก็ไม่มีปัญหาอะไรนี่ครับ เนื่องจากใช้ตัวเลือกว่า ถ้ามี รูป จะไปทำ query นึง ถ้าไม่มีมีรูป ให้ไปทำอีก query นึง



ปัญหาที่มันมีข้อมูล 2 record ต้องไปหาดูว่ามันมี post 2 ครั้งหรือเปล่า



จริงๆแล้วยังควรมีอีกหลายอย่างที่ต้องทำนะครับ



เช่น ตรวจสอบ username password หรือ email หรือ อื่นใดที่ควรต้องตรวจสอบ ก่อนบันทึก อย่าคิดว่าเราได้ตรวจสอบแล้วที่ Javascript เพราะถึงปิด Javascript ฟอร์มก็ยัง Submit ได้อยู่ และจะไม่ถูกตรวจสอบ ซึ่งอาจทำให้ได้ข้อมูลที่ผิดพลาดได้



อีกอย่างนึง เราอาจต้องตรวจสอบด้วยว่า มี username ซ้ำหรือเปล่า ก็จะช่วยแก้ปัญหาข้อมูล 2 record ได้
#1
ความคิดเห็น
ไฟล์อัปโหลด ชนิด jpg, jpeg ขนาดไฟล์ไม่เกิน 2M
^