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

คือทำระบบสมาชิกแล้วก็ให้สมาชิกอัพโหลดรูปภาพประจำตัวของตัวเองก็อัพโหลดได้ปกติค่ะแต่ว่ าอยากใ้ห้แบบว่า สมาชิกไม่ต้องอัพโหลดรูปตัวเองก็ได้อะค่ะ ตอนนี้ที่เป็นปัญหาก็คือ ทีนี้มัน เพิ่มข้อมูลครั้งเดียว 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,151

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



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



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



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



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



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