Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,037

HOME > PHP > PHP Forum > ขอสอบถามการเขียนโคดเช็คค่าว่างของการเพิ่มรูป หากมีฟอร์มเพิ่มกับแก้ไขหน้าเดียวกัน รบกวนด้วยค่ะ



 

ขอสอบถามการเขียนโคดเช็คค่าว่างของการเพิ่มรูป หากมีฟอร์มเพิ่มกับแก้ไขหน้าเดียวกัน รบกวนด้วยค่ะ

 



Topic : 112386



โพสกระทู้ ( 100 )
บทความ ( 0 )



สถานะออฟไลน์
Facebook



พอดีสร้างฟอร์ม add - edit ในหน้าไฟล์เดียวกัน พอใช้โคดเช็คค่าว่างของการเพื่มรูปภาพ ถ้าไม่มีรูปจะขึ้นฟ้อง แต่พอเราแอดไปเสร็จ แล้วอยากกลับมาแก้ไข มันจะขึ้นฟ้องว่าให้เพิ่มรูป ทั้งที่เรามีรูปในฐานข้อมูลแล้ว ไม่ทราบว่าต้องเขียนคำสั่งในการเช็คค่าใน database ว่ามีค่าหรือไม่ก่อนที่จะฟ้องว่าไม่มีภาพ ต้องแก้ไขยังไงค่ะ รบกวนด้วยนะค่ะ ขอคำชี้แนะหน่อยค่ะ ขอบคุณมากๆค่ะ

error choose

โคด check ค่าว่างของการเพิ่มรูปภาพ อยู่ในหน้าที่กรอกข้อมูล
function submit_banner()
{
    if(document.getElementById('picture').value  == ""  )
    {
        alert('กรุณาเลือกรูปภาพ');
		document.form.picture.focus();
        return false;
    }
	document.form.submit();
}



--------------------------------------------------------------------------
หน้าบันทึกภาพ banner_save.php
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link rel="stylesheet" href="../css/admin.css" />

</head>
<body>
<?php
ob_start();

include_once "../connect.php";
$name = $_POST["name"];
$url = $_POST["url"];
$id = $_POST["id"];

$pic_tmp = $_FILES["picture"]["tmp_namge"];
$pic_name = $_FILES["picture"]["name"];

//upload
move_uploaded_file($_FILES["picture"]["tmp_name"], "../banner/img/".$_FILES["picture"]["name"]);
/*if(is_uploaded_file($_FILES["picture"]["tmp_name"])){
    if(move_uploaded_file($_FILES["picture"]["tmp_name"], "../picture/".$_FILES["picture"]["name"])){
        echo "File uploaded successful";
    }else{
        echo "File upload failed";
    }
}
*/

//query
if(empty($id)) {
$sql = "INSERT INTO tb_banner(
			picture,
			name,
			url
		) VALUES (
			'$pic_name',
			'$name',
			'$url'
		)";
} else {
	
//update
$sql = "UPDATE tb_banner SET
		name = '$name',
		url = '$url'
		";
		if(!empty($_FILES["picture"]["name"])) {
			$sql .=",picture = '$pic_name'";
		}
		$sql .=" WHERE id = $id";
		}
if(mysql_query($sql)) {
	echo"<script language='JavaScript'>";
	        echo"alert('บันทึกสินค้าเรียบร้อย');";
	echo"window.location='admin_page.php?url=banner.php';";
	echo"</script>";
} else {
	echo mysql_error();
}
include_once "../mysql_close.php";
?>

</body>
</html>




Tag : PHP







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2014-11-06 00:20:50 By : angeleye View : 1930 Reply : 14
 

 

No. 1



โพสกระทู้ ( 535 )
บทความ ( 0 )



สถานะออฟไลน์


Code (PHP)
if( document.getElementById('picture').value  == "" && document.getElementById('id ของ img รูป').getAttribute("src") == ""){
        alert('กรุณาเลือกรูปภาพ');
		document.form.picture.focus();
        return false;
}









ประวัติการแก้ไข
2014-11-06 08:29:22
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-11-06 08:28:19 By : gaowteen
 


 

No. 2



โพสกระทู้ ( 100 )
บทความ ( 0 )



สถานะออฟไลน์
Facebook

