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

HOME > PHP > PHP Forum > ส่งค่า pwd ที่มีเครื่องหมาย + ผ่าน Ajax ไปให้ php ตรวจสอบ แล้วติดปัญหาครับ



 

ส่งค่า pwd ที่มีเครื่องหมาย + ผ่าน Ajax ไปให้ php ตรวจสอบ แล้วติดปัญหาครับ

 



Topic : 114837



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



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




มีคำถามครับ ผมทำระบบแจ้งงานซ่อม โดยใช้ user / pwd จากบน Windows AD
โดยการทำงานจะกดปุ่ม submit ที่หน้า request_form.php ถ้า pwd ผิดก็จะขึ้น Alert
ที่หน้านั้นเลยว่า pwd ผิด ไม่ต้องรอไปประมวลผลอีกหน้านึง แล้ว back กลับให้เสียเวลา

แต่ตอนนี้มันติดปัญหาอย่างนึงคือ ถ้า pwd มีเครื่องหมาย + (บวก)
เมื่อไร มันจะฟ้องว่า pwd ผิดทันที ทั้ง ๆ ที่กรอกถูกต้อง เข้าใจว่าเกี่ยวกับการ encode url
ที่ส่งค่าไปให้ ldap_check.php และถ้าเปลี่ยน pwd เป็นเครื่องหมายอื่น เช่น @ $ %
แทน + ก็จะใช้งานได้ทันที

ตัวอย่าง Code พอสังเขปนะครับ ไม่ขอลงละเอียดมาก

อันนี้ไม่มีอะไรมาก เป็นแค่ textbox ธรรมดา และแทรก ajax_request_form.js ไว้แล้ว

request_form.php
<script src="inc/ajax_request_job.js"></script>
<input type="text" name="txt_request_job_user" id="txt_request_job_user" size="15" maxlength="20">
<input type="password" name="txt_request_job_pwd" id="txt_request_job_pwd" size="15" maxlength="20">

เอาค่าที่กด submit มาส่งผ่าน ajax โดยผ่าน method post

ajax_request_form.js
var url = 'ldap_check.php';
var pmeters = "ldap_user="+encodeURI(document.getElementById("txt_request_job_user").value)+"&ldap_pwd="+encodeURI(document.getElementById("txt_request_job_pwd").value)+"&ldap_auth=n";
HttPRequest.open('POST',url,true);
HttPRequest.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
HttPRequest.setRequestHeader("Content-length", pmeters.length);
HttPRequest.setRequestHeader("Connection", "close");
HttPRequest.send(pmeters);

จากนั้นส่งค่าที่ submit มาที่ ldap_check.php เพื่อทำการ bind กับ AD

ldap_check.php
$ldap_user=$_POST["ldap_user"];
$ldap_pwd=$_POST["ldap_pwd"];
$ldap_auth=$_POST["ldap_auth"];
	$ldap_bind=ldap_bind($ldap_con,$ldap_user."@".$ldap_dom,$ldap_pwd) or die("ldap_fail");

ถ้า pwd ผิด ก็จะส่งค่า ldap_fail กลับไปหาที่ ajax_request_form.js เพื่อให้ขึ้น Alert

ajax_request_form.js
else if(HttPRequest.responseText == 'ldap_fail')
{
alert("Wrong username or password");
frm_request_job.txt_request_job_pwd.value="";
frm_request_job.txt_request_job_pwd.focus();
}

เบื้องต้น ผมได้ลองทำแบบนี้ที่ไฟล์ ldap_check.php แล้ว แต่ยังไม่ไ่ด้ผลครับ
รบกวนขอคำแนะนำเพิ่มเติมด้วยครับ

ldap_check.php
$ldap_pwd=urldecode($_POST["ldap_pwd"]);




Tag : PHP, JavaScript, Ajax, Windows









ประวัติการแก้ไข
2015-03-03 17:42:43
2015-03-03 17:44:19
2015-03-03 17:44:47
2015-03-03 17:54:34
Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2015-03-03 17:40:34 By : NarinNil View : 999 Reply : 4
 

 

No. 1



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



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


เปลี่ยนจาก urlencode เป็น base64_encode






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-03-03 17:54:56 By : Chaidhanan
 


 

No. 2

Guest


ลองครอบทั้ง parameter
Code (JavaScript)
var pmeters = encodeURI("ldap_user="+document.getElementById("txt_request_job_user").value+"&ldap_pwd="+document.getElementById("txt_request_job_pwd").value+"&ldap_auth=n");

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-03-03 23:26:07 By : ผ่านมา
 

 

No. 3



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



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


ได้แล้วครับ เปลี่ยนจาก encodeURI เป็น encodeURIComponent
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-03-13 16:34:37 By : NarinNil
 


 

No. 4



โพสกระทู้ ( 74,058 )
บทความ ( 838 )

สมาชิกที่ใส่เสื้อไทยครีเอท

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


แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-03-14 06:50:40 By : mr.win
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : ส่งค่า pwd ที่มีเครื่องหมาย + ผ่าน Ajax ไปให้ php ตรวจสอบ แล้วติดปัญหาครับ
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ 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 02
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 อัตราราคา คลิกที่นี่