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,028

HOME > PHP > PHP Forum > สอบถาม อัพไฟล์รูปภาพ ผ่าน Jquery .post แล้วทำไมขึ้น Null ครับ



 

สอบถาม อัพไฟล์รูปภาพ ผ่าน Jquery .post แล้วทำไมขึ้น Null ครับ

 



Topic : 118570



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



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



สวัสดีครับ คือผมอยากสอบว่าพอมีวิธีไหนที่ใช้ $.post(url) แล้วสามารถอัพรูปภาพได้บ้างครับ
ผมอัพแล้วมันแจ้งตามนี้ครับ

Quote:
Error : SQLSTATE[23000]: Integrity constraint violation: 1048 Column 'attach' cannot be null


โค้ดที่ผมเขียนก็แบบนี้ครับ
Code
<form id="set-form" enctype="multipart/form-data" action="<?php echo htmlspecialchars($_SERVER['PHP_SELF'], ENT_QUOTES); ?>" method="POST">
<p id="error" class="bg-danger text-center" style="margin-bottom:11px;padding:10px"></p>
<div class="input-group">
<label class="input-group-addon btn-info" for="Username" style="color:#FFFFFF">Username</label>
<input type="text" id="Username" class="form-control" style="height:50px;font-size:16px;line-height:38px" placeholder="Username" name="Username" />
</div>
<div class="input-group" style="margin-top:11px">
<span class="input-group-btn" style="position:relative">
<span class="btn btn-warning">Upload Image</span>
<input id="inputfing" onchange="$('#text-inputimg').text($(this).val());" type="file" name="images" />
</span>
<div id="text-inputimg" class="form-control"></div>
</div>
<div class="col-sm-5 col-sm-offset-4" align="center" style="margin-top:11px">
<button type="submit" id="submit-url" class="btn btn-info btn-block">Submit</button>
</div>
</form>


ส่วน Js นะครับ
Code (JavaScript)
$("#submit-url").click(function(e) {
	e.preventDefault();
 	$.post('shorten.php', $('#set-form').serialize(),
 	function(data) {
 		if(data.indexOf("http") == -1) {
 			$("#error").text(data).slideDown("slow");
 		}else{
 			$("#set-form").hide();
 			$("#set-tect").show();
 			$("#Copy-shot").val(data);
 		}
 	});
});


ส่วนโค้ด PHP ที่ใช้นะครับ
Code (PHP)
if(isset($_FILES['images']['type'])) {
	$typefile = array('gif', 'jpeg', 'jpg', 'png');
	$temp = explode('.', $_FILES['images']['name']);
	$renamefile = date('Ymd') . end($temp);

	if (($_FILES['images']['type'] == 'image/gif')
      || ($_FILES['images']['type'] == 'image/jpeg')
      || ($_FILES['images']['type'] == 'image/jpg')
      || ($_FILES['images']['type'] == 'image/png')
	  && in_array($renamefile, $typefile)) {
		if ($_FILES['images']['size'] < (2048000)) {
			move_uploaded_file($_FILES['images']['tmp_name'], PART.'pic/'. $_FILES['images']['name']);
		}else {
			echo 'ขออภัย ขนาดไฟล์รูปเกิน 2mb โปรดลองใหม่อีกครั้ง';
		}
	}else {
		echo 'ขออภัย อุนญาติให้ใช้ได้แค่นามสกุล GIF JPEG JPG หรือ PNG เท่านั้น!!';
	}
}

$sql = 'INSERT INTO num_link (username, link, time, attach) VALUES (:username, :link, :time, :attach)';
$qr = $dbs->prepare($sql);
$qr->bindParam(':username', $data['strings'], PDO::PARAM_STR);       
$qr->bindParam(':link', $data['addlink'], PDO::PARAM_STR); 
$qr->bindParam(':time', date('Y-m-d'), PDO::PARAM_INT);
$qr->bindParam(':attach', $_FILES['images']['name'], PDO::PARAM_STR);
$qr->execute();


ช่วยทีครับ พอจะใช้อัพโหลด ผ่าน ฟั่งชั่น $.post ได้หรือเปล่าครับ แต่ถ้าใช้ PHP Submit ธรรมดา อัพขึ้นได้ปกติครับ แต่ผมอยากจะอัพผ่าน jquery น่ะครับ

แนะนำทางสว่่างให้ด้วยนะครับ ผมนั่งเขียนตั้งแต่ 16.00น. จนถึง ตี 3 แล้วครับ ยังไม่ได้เลย



Tag : PHP, jQuery







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2015-08-27 03:12:38 By : vilet224 View : 1182 Reply : 8
 

 

No. 1



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



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

