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 > ตัดคำในการล๊อกอินระบบจะทำอย่างไงล่ะครับ ??? ขอบคุณครับ !!



 

ตัดคำในการล๊อกอินระบบจะทำอย่างไงล่ะครับ ??? ขอบคุณครับ !!

 



Topic : 029913



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



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




หวัดดี พี่ทุกคน (ขอขอบคุณล่วงหน้าเลยนะครับ)

คือว่าผมเขียนโปรแกรม PHP เกี่ยวกับหน้าจอ Login ในส่วนของ IIS Authenticate เพื่อไปตรวจสอบสิทธิ์ UserAccount ไปยัง Domain Server จากโค๊ดดังนี้ :-
-------------------------------------

<?php
if (!isset($_SERVER['PHP_AUTH_USER'])) {
header('WWW-Authenticate: Basic realm="My Realm"');
header('HTTP/1.0 401 Unauthorized');
echo 'ไม่สามารถติดต่อระบบ Server ได้";
exit;
}
?>

-------------------------------------
และจะได้หน้าจอการ Login ดังนี้ :-
UserLogin

แต่มีปัญหาที่ว่า พนักงานของผมที่ใช้โปรแกรมนี้ มักจะกรอกช่อง User name หลายแบบ เช่น
- บางคนชอบกรอกว่า [email protected] (เพราะอาจจะสับสนกับระบบกลางที่จะกรอกแบบนี้)
- บางคนชอบกรอกว่า xyz\abc (คงจะจำการอ้างอิงกับเครื่องคอมฯ ที่ไม่ได้อยู่ภายใต้ Domain Server นะครับ)

แต่การกรอกทั้ง 2 แบบข้างต้น มันก็สามารถเข้าระบบโปรแกรมผมได้ แต่ผมเกิดปัญหาที่ว่าไม่รู้ว่าจะเขียนโปรแกรมตัดคำ เพียงแต่จะเอา Username ที่เป็น User Account ของพนักงานที่ทำการล็อกอินนั้นมาเทียบกับอีเมล์ใน LDAP ของ AD บน Domain ได้อย่างไร??? เพื่อจะเอาอีเมล์นั้นใช้ในการส่งเมล์กลับไปยังพนักงานคนนั้น ๆ ต่อไป
เช่น
[email protected] ก็จะเอาแต่ abc อย่างเดียว
หรือ xyz\abc ก็จะเอาแต่ abc อย่างเดียว เหมือนกัน...

รบกวนช่วยด้วยนะครับ...

---------- แต่หากพนักงานได้ล๊อกอินในแบบที่ 1 ผมพอจะแก้ไขได้บ้าง แต่เกิดมีการล๊อกอินอย่างที่ 2 เข้ามาอีก เลยทำให้เขียนโปรแกรมตัดไม่ถูกเลยนะครับ ----
<?php
if (!isset($_SERVER['PHP_AUTH_USER'])) {
header('WWW-Authenticate: Basic realm="My Realm"');
header('HTTP/1.0 401 Unauthorized');
echo 'ไม่สามารถติดต่อระบบ Server ได้";
exit;
}else{
$userLogin = $_SERVER['PHP_AUTH_USER'];
$userAccount = explode("@",$userLogin);
echo $userAccount[0];
}
?>
--------------------------------------------------------



Tag : - - - -







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2009-08-03 17:02:12 By : riderman View : 1188 Reply : 8
 

 

No. 1



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

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

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

คับวิธีการคือหาตำแหน่ง @ กะ \
ตย.
Code (PHP)
<?php

