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 > ช่วยดู nusoap ทีครับ ทำ login ผ่าน web service return array ครับ



 

ช่วยดู nusoap ทีครับ ทำ login ผ่าน web service return array ครับ

 



Topic : 097780



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



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



พอดีจะทำ login ผ่าน web service รับส่งข้อมูลแบบ array ลองทำดูแล้ว ไม่มีการส่งค่ามาจากทาง web service เลยครับ
รบกวนช่วยดูโค้ดให้ทีครับ
service.php
require_once("lib/nusoap.php");
require_once("configDB.php");

/**
*------------------------------ Configuration ---------------------------------------------------------
**/
//Create a new soap server
$server = new soap_server();

//Configure WSDL
$server->configureWSDL("usersLogin", "urn:server");

//Define namespace
$server->wsdl->schemaTargetNamespace = 'urn:server';

//Register argument parameters
$param = array(
			"username" => "xsd:string",
			"password" => "xsd:string"
);

//Add ComplexType with Array
$server->wsdl->addComplexType("ListArray", 
					'complexType',
					'array',
					'',
					'SOAP-ENC:Array',
					array(),
					array(
						array('ref'=>'SOAP-ENC:arrayType','wsdl:arrayType'=>'xsd:string[]')
					),
					'xsd:string'); 

//Register service and method
$server->register('usersLogin', 
					$param, 
					array('return' => 'tns:ListArray'),
					"urn:server",
					"urn:server#loginServer"
				  );

/**
*------------------------------ Function ---------------------------------------------------------
**/
function usersLogin($username, $password){
	$user       = $username;
	$pass 	= md5(sha1($password));
	$arr 		= array();

	$login 		= sprintf("SELECT user_id FROM users WHERE user_login = '%s' AND user_pass = '%s' ",$user, $pass);
	$queryLogin = mysql_query($login) or die(mysql_error());
	$numLogin 	= mysql_num_rows($queryLogin);
	$resultLogin= mysql_fetch_assoc($queryLogin);

	if($numLogin > 0){
		$arr = array(
				"status" => true,
				"dbData" => array("uid" => base64_encode($resultLogin["user_id"])), 
				"txtResponse" => "Login Complate."
		);
	}else{
		$arr = array(
				"status" => false,
				"dbData" => null,
				"txtResponse" => "Incorrect username/password combination."
		);
	}
	mysql_close($objConnect);
	return $arr;
}

// Get our posted data if the service is being consumed
// otherwise leave this data blank.
$POST_DATA = isset($GLOBALS['HTTP_RAW_POST_DATA']) ? $GLOBALS['HTTP_RAW_POST_DATA'] : '';
 
// pass our posted data (or nothing) to the soap service
$server->service($POST_DATA);
exit(); 


client.php
$arr 		= array();

include("nusoap/lib/nusoap.php");
$client = new nusoap_client("http://localhost/cctv/nusoap/service.php?wsdl",true); 

//Configured parameter
$params = array(
			"username" => $username,
			"password" => $password
);
//Request methoed web service
$data = $client->call("usersLogin",$params);

if($data["status"] === true){
	$_SESSION["userid"] 	= base64_decode($data["dbData"]["uid"]);
	$_SESSION["username"] 	= $username;

	//Create cookie hash
	$cookiehash = md5(sha1($username . get_real_ip()));
	mysql_query(sprintf("UPDATE cctv_users SET login_session = '%s' WHERE user_id = '%s'",$cookiehash, $_SESSION["userid"]));

	if($lifetime = "on")
		setcookie("cookiehash",$cookiehash,time()+3600*24*365);
	else
		setcookie("cookiehash"); //Delete cookie

	$arr = array( 
		"status" => $data["status"], 
		"status_txt" => $data["txtResponse"] 
	);
}else{
	$arr = array( 
		"status" => "test1", 
		"status_txt" => $data["txtResponse"]
	);
}

echo json_encode($data);

ช่วยดูให้ทีครับ
ขอบคุณมากครับ



Tag : PHP, MySQL









ประวัติการแก้ไข
2013-07-14 04:54:50
2013-07-14 04:55:32
Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2013-07-14 04:49:39 By : fogza View : 1341 Reply : 4
 

 

No. 1



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

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

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

ถ้าจะหาจริง ๆ อาจจะต้องทำการ debug ดูพวกค่านี้ครับ

Code (PHP)
function usersLogin($username, $password){
	$user       = $username;
	$pass 	= md5(sha1($password));
	$arr 		= array();

	$login 		= sprintf("SELECT user_id FROM users WHERE user_login = '%s' AND user_pass = '%s' ",$user, $pass);
	$queryLogin = mysql_query($login) or die(mysql_error());
	$numLogin 	= mysql_num_rows($queryLogin);
	$resultLogin= mysql_fetch_assoc($queryLogin);

	if($numLogin > 0){
		$arr = array(
				"status" => true,
				"dbData" => array("uid" => base64_encode($resultLogin["user_id"])), 
				"txtResponse" => "Login Complate."
		);
	}else{
		$arr = array(
				"status" => false,
				"dbData" => null,
				"txtResponse" => "Incorrect username/password combination."
		);
	}
	mysql_close($objConnect);
	return $arr;
}


ทดสอบส่งตัวแปรแบบง่าย ๆ ไปดูว่ามันสามารถทำงานได้หรือไม่

PHP and Web Service







แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-07-14 08:35:39 By : mr.win
 


 

No. 2



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



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

ตอนนี้แก้ไขได้แล้วครับ ระบุฐานข้อมูลผิด แต่ติดปัญหาใหม่ครับ
คือ user id ผมใช้ base64_encode เข้ารหัสไว้

แล้วฝั่งรับก็เอามาถอดรหัสด้วย base64_decode จากนั้นก็ return ค่าให้ jquery แบบ json
แต่พอแสดงใน console.log ค่าของ user id ยังถูกเข้ารหัสด้วย base64 อยู่เลยครับ

ขอคำแนะนำด้วยครับ
ขอบคุณครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-07-15 13:58:28 By : fogza
 

 

No. 3



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

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

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

อันที่จริงถ้า encode ก็น่าจะ decode ครบครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-07-15 14:45:48 By : mr.win
 


 

No. 4



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



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

นั่นนะสิครับ ใช้ base64_decode แต่มันไม่ถอดรหัสให้ งงเลย - -"
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-07-15 15:40:24 By : fogza
 

   

ค้นหาข้อมูล


   
 

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