구글 크롬 웹 앱 -> php 테스트 툴 postman 설치
https://plus.google.com/share?url=https://chrome.google.com/webstore/detail/postman/fhbjgbiflinjbdggehcddcbncdddomop?utm_source=plus
http://www.apexvj.com/v3/ 비주얼 이제이션 사이트
=====[ P H P ]==============================================================================
서버란? ( 역활적인 의미가 중요. )
서버 - 정보를 제공하는 역할.
클라이언트 - 정보를 제공 받는 역할
소셜서버 - 게임정보를 저장 출력, 갱신 타인의 게임 상태를 받아오거나 하는 웹서버.
웹서버 - HTTP 기반으로 제작된 서버
[ 게임서버 구조 ]
[ PHP동작 구조 ]
=====[ 프로그램 설치 ]==============================================================================
윈도우 서버 호스팅 받을것.- 원격호스팅 가능(윈도우 원격 접속 가능)
아래 설치 방식 그대로 웹 접속해서 설치 가능
01. AutoSet910_x32 설치 (AutoSet = APM - Apache & Php & Mysql 한꺼번에 설치해주는 프로그램 )
- http 프로토콜을 이용하고 80 포트를 사용한다
- 오토셋 설치 후 웹 서버 실행
- 서버 웹 접속 주소 http://127.0.0.1/index.php
[ 오토셋 홈 디렉토리 찾기 ]
설정 -> 웹서버 기본설정 -> 폴더 찾기. ( 기본 C:\AutoSet9\public_html )
(아파치는 리소스 전달자)
02. http://www.oracle.com/technetwork/java/javase/downloads/jre7-downloads-1880261.html
- Windows x64 29.79 MB jre-7u80-windows-x64.exe 설치
03. netbeans https://netbeans.org/downloads/ -> HTML5 & PHP 다운로드 ( php 편집기 )
서버 책 추천.
1. 성공과 실패를 결정하는 1% 네트워크 원리 -> html연동부분 보기
2. 웹을 지탱하는 기술
3. HEAD FIRST NETWORKING
=====[ P H P 문법]==============================================================================
<html>
<head>
<title> 더하기 </title>
</head>
<body>
1 + 2 =
<?php //php html에서 php 태그 시작 - 요청 -> 연산 -> 출력
echo 1 + 2; //echo = 출력하라.
?>
</body>
</html>
넷빈즈 실행 ============
파일 -> 뉴 -> PHP-> PHP applicaction 선택 -> 프로덕트 네임 입력 -> 소스 폴더 선택 ->
좌측 소스 파일스 마우스 우클릭 뉴 -> php 선택
php 문법은 ' <?php ' 로 시작해서 ' ?> '로 끝난다
문자열은 ' ' 를 써도 되고 " " 를 써도 된다.
http://localhost/ 는 자기 자신의 서버 주소다.
크롬 포스트맨 추가 https://chrome.google.com/webstore/search/postman?hl=ko
https://plus.google.com/share?url=https://chrome.google.com/webstore/detail/postman/fhbjgbiflinjbdggehcddcbncdddomop?utm_source=plus
추가 후 설치
php - > get 는 보안이 안되며 웹브라우저 주소창에 실제 주소가 보인다.
<?php
$name = "오크";
$level = 1;
$speed = 12.3;
$hp = 50;
$damage = 10;
//hp 감소
$hp = $hp - $damage;
echo 'name : '.$name.', ';
echo 'level : '.$level.', ';
echo 'speed : '.$speed.', ';
echo 'damage : '.$damage.', ';
echo 'hp : '.$hp;
?>
php는 ' . ' 으로 문자열과 변수를 붙여서 사용한다.
<?php
// url : http//서버주소//php파일명.php?data키값
// 서버쪽에서 생성되는 이름 , 값을 지칭하는 키값
// 클라이언트가 보내준 get 메소드의 데이터를 추출함
$get_data = $_GET["data"]; // $get_data 변수생성후 데이터를 입력 받는다.
echo 'get data : '.$get_data; // $get_data 변수를 화면에 출력한다.
/*
$post_data = $_POST["data"];
//추출한 데이터를 출력함
echo 'post data : '.$post_data;
*/
$mydata = $_GET["data"];
echo '내가 입력한 데이터는 : '.$mydata;
?>
//주소 포함됨 보안에 취약
$mydata = $_GET["get_data"];
echo '내가 입력한 겟 데이터는 : '.$mydata;
//주소 포함안됨 보안에 강점
$mydata = $_POST["post_data"];
echo '내가 입력한 포스트 데이터는 : '.$mydata;
GET 방식
1
2
3
4
5
6
7
|
<?php
$get_data = $_GET [ "get_data" ];
echo 'get data : ' . $get_data ;
?>
|
POST 방식
1
2
3
4
5
6
7
|
<?php
$post_data = $_POST [ "post_data" ];
echo 'post data : ' . $post_data ;
|
== [ 유니티에서 PHP로 값 넘기는법 ]======================
유니티 -> 캔버스 -> UI 인풋필드 생성
-> 인스펙터 -> TEXT 초기 텍스트 설정 할 수 있음.
PLACE HOLDER 초기 텍스트 값.
스크립트 넣고 인풋필드 한번 더 넣는다
Canvas -> InputField -> 인스펙터 -> EndEdit 에 스크립트가 연결된 게임 오브젝트를 집어 넣는다
게임 오브젝트 스크립트
using UnityEngine;
using System.Collections;
using UnityEngine.UI;
public class inputmag : MonoBehaviour {
public void OnInputFieldEdata(InputField IF)
{
Debug.Log("입력필드값 : " + IF.text);
}
}
집어 넣은 뒤 InputField인스펙터의 input field(script) 컴포넌트를 한번 더 넣는다.
====================[ 소스 ]========================================
using UnityEngine;
using System.Collections;
using UnityEngine.UI;
public class inputmag : MonoBehaviour {
public string serverAddress;
public void OnInputFieldEdata(InputField IF)
{
StartCoroutine(GetTestCor(IF.text));
}
IEnumerator GetTestCor(string data)
{
//geturl 설정
string url = "http://" + serverAddress + "/get_dataPhp.php?get_data=" + data;
Debug.Log("입력필드값 : " + url);
//WWW 클라이언트 객체 생성
WWW wwwClient = new WWW(url);
//전송
yield return wwwClient;
if (wwwClient.error == null)
{
Debug.Log("http get result : " + wwwClient.text);
}
else
{
Debug.Log(wwwClient.error);
}
}
}
php 아이디 패스워드 만들고
유니티 입력필드 아이디 패스 워드 넣고
버튼 클릭시 로그인 성공 실패 출력
=[c# 코드 ] ==========================================================
using UnityEngine;
using System.Collections;
using UnityEngine.UI;
public class mag : MonoBehaviour {
// InputField 형 변수 생성
private InputField _id;
private InputField _pass;
// 서버 접속 주소 (인스펙터)
public string serverAddress;
public void setid (InputField id)
{
this._id = id;
}
public void pass(InputField pass)
{
this._pass = pass;
}
public void OnInputField()
{
StartCoroutine(inputID());
}
IEnumerator inputID()
{
string url = "http://" + serverAddress + "/login.php";
Debug.Log(url);
WWWForm loginData = new WWWForm();
loginData.AddField("id_data", _id.text);
loginData.AddField("pass_data", _pass.text);
WWW login = new WWW(url, loginData);
yield return login;
if (login.error == null )
{
Debug.Log("http post result : " + login.text);
}
else
{
Debug.Log("http post result : " + login.error);
}
}
}
=[php 코드 ] ==========================================================
<?php
$id = "adepter";
$pass = 1234567;
$data1 = $_POST["id_data"];
$data2 = $_POST["pass_data"];
$loginOk = "로그인 성공";
$loginBad = "로그인 실패";
if($id == $data1 && $pass == $data2){
echo '로그인 상태 : '.$loginOk;
}
else{
echo '로그인 상태 : '.$loginBad;
}
?>
댓글
댓글 쓰기