ลองแก้ตามคุณ BIrD แล้วค่ะ ก็ยังฟ้องเหมือนเดิมค่ะ ว่าไม่มีรูป ทั้งที่จริงรูปถูกบันทึกอยู่ใน database ต้องการแก้แค่ชื่อภาพอะค่ะ T^T
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-11-06 10:27:00 By : angeleye
 

 

No. 3



โพสกระทู้ ( 535 )
บทความ ( 0 )



สถานะออฟไลน์


ขอดู code หน้า alert หน่อย ครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-11-06 10:39:19 By : gaowteen
 


 

No. 4



โพสกระทู้ ( 361 )
บทความ ( 1 )



สถานะออฟไลน์


ผมคิดว่าน่าจะทำ hidden ไว้หนึ่งอันครับ เอาไว้แสดงชื่อรูปใน database


แล้วเช็คว่า ถ้า type hidden ว่าง และ type file ว่าง ให้ฟ้อง


ถ้าจะแก้ไขมันก็จะมีรูปอยู่ใน database hidden ก็จะไม่ว่าง มันก็จะไม่ฟ้อง
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-11-06 10:55:05 By : sabaitip
 


 

No. 5



โพสกระทู้ ( 535 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 4 เขียนโดย : sabaitip เมื่อวันที่ 2014-11-06 10:55:05
รายละเอียดของการตอบ ::
รูปจาก database ก็อยู่ใน <img src="....รุปจาก database....."> แล้วไงครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-11-06 10:58:54 By : gaowteen
 


 

No. 6



โพสกระทู้ ( 100 )
บทความ ( 0 )



สถานะออฟไลน์
Facebook

ขอโทษค่ะ เมื่อกี้พิมพ์ผิดค่ะ คือถ้าไม่กรอกอะไร ก็แอดได้เลย โดยไม่ฟ้องแจ้งเตือนค่ะ อันนี้หน้า alert กับหน้า add edit ที่รับค่าไปค่ะ

Code (Java)
function submit_banner()
{
    if( document.getElementById('picture').value  == "" && document.getElementById('id').getAttribute("src") == ""){
        alert('กรุณาเลือกรูปภาพ');
		document.form.picture.focus();
        return false;
}
	document.form.submit();
}





---------------------------------------------------------------------------------------

หน้า add- edit ที่กรอกค่ะ
<form name="form" method="post" action="banner_save.php" enctype="multipart/form-data" onSubmit="JavaScript:return submit_banner();">  	
     <div style="width:550px;" class="BodyStyle">
        <div class="data_left"><strong>ชื่อแบนเนอร์</strong><span class="RedText"><strong>**</strong></span></div>
        <div class="data_right"><input name="name" id="name" type="text" class="twitterStyleTextbox" style="width:250px;" value="<?php echo $r["name"]; ?>" size="50" /></div>
        <div class="data_left"><strong>Url Link</strong></div>
        <div class="data_right"><input name="url" type="text" class="twitterStyleTextbox" style="width:250px;" value="<?php echo $r["url"]; ?>" size="50" /></div>
        <div class="data_left" style="height:100px;"><strong>รูปภาพ</strong></div>
        <div class="data_right" style="height:100px;">
        	<?php if($r["picture"]!=""){;?>
        		<a href="../picture/<?php echo $r["picture"];?>" target="_blank" class="fancybox fancybox.iframe" >
            		<img src="../picture/<?php  echo $r["picture"];?>" style="width:80px; height:80px;">
            	</a>
            &nbsp; <? }?>
             <input type="file" name="picture" id="picture" value="<?php echo $r["picture"]; ?>"></div>
        <div><input type="image" name="submit" value="บันทึก" src="../images/admin/button_submit.png"/></div>
     </div>
     <input type="hidden" name="id" value="<?php echo $r["id"]; ?>" />
</form>

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-11-06 11:10:56 By : angeleye
 


 

No. 7



โพสกระทู้ ( 535 )
บทความ ( 0 )



สถานะออฟไลน์


ใส่ id ให้
<img id="test" src="../picture/<?php echo $r["picture"];?>" style="width:80px; height:80px;">
แล้วเปลี่ยน
if( document.getElementById('picture').value == "" && document.getElementById('test').getAttribute("src") == "../picture/")


ประวัติการแก้ไข
2014-11-06 11:15:59
2014-11-06 11:16:30
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-11-06 11:14:08 By : gaowteen
 


 

No. 8



โพสกระทู้ ( 9,586 )
บทความ ( 2 )



สถานะออฟไลน์


ไปแก้ที่ตัว รับภาพ ว่า ถ้าเป็น edit แล้ว ไม่มีภาพ ก็ไม่ต้อง update ภาพ
ตัวอย่าง
Code (PHP)
if( $_GET['action'] == 'update'){
	if(isset($_FILES['fieldname']) && $_FILES['fieldname']['name']>''){
		$field_update_picture = " , field_picture = '$filename' ";
	}else $field_update_picture = '';
	$sql = "update table set other_field = '$other_field' $field_update_picture ";
}else{
	// insert new 
}



ประวัติการแก้ไข
2014-11-06 11:19:37
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-11-06 11:18:17 By : Chaidhanan
 


 

No. 9



โพสกระทู้ ( 100 )
บทความ ( 0 )



สถานะออฟไลน์
Facebook

ลองทำตาม คุณ BIrD แล้วค่ะ ไม่มีภาพก็กดเซฟได้เลย ไม่ขึ้นฟ้องอะไรค่ะ

ก็เลยลองทำตามของคุณ Chaidhanan แล้วค่ะ ให้ไปเช็คค่าว่าง แต่ งง ค่ะ มันขึ้น error Query was empty ค่ะ
ไม่ทราบว่าผิดตรงใหน รบกวนของคำชี้แนะหน่อยค่ะ


Code (PHP)
<?php
ob_start();

include_once "../connect.php";

$name = $_POST["name"];
$url = $_POST["url"];
$id = $_POST["id"];

$pic_tmp = $_FILES["picture"]["tmp_namge"];
$pic_name = $_FILES["picture"]["name"];


//upload
move_uploaded_file($_FILES["picture"]["tmp_name"], "../banner/img/".$_FILES["picture"]["name"]);

//query

if(empty($id)) {

$sql = "INSERT INTO tb_banner(
			picture,
			name,
			url
		) VALUES (
			'$pic_name',
			'$name',
			'$url'
		)";
} else {
	
//update
if(isset($_FILES['picture']) && $_FILES['picture']['name']>''){
	
	$sql = "UPDATE tb_banner SET
			name = '$name',
			url = '$url'
			";
			if(!empty($_FILES["picture"]["name"])) {
				$sql .=",picture = '$pic_name'";
			}
			$sql .=" WHERE id = $id";
	}

}
if(mysql_query($sql)) {
	echo"<script language='JavaScript'>";
	echo"alert('บันทึกสินค้าเรียบร้อย');";
	echo"window.location='admin_page.php?url=banner.php';";
	echo"</script>";
} else {
	echo mysql_error();
}
include_once "../mysql_close.php";
?>

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-11-06 13:50:28 By : angeleye
 


 