type=submit
<button type="submit" id="submit-url" class="btn btn-info btn-block">Submit</button>
กับ javascript
$("#submit-url").click(function(e) {

เลือกเอาครับ ว่าจะใช้อันไหน ถ้าใช้ type=submit ก็ไม่ต้องมี $('#submit-url').click
เพราะ priority ของ funciton submit จะมาก่อน click โดย form จะถูก request ออกทันที่ ไม่ทันได้ทำงานใน function click
ถ้าอยากใช้ ฟังก์ชั่น click ต้องเปลี่ยนเป็น type=button

<form id="set-form" enctype="multipart/form-data" action="<?php echo htmlspecialchars($_SERVER['PHP_SELF'], ENT_QUOTES); ?>" method="POST">
คำสั่งข้างบน ไม่จำเป็นต้องใช้ PHP_SELF เพราะ action จะ default ที่ ไฟล์ปัจจุบันอยู่แล้วครับ
<form id="set-form" enctype="multipart/form-data" method="POST">

in_array($renamefile, $typefile) ใน if ข้างล่าง จะเป็น false ตลอด ไม่มีโอกาสเป็น true
Code (PHP)
if ( ($_FILES['images']['type'] == 'image/gif')
	|| ($_FILES['images']['type'] == 'image/jpeg')
	|| ($_FILES['images']['type'] == 'image/jpg')
	|| ($_FILES['images']['type'] == 'image/png')
	&& in_array($renamefile, $typefile)) {

จาก $typefile = array('gif', 'jpeg', 'jpg', 'png');
และ $renamefile = date('Ymd') . end($temp);

ส่วนคำสั่ง if check type เปลี่ยนเป็น
if( preg_match('/(gif|jpeg|jpg|png|bmp)/i', $_FILES['images']['type']) )






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-08-27 06:10:17 By : NewbiePHP
 


 

No. 2



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



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


ส่งไม่ไปหรือป่าว??
ลองตรวจสอบ network ดู
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-08-27 09:37:34 By : CasanovaKung
 

 

No. 3



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



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

ตอบความคิดเห็นที่ : 2 เขียนโดย : CasanovaKung เมื่อวันที่ 2015-08-27 09:37:34
รายละเอียดของการตอบ ::
ผมใช้ Xampp ครับ แต่ถ้าอัพผ่าน PHP เลย อัพได้ปกติครับ แต่ถ้าใช้ Js มาช่วย ไม่อัพได้ครับ มันไม่ผ่าน T^T แนะนำทีครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-08-27 16:44:17 By : vilet224
 


 

No. 4



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



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


รูปแบบนี้ ส่งไปได้
test on jquery-2.1.4.js

Code (JavaScript)
$.ajax({
					type: 'post',
					url: 'data.php',
					data: new FormData($('#frm_1')[0]),
					cache: false,
					contentType: false,
					processData: false,
				}).done(function(data){
					console.log(data);
				});

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-08-27 16:55:01 By : CasanovaKung
 


 

No. 5

Guest


คห1 เขาอธิบายขนาดนั้น ยังทำไม่ได้ก็ไม่รู้จะบอกอะไรแล้ว
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-08-27 17:14:34 By : มั่วๆไป
 


 

No. 6



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



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

ตอบความคิดเห็นที่ : 5 เขียนโดย : มั่วๆไป เมื่อวันที่ 2015-08-27 17:14:34
รายละเอียดของการตอบ ::
ลองทำตาม คห 1 แล้วครับ ขึ้นอย่างเดิมครับ ส่วนตัวผมคิดว่า น่าจะเกี่ยวกับ $_FILES ครับ เพราะถ้าใช้ $_POST ใช้งานได้ปกติครับ T^T


แต่ยังไงก็ขอขอบคุณ คห 1 มากนะครับที่เข้ามาแนะนำครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-08-27 17:39:27 By : vilet224
 


 

No. 7



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



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

ถ้า serialize ส่งไม่ได้ ลอง ajaxForm
Code (PHP)
$(function() {
    $('#form').ajaxForm(function(result) {
        alert('the form was successfully processed');
    });
});

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-08-27 18:20:13 By : NewbiePHP
 


 

No. 8



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



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

ตอบความคิดเห็นที่ : 7 เขียนโดย : NewbiePHP เมื่อวันที่ 2015-08-27 18:20:13
รายละเอียดของการตอบ ::
โอ้ววว ขอบพระคุณมากๆ ครับ ทำได้แล้วครับ ผมงมมาตั้ง 2 วันกับ $.post

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-08-28 06:47:58 By : vilet224
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : สอบถาม อัพไฟล์รูปภาพ ผ่าน Jquery .post แล้วทำไมขึ้น Null ครับ
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ 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 อัตราราคา คลิกที่นี่