if( strpos($userLogin, '@') !== false )
list($userAccount) = explode("@",$userLogin);
else
list($userAccount) = explode("\",$userLogin);

echo $userAccount;
?>


ไม่ได้ลองนะครับ ได้ไม่ได้ยังไงบอกด้วย






Date : 2009-08-03 17:30:55 By : pjgunner
 


 

No. 2



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

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

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


โห เพ่เอี่ยว จำโค้ดได้หมดเลยหรือครับโดยที่ไม่ต้องลอง สุดยอดม๊ากมาก ผมยังผิดจำถูกอยู่เลย กำลังหัดคัดวันล่ะ 30 จบอยู่ เช้า 10 เที่ยว 10 เย็น 10 อิอิอิอิ
Date : 2009-08-03 18:57:13 By : somparn
 

 

No. 3



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

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

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


เอี่ยวเค้าเทพฯครับ
Date : 2009-08-03 19:00:36 By : panyapol
 


 

No. 4



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



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


เรียน พี่เทพเอี่ยว

ข้าฯ กระผมผู้น้อย ขอขอบคุณพี่เทพเอี่ยวอย่างสูง หาที่สุดมิได้
กระผมได้ทำการทดลองเขียนโค๊ดไว้ดังนี้ :-
------------------------------------------------------------------------------

<?php
if (!isset($_SERVER['PHP_AUTH_USER'])) {
header('WWW-Authenticate: Basic realm="My Realm"');
header('HTTP/1.0 401 Unauthorized');
echo 'ไม่สามารถติดต่อระบบ Server ได้';
exit;
}else{
$userLogin = $_SERVER['PHP_AUTH_USER'];

if(strpos($userLogin,'@') !== false)
list($userAccount) = explode("@",$userLogin);
else
list($userAccount) = explode("\\",$userLogin);
echo $userAccount;
}
?>

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

พอเวลาทำการล็อกอินเป็น [email protected] จะได้เป็น abc (อันนี้ถูกต้องครับ !!!)
แต่พอเปลี่ยนล๊อกอินเป็น xyz\abc ทำไมออกมาเป็น xyz ละครับ
แต่ผมอยากให้ออกมาเป็น abc นะครับ แต่ขอรบกวนแก้ไขหรือแนะนำให้ด้วยนะครับ...ขอขอบคุณมากครับ !!!
Date : 2009-08-04 13:35:14 By : riderman
 


 

No. 5



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

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

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

เพิ่งเข้ามาคับ

บรรทัด
list($userAccount) = explode("\\",$userLogin);

ให้เปลี่ยนเป็น

$userAccount = end( explode('\\', $userLogin) );

ความจริงผมไม่ค่อยจะรู้จัก posix เลยไม่แน่ใจ ถ้าเป็น pcrl ก็พอได้
Date : 2009-08-04 20:00:07 By : pjgunner
 


 

No. 6



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



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


เรียน พี่เทพเอี่ยว

ได้แล้วครับ ผมได้ทดลองเขียนดังที่พี่แนะนำมา ใช้งานได้เลยนะครับ
--------------------------------------------
<?php
if (!isset($_SERVER['PHP_AUTH_USER'])) {
header('WWW-Authenticate: Basic realm="My Realm"');
header('HTTP/1.0 401 Unauthorized');
echo 'ไม่สามารถติดต่อระบบ Server ได้';
exit;
}else{
$userLogin = $_SERVER['PHP_AUTH_USER'];

if(strpos($userLogin,'@') !== false)
list($userAccount) = explode("@",$userLogin);
else
$userAccount = end( explode('\\', $userLogin) );
echo $userAccount;
}
?>

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

ตอนนี้ไม่ว่า User จะล๊อกอินเข้ามาด้วยแบบไหน ก็ได้แต่ UserAccount อย่างเดียวแล้วครับ
ต้องขอขอบคุณพี่เอี่ยว อย่างสูงมาก ๆ เลยนะครับ โอกาสหน้าอาจจะมารบกวนอีกนะครับ...


เออ...พี่เอี่ยว ครับที่ว่า
posix และ pcrl มันคืออะไรเหรอครับ ไม่เคยได้ยิน ขอแนะนำด้วยครับ
Date : 2009-08-04 20:16:37 By : riderman
 


 

No. 7



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

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

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

posix กะ pcrl มันคือรูปแบบการใช้ regex ครับ ไปหาข้อมูลเอาเองนะครับ

แก้โค้ดให้เป็นรูปแบบเดียวกันหน่อย

Code (PHP)
<?php
if(strpos($userLogin,'@') !== false)
$userAccount = current( explode("@",$userLogin) );
else
$userAccount = end( explode('\\', $userLogin) );
echo $userAccount;
?>

Date : 2009-08-04 20:45:04 By : pjgunner
 


 

No. 8



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



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


ครับ ขอขอบคุณอย่างสูงมากเลยครับ ที่ให้ความรู้แก่ผมครับ
(สู้ ต่อไปอย่างหยุดยั้ง ไอ้มดแดง)
Date : 2009-08-04 20:53:57 By : riderman
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
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 00
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 อัตราราคา คลิกที่นี่