No. 10



โพสกระทู้ ( 535 )
บทความ ( 0 )



สถานะออฟไลน์


ลองเอาไปรัน ดูนะครับ
มีรูป $r["picture"] = 'test';
ไม่มีรูป //$r["picture"] = 'test';
แล้วลองดูว่ามันได้หรือป่าว code เดียวกัน ถ้าอันนี้รันได้ปกติแสดงว่า code ที่คุณเขียนมีปัญหา ละ
Code (PHP)
<?php
//$r["picture"] = 'test';
?>

<script>
    function submit_banner() {
        if (document.getElementById('picture').value == "" && document.getElementById('test').getAttribute("src") == "../picture/") {
            id = (document.getElementById('picture').value == "" ) ? 'picture' : 'test';
            alert('ไม่มีค่า ID = ' + id)
            return false;
        }
    }
</script>
<form onsubmit="return submit_banner()">
    <img id="test" src="../picture/<?php echo $r["picture"]; ?>" style="width:80px; height:80px;">
    <input type="file" id="picture">
    <input type="submit">
</form>

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-11-06 14:10:23 By : gaowteen
 


 

No. 11



โพสกระทู้ ( 100 )
บทความ ( 0 )



สถานะออฟไลน์
Facebook

ได้แล้วค่ะ ใช้โคดตามที่คุณ BIrD บอกมาค่ะ ลืมไปว่าเอา <?php if($r["picture"]!=""){;?> ไม่ให้แสดงถ้ามีค่าว่า <img ... > ของภาพเลยไม่ขึ้นมา งงตั้งนาน อิอิ ขอบคุณมากๆๆนะค่ะ @^___^@
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-11-06 14:48:52 By : angeleye
 


 

No. 12



โพสกระทู้ ( 9,586 )
บทความ ( 2 )



สถานะออฟไลน์


$pic_tmp = $_FILES["picture"]["tmp_namge"]; สีแดงตัวแปรผิดครับ

ส่วนโค๊ดข้างล่างก็ปรับให้ เล็กน้อย ก็ลองศึกษาดูนะครับ เป็นตัวอย่างหนึ่งเท่านั้นครับ

Code (PHP)
<?php
//ob_start();
// ob_start(); ไม่จำเป็นต้องใช้ก็ได้ครับไฟล์เล็ก ทำงานแปปเดียว response ก็ตามลำดับ ไม่มี แทรกหรือทำก่อนหลังอะไรเลย
include_once "../connect.php";

$name = $_POST["name"];
$url = $_POST["url"];
$id = isset($_POST["id"])? $_POST["id"] : ''; // กรณีที่ไม่ทราบว่าจะมีตัวแปรหรือไม่ ให้ใช้แบบนี้ครับ

$pic_tmp = $_FILES["picture"]["tmp_name"];
$pic_name = $_FILES["picture"]["name"];


//upload
if( $pic_name>''){ // กรณี $pic_name มีการอัพโหลดไฟล์ ให้ move_upload_file
	move_uploaded_file( $pic_tmp, "../banner/img/".$pic_name );
}
//query

if( $id=='') { // จากที่แก้โค๊ดข้างบน $id=isset(.... ก็เปรียบเทียบตรงๆ ได้เลย
	if($pic_name)
		$sql = "INSERT INTO tb_banner( picture, name, url ) VALUES ( '$pic_name', '$name', '$url' )";
	else{
		//กรณี insert ควรมี การ upload file มาด้วย
		echo "File upload is empty !!!"; exit;
	}
} else {
	// กรณี Edit การ Upload 
	// ตรวจสอบ $pic_name มีค่าหรือไม่ กำหนดค่าให้ตัวแปร $upload
	$upload = $pic_name? " , picture = '$pic_name' " : '';
	$sql = "UPDATE tb_banner SET name = '$name', url = '$url' $upload WHERE id = $id";
}
if(mysql_query($sql)) {
	echo"<script language='JavaScript'>";
	echo"alert('บันทึกสินค้าเรียบร้อย');";
	echo"window.location='admin_page.php?url=banner.php';";
	echo"</script>";
} else {
	echo mysql_error();
}
include_once "../mysql_close.php";
?>



ประวัติการแก้ไข
2014-11-06 14:58:34
2014-11-06 15:01:04
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-11-06 14:56:31 By : Chaidhanan
 


 

No. 13



โพสกระทู้ ( 535 )
บทความ ( 0 )



สถานะออฟไลน์


ถ้า ไม่มีรูปไม่ให้โชว์ใช้ ตัวนี้

!document.getElementById('test')

if (document.getElementById('picture').value == "" && document.getElementById('test').getAttribute("src") == "../picture/")
เปลี่ยนเป็น
if (document.getElementById('picture').value == "" && !document.getElementById('test'))


ประวัติการแก้ไข
2014-11-06 15:01:55
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-11-06 15:00:54 By : gaowteen
 


 

No. 14



โพสกระทู้ ( 100 )
บทความ ( 0 )



สถานะออฟไลน์
Facebook

ขอบคุณ Chaidhanan กับ BIrD นะคร้าาา เดี๋ยวขอลองดูก่อนนะค่ะ ขอบคุณมากๆๆ ค่ะ @^_^@
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-11-06 16:00:53 By : angeleye
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : ขอสอบถามการเขียนโคดเช็คค่าว่างของการเพิ่มรูป หากมีฟอร์มเพิ่มกับแก้ไขหน้าเดียวกัน รบกวนด้วยค่ะ
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

Load balance : Server 01
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2024 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่