A-AA+then

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

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

1 ความคิดเห็น

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

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

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

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

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

อีกอย่างนึง เราอาจต้องตรวจสอบด้วยว่า มี username ซ้ำหรือเปล่า ก็จะช่วยแก้ปัญหาข้อมูล 2 record ได้
1
^