[영단어] directory entry 

           디스크에 있는 각 파일의 이름·크기·특징 등을 기재한 것

Reference url : http://dic.daum.net/search.do?q=entry



(PHP 4, PHP 5, PHP 7)

readdir — Read entry from directory handle


Description

string readdir ([ resource $dir_handle ] )

Returns the name of the next entry in the directory. The entries are returned in the order in which they are stored by the filesystem.


reference url : http://php.net/manual/en/function.readdir.php



<?php
/**
* Description.
*
* @author: JinMyung <dcan@doitforyou.co.kr>
* @category Filesystem
* @version 1.0
*/

/* files이 있는 directory의 모든 파일을 읽어 리스트업 */
echo "<pre>";
echo "<b>files이 있는 directory의 모든 파일을 읽어 리스트업</b>";
echo "<br>";

$dir = $_SERVER['DOCUMENT_ROOT']."/admin1/test/img/";

// 핸들 획득
$handle = opendir($dir);
$files = array();
// 디렉터리에 포함된 파일을 저장한다.
while (false !== ($filename = readdir($handle))) {
if ($filename =="." || $filename =="..") {
continue;
}

// 파일인 경우만 목록에 추가한다.
if (is_file($dir . "/" . $filename)) {
$files[] = $filename;
}
}
// 핸들 해제
closedir($handle);

sort($files);

// 파일명을 출력한다.
foreach ($files as $f) {
echo $f . "(" . round(filesize($dir . "/" . $f)/1024, 2) . " KB)" ;
echo "<br />";
}

echo "</pre>";
echo "reference url : http://blog.devez.net/292 | http://php.net/manual/en/function.readdir.php";

?>




'프로그래밍 > PHP' 카테고리의 다른 글

directory entry 읽어 파일리스트업  (0) 2018.04.20
파일 업로드(move_uploaded_file)  (0) 2018.04.14
fileupload 에러메시지 설명  (0) 2018.04.14
angularJS 사용하기  (0) 2018.04.01
json 데이타 사용하기  (0) 2018.03.28
Cookie 사용하기  (0) 2018.03.18

Composer :  PHP 환경에서 사용하는 의존성 관리 도구

설치 => https://getcomposer.org/download/



C:\Users\Administrator>composer


Composer version 1.6.4 2018-04-13 12:04:24

Usage: command [options] [arguments]

Options:

  -h, --help                     Display this help message

  -q, --quiet                    Do not output any message

  -V, --version                  Display this application version

      --ansi                     Force ANSI output

      --no-ansi                  Disable ANSI output

  -n, --no-interaction           Do not ask any interactive question

      --profile                  Display timing and memory usage information

      --no-plugins               Whether to disable plugins.


c:\APMorg\Apache24\htdocs>composer global require squizlabs/php_codesniffer

Changed current directory to C:/Users/Administrator/AppData/Roaming/Composer

Using version ^3.2 for squizlabs/php_codesniffer

./composer.json has been created

Loading composer repositories with package information

Updating dependencies (including require-dev)

Package operations: 1 install, 0 updates, 0 removals

  - Installing squizlabs/php_codesniffer (3.2.3): Downloading (100%)

Writing lock file

Generating autoload files


c:\APMorg\Apache24\htdocs>



C:\APMorg\Apache24\htdocs>composer require --dev squizlabs/php_codesniffer

Using version ^3.2 for squizlabs/php_codesniffer

./composer.json has been created

Loading composer repositories with package information

Updating dependencies (including require-dev)

Package operations: 1 install, 0 updates, 0 removals

  - Installing squizlabs/php_codesniffer (3.2.3): Loading from cache

Writing lock file

Generating autoload files





vscode-phpcs(composer based)를 적용했더니 
내 코드가 마음에 안드나 보다
30개가 문제있다 나오네...
There must be...
invalid...

phpcs(composer based) 상세 내용은 사용해 보면서 이 글에 업데이트 하는걸로 하겠습니다.




phpcs에서 invalid라 warning하는 건

주석 / 문법오류 / 함수사용시 패턴 / 들여쓰기등을 가이드 해주면서 일괄적인 코딩패턴을 유지할 수 있게 해준다. warning없애려고 하다보니 코드가 깔끔해졌다. => 가독성 좋아짐

참고 ) 주석관련 : https://github.com/squizlabs/PHP_CodeSniffer/issues/258







'프로그래밍 > 확장' 카테고리의 다른 글

Composer 설치 : vscode-phpcs(composer based)  (0) 2018.04.15

[fileupload0.php]

html tag enctype="multipart/form-data" 

파일을 업로드 할때 파일속 데이타 모두 encode해서 넘겨야 원본파일을 넘길수 있다. 

그래서 enctype="multipart/form-data" 로 지정해서 넘김.

<form enctype="multipart/form-data" action="fileupload1.php" method="POST">
<input type="hidden" name="MAX_FILE_SIZE" value="4000000" />
Send File: <input name="userfile" type="file" />
<input type="submit" value="Send File" />
</form>



[fileupload1.php]

php에서 file upload 시키는 함수는 move_uploaded_file


아래는 업로드시 에러발생했을 경우 에러 메시지를 case별로 적어봤다.

bool move_uploaded_file ( string $Filename , string $Destination )


실제 fileupload0에서 submit되면서 fileupload1으로 넘어올때.

$_FILES 에는 업로드 성공여부(temp폴더에 임시 업로드됨)가 모두 담겨 넘어온다.

그 후 temp폴더에서 "move_uploaded_file" 메소드를 이용 개발자가 정의한 폴더로 move시키는 것이다.


$_FILES info : Array

(

    [userfile] => Array

        (

            [name] => uploaded1.jpg

            [type] => image/jpeg

            [tmp_name] => C:\Windows\Temp\phpFD71.tmp

            [error] => 0

            [size] => 68985

        )

)


<?php

$uploaddir = $_SERVER['DOCUMENT_ROOT']."/admin1/test/img/";

print_r($uploadfile = $uploaddir.basename($_FILES['userfile']['name']));

echo '<pre>';
if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) {
echo "File was successfully uploaded.\n";
} else {
echo "FileUpload was failed.\n";
}

echo 'info:';
print_r($_FILES);
echo "<br />";

if(UPLOAD_ERR_OK !=$_FILES['userfile']['error'])
{

switch ($_FILES['userfile']['error']) {
case UPLOAD_ERR_INI_SIZE:
$message = "The uploaded file exceeds the upload_max_filesize directive in php.ini";
break;
case UPLOAD_ERR_FORM_SIZE:
$message = "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form";
break;
case UPLOAD_ERR_PARTIAL:
$message = "The uploaded file was only partially uploaded";
break;
case UPLOAD_ERR_NO_FILE:
$message = "No file was uploaded";
break;
case UPLOAD_ERR_NO_TMP_DIR:
$message = "Missing a temporary folder";
break;
case UPLOAD_ERR_CANT_WRITE:
$message = "Failed to write file to disk";
break;
case UPLOAD_ERR_EXTENSION:
$message = "File upload stopped by extension";
break;
default:
$message = "Unknown upload error";
break;
}

echo $message;

}
print "</pre>";
?>


자 이렇게 해서 fileupload0.php => fileupload1.php 순서로 실행되면 

아래의 로그를 받아볼 수 있다.

화일은 temp로 임시 저장된 후 다시 최초 지정한 경로로 옮겨간다. 

'프로그래밍 > PHP' 카테고리의 다른 글

directory entry 읽어 파일리스트업  (0) 2018.04.20
파일 업로드(move_uploaded_file)  (0) 2018.04.14
fileupload 에러메시지 설명  (0) 2018.04.14
angularJS 사용하기  (0) 2018.04.01
json 데이타 사용하기  (0) 2018.03.28
Cookie 사용하기  (0) 2018.03.18

화일 업로드 수행시 에러건에 대한 코드 설명


에러 코드는 PHP로 파일을 업로드 했을때 만들어지는 파일 배열의 error 세그먼트에서 확인할 수 있음.

예) $_FILES['userfile']['error']에서 확인할 수 있음.



UPLOAD_ERR_OK

값: 0; 오류 없이 파일 업로드가 성공했습니다.


UPLOAD_ERR_INI_SIZE

값: 1; 업로드한 파일이 php.ini upload_max_filesize 지시어보다 큽니다.



이 에러의 경우 php.ini의 아래 2곳 수정한다.


; Maximum allowed size for uploaded files.

; http://php.net/upload-max-filesize

upload_max_filesize = 40M


; Maximum size of POST data that PHP will accept.

; Its value may be 0 to disable the limit. It is ignored if POST data reading

; is disabled through enable_post_data_reading.

post_max_size = 40M



UPLOAD_ERR_FORM_SIZE

값: 2; 업로드한 파일이 HTML 폼에서 지정한 MAX_FILE_SIZE 지시어보다 큽니다.


html tag에서 max_file_size를 변경한다. 

Validation순서

first) html의 MAX_FILE_SIZE

second) php.ini 의 upload_max_filesize 

<form enctype="multipart/form-data" action="fileupload.php" method="POST">
<input type="hidden" name="MAX_FILE_SIZE" value="200000" />
Send File: <input name="userfile" type="file" />
<input type="submit" value="Send File" />
</form>



UPLOAD_ERR_PARTIAL

값: 3; 파일이 일부분만 전송되었습니다.


UPLOAD_ERR_NO_FILE

값: 4; 파일이 전송되지 않았습니다.


UPLOAD_ERR_NO_TMP_DIR

값: 6; 임시 폴더가 없습니다. PHP 4.3.10과 PHP 5.0.3에서 추가.


UPLOAD_ERR_CANT_WRITE

값: 7; 디스크에 파일 쓰기를 실패했습니다. PHP 5.1.0에서 추가.


UPLOAD_ERR_EXTENSION

값: 8; 확장에 의해 파일 업로드가 중지되었습니다. PHP 5.2.0에서 추가.


※출처 : http://php.net/manual/kr/features.file-upload.errors.php

'프로그래밍 > PHP' 카테고리의 다른 글

directory entry 읽어 파일리스트업  (0) 2018.04.20
파일 업로드(move_uploaded_file)  (0) 2018.04.14
fileupload 에러메시지 설명  (0) 2018.04.14
angularJS 사용하기  (0) 2018.04.01
json 데이타 사용하기  (0) 2018.03.28
Cookie 사용하기  (0) 2018.03.18

DB를 핸들링하는 server-side 언어, php

반응형웹페이지디자인 : bootstrap

자바스크립트기반 웹어플리케이션 프레임웍 : angularjs

이것 3개 조합해서 웹페이지 만들기.


xmlhttp, ajax, jquery등 다양한 스크립트 형식의 모듈들이 많이 있었지만.

angularjs는 MVC패턴의 자바스크립트 프로그램방식으로 진행된다.

자바스크립트로 진행되지만 스크립트 같지 않은 아주 다양한 기능과 표준화, 개인생각임.. ㅋㅋ

모바일 웹앱만들때 가장 좋은것 같다.


angularjs를 적용한 html 페이지소스.




<html lang="en" ng-app="myApp">
<head>
...
 

        
Full Name: {{firstName + " " + lastName}}

Calc using AngularJs, expression: {{ 5 + 5 }}

{{ y.help_topic_id }} : {{ y.name }}
… /*angularjs 스크립트 적용부분은 웹페이지 맨 하단에 적용*/




angularjs 문법이 궁금하면, https://www.w3schools.com/angular/default.asp

'프로그래밍 > PHP' 카테고리의 다른 글

파일 업로드(move_uploaded_file)  (0) 2018.04.14
fileupload 에러메시지 설명  (0) 2018.04.14
angularJS 사용하기  (0) 2018.04.01
json 데이타 사용하기  (0) 2018.03.28
Cookie 사용하기  (0) 2018.03.18
Session 사용하기  (0) 2018.03.17

인체감지센서,LED로 센서등 만들기

 

LED를 멀티로 5개까지 on/off처리함

불 밝기를 위해서. 현관문 앞에 달고 싶은데 선이 지저분하다. 사진처럼

선 처리를 좀 깔끔하게 할 방법은 없을까?

 

 

아두이노 인체감지센서와 LED제어 프로그램 소스

소스보다 LED를 멀티로 on 시켜보자 하여 아래 led09~led12까지 추가함.

 

HsensorLed.ino

	
int led09 = 9;       // ledPin 출력을 09번
int led10 = 10;      // ledPin 출력을 10번
int led11 = 11;      // ledPin 출력을 11번
int led12 = 12;      // ledPin 출력을 12번
int led13 = 13;      // ledPin 출력을 13번
int sensorInput = 2;     // PIR센서 입력을 inputPin 2번에 연결
int pirState = LOW;   // 초기값은 PIR 센서값이 없다고 가정
int val = 0;          // 핀의 상태를 판독하기 위한 변수를 선언
int itime = 0;

void setup() {

  pinMode(led09, OUTPUT);     //led 포트를 출력모드로
  pinMode(led10, OUTPUT);     //led 포트를 출력모드로
  pinMode(led11, OUTPUT);     //led 포트를 출력모드로
  pinMode(led12, OUTPUT);     //led 포트를 출력모드로
  pinMode(led13, OUTPUT);     //led 포트를 출력모드로
  pinMode(sensorInput, INPUT);    //센서입력 포트를 입력모드로
  Serial.begin(9600);         // 9600속도로 시리얼 통신 시작 
}


void loop(){
  val = digitalRead(sensorInput);   

  if (val == HIGH)
  {            
      digitalWrite(led09, HIGH);   
      digitalWrite(led10, HIGH);   
      digitalWrite(led11, HIGH);   
      digitalWrite(led12, HIGH);   
      digitalWrite(led13, HIGH);   
      
      if(pirState == LOW){
         pirState = HIGH;
         itime ++;
         
      Serial.println("Somebody detected~! : ");
      delay(10000);           // 10초 지연
      } 
  }
  else {
      if(pirState == HIGH){
        digitalWrite(led09, LOW);        
        digitalWrite(led10, LOW);        
        digitalWrite(led11, LOW);                        
        digitalWrite(led12, LOW);
        digitalWrite(led13, LOW);

        pirState = LOW;      
        Serial.println("Nobody detected~!");
        }
    }
}


회도로는 검색엔진에서 “아두이노 인체감지센서 led” 이렇게 검색하면 여러blog내용이 나옴.

회로도 작성툴, “fritzing”가 있는데 다음엔 이걸로 작성해보는걸로..




고장난 센서등의 안쪽 부속품들을 모두 들어내고 그 안에 회로판LED를 넣어 아래처럼 만듦




=================

선정리로 고민하다. 기존 무선센서의 led와 센서를 이용하고 건전지 전력을 집전기로 바꾸기만 해서 간단해 해봤음

전력을 use용 얇은 선으로 대체함

use는 [ 5V(+) | Data(+) | Data(-) | GND ] 4개의 선으로 되어있어 여기서 5V(+)/GND를 사용해서 연결 납땜하면 된다.



 







json 데이타 사용하기

refer to : https://www.w3schools.com/js/js_json_php.asp


JSON type 을 이용해서 data 송수신하려 함.
PHP에서 제공하는 함수 json_encode/json_decode 사용
 


아래는 Database를 이용한 예제로 fetch후 data를 json_encode() 하여 화면에 뿌린것이다.



vJsonData1.php
getSomeTopics();

echo "{\"Table\":". json_encode($topics)."}";
?>
TopicData.php
    public function getSomeTopics()
    {
        $query = $this->connection->prepare("SELECT help_topic_id, name FROM TMP_help order by help_topic_id desc  limit 10 ");
        $query->execute();

        //return $query;

        return $query->fetchAll(\PDO::FETCH_ASSOC);
        
    }





'프로그래밍 > PHP' 카테고리의 다른 글

fileupload 에러메시지 설명  (0) 2018.04.14
angularJS 사용하기  (0) 2018.04.01
json 데이타 사용하기  (0) 2018.03.28
Cookie 사용하기  (0) 2018.03.18
Session 사용하기  (0) 2018.03.17
반응형 웹개발 admin 페이지 step1  (0) 2018.03.04

Session과 Cookies는 같이 적절히 사용하면 사이트 운영에 효율적임.



>>refer to : https://www.w3schools.com/php/php_cookies.asp 

Syntax

setcookie(name, value, expire, path, domain, secure, httponly);

Only the name parameter is required. All other parameters are optional.


domain 파라미터를 이용하면 해당 도메인에서만 쿠키가 적용됨.


sessionstep21.php에 cookie적용하고 sessionstep2.php open시 cookie를 화면으로 확인
sessionstep21.php 코드보기


";
var_dump($_POST);
?>

 0) {

    $snEmail =  $_POST['exampleInputEmail1'];
    $snId = "doitforyou";
    $snGroup = "MASTER";
    $snSdate = date("YmdHis");

    echo "

"; echo "세션 ID : ".session_id(); echo "
"; echo "
저장할 이메일 : ".$snEmail; echo "
저장할 ID : ".$snId; echo "
저장할 그룹 : ".$snGroup; // 세션에 저장 $_SESSION['snEmail'] = $snEmail; $_SESSION['snId'] = $snId; $_SESSION['snGroup'] = $snGroup; $_SESSION['snSdate'] = $snSdate; echo "
세션생성완료"; $cookie_name = "cnEmail"; $cookie_value = $snEmail; setcookie($cookie_name, $cookie_value, time() + (86400 * 1), "/", "doitforyou.co.kr"); // 86400 = 1 day } ?> go to the next, sessionStep2 => CLICK


doitforyou.co.kr 도메인에서 cookie 적용됨


타도메인에서는 cookie 적용안됨


'프로그래밍 > PHP' 카테고리의 다른 글

angularJS 사용하기  (0) 2018.04.01
json 데이타 사용하기  (0) 2018.03.28
Cookie 사용하기  (0) 2018.03.18
Session 사용하기  (0) 2018.03.17
반응형 웹개발 admin 페이지 step1  (0) 2018.03.04
PHP Programming 해보기  (0) 2018.03.02

php Session 에 대해서 알아보자.


샘플이 되는 디자인은

https://startbootstrap.com/template-overviews/sb-admin/
를 이용하고 있습니다.



 

로그인페이지

login.html , 세션만들기 위한 front page

 

<form action="sessionstep1.php" method="POST">

          <div class="form-group">

            <label for="exampleInputEmail1">Email address</label>

            <input class="form-control" name="exampleInputEmail1" id="exampleInputEmail1" type="email" aria-describedby="emailHelp" placeholder="Enter email">

          </div>

          <div class="form-group">

            <label for="exampleInputPassword1">Password</label>

            <input class="form-control" name="exampleInputPassword1"  id="exampleInputPassword1" type="password" placeholder="Password">

          </div>

          <div class="form-group">

            <div class="form-check">

              <label class="form-check-label">

                <input class="form-check-input" type="checkbox"> Remember Password</label>

            </div>

          </div>

          <!--<a class="btn btn-primary btn-block" href="index.html">Login</a>-->

          <input type="submit" class="btn btn-primary btn-block" value="Login" />

        </form>

 

Session을 쓰는 페이지의 공통요소 session저장소, 유효시간설정등을 정의하는 페이지

includeSession.php 공통함수로 정의함 세션사용하는 페이지에서 include로 사용함.

 

<?php

// 쿠키를 적용하는 웹페이지에서 p3p 규약을 허용하는 HTTP 헤더를 추가하는 방법

header('P3P: CP="ALL CURa ADMa DEVa TAIa OUR BUS IND PHY ONL UNI PUR FIN COM NAV INT DEM CNT STA POL HEA PRE LOC OTC"');

// 세션 파일을 저장할 경로 설정. 설정하지 않으면 php.ini 기본 경로에 저장.

ini_set('session.save_path',$_SERVER['DOCUMENT_ROOT']."/writtenSession");

// 세션ID 저장한 쿠키의 유효 시간 설정. 설정하지 않거나 0으로 설정하면 브라우저가 종료되면 쿠키는 파기.

ini_set('session.cookie_lifetime', 0) ;

// 세션파기 유효 시간 설정. (초단위)

ini_set('session.gc_maxlifetime', 1440);

// 서버에 저장된 세션 ID 활성화 시간.(분단위)

ini_set('session.cache_expire', 180);

// 세션 시작

session_start();

?>

 

 

sessionstep1.php

login.html page에서 post된 데이터를 이용 세션에 담기

 

<?php

include("includeSession.php");

?>

 

<?php

echo "var_dump:<br>";

var_dump($_POST);

?>

 

<?php

 

if (isset($_POST) && sizeof($_POST) > 0) {

 

    $snEmail =  $_POST['exampleInputEmail1'];

    $snId = "doitforyou";

    $snGroup = "MASTER";

    echo "<br/><br/>";

    echo "세션 ID : ".session_id();

    echo "<br/>";

    echo "<br/>저장할 이메일 : ".$snEmail;

    echo "<br/>저장할 ID : ".$snId;

    echo "<br/>저장할 그룹 : ".$snGroup;

      

   

    // 세션에 저장

    $_SESSION['snEmail'] = $snEmail;

    $_SESSION['snId'] = $snId;

    $_SESSION['snGroup'] = $snGroup;

   

    echo "<br>세션생성완료";

 

    //exit;

}

 

?>

 

<pre>

go to the next, sessionStep2 => <a href="./sessionstep2.php">CLICK</a>

</pre>

 

 

sessionstep2.php

세션에 저장된 데이터를 확인함.

<?php

include("includeSession.php");

echo "세션 ID : ".session_id();

echo "<br/>";

 

if(isset($_SESSION['snEmail']))

{

    echo "<br/>저장된 snEmail : ".$_SESSION['snEmail'];

    echo "<br/>저장된 snId : ".$_SESSION['snId'];

    echo "<br/>저장된 snGroup : ".$_SESSION['snGroup'];

}

else

{

    echo "<br/>저장된 email 존재하지 않습니다.";

}

?>

 

<pre>

go to the next, logout => <a href="./logout.php">CLICK</a>

</pre>

 

 


테스트 페이지 순서  login.html > sessionstep1.php > sessionstep2.php

적용페이지 : http://doitforyou.co.kr/admin/login.html





refer to : http://itsaessak.tistory.com/m/181  |   http://extbrain.tistory.com/m/67  |   http://egloos.zum.com/indirock/v/1497640




'프로그래밍 > PHP' 카테고리의 다른 글

angularJS 사용하기  (0) 2018.04.01
json 데이타 사용하기  (0) 2018.03.28
Cookie 사용하기  (0) 2018.03.18
Session 사용하기  (0) 2018.03.17
반응형 웹개발 admin 페이지 step1  (0) 2018.03.04
PHP Programming 해보기  (0) 2018.03.02

반응형 웹개발 admin 페이지를 만들어 보려고 합니다.

몇 step 에서 끝날지는 모르겠습니다.

한번 해보죠.


php로 진행합니다. php는 초보지요. 이 것 왜 만들까요?

개인 연습용인데 오픈해도 될것 같아 만듭니다.

최종은 쇼핑몰입니다. 그래서 어드민 페이지 먼저 만들어요.

posting되는 글 보시고 코멘트 주시면 감사하겠습니다.



반응형 웹개발을 위해서

bootstrap디자인을 활용함.

먼저 어드민 page개발을 진행.

admin페이지는 폐쇄형 페이지로 해당 페이지들을 개발해보면서

php css를 좀 더 알게되 길

           to-do :

-     

-      쿠키

-      Paging

-      파일 업로드

 

Bootstrap free 디자인 구글링 :

https://www.google.co.kr/search?dcr=0&ei=0qObWoXXIce58QXNjK2oCA&q=bootstrap+free&oq=bootstrap+free&gs_l=psy-ab.3...27576.28308.0.29482.0.0.0.0.0.0.0.0..0.0....0...1.1.64.psy-ab..0.0.0....0.TL9d8eXHbl4

 

Template 다운로드 MIT라이센스 개인이 수정 후 배포 가능함.

3개 다운로드 함.

 

https://startbootstrap.com/template-overviews/sb-admin-2/

https://startbootstrap.com/template-overviews/sb-admin/

https://www.creative-tim.com/product/light-bootstrap-dashboard

 

 

압축풀고 해당 위치에 복사해 놓고 url로 직접 화면을 본다.




http://localhost/admin1/

http://localhost/admin2/pages/index.html

http://localhost/admin3/examples/dashboard.html

 

 

3개 템플릿 분석)

무료라 템플릿 페이지가 별게 없음. ㅋㅋ

 

디자인

분류

내용

상세

admin2

page

login

 

Dashboard

접속통계

Chart

 

Notification Panel

코멘트

메지지

서버 crash정보

신규order정보

대금 알림정보

Chat 내용

chat기능임

기능

메뉴 레벨링

 

UI Elements

 

admin1

page

login

 

Register an Account

 

Reset Password

 

Dashboard

 

Chart

 

기능

네비게이션 바 컨트롤

 

메뉴 레벨링

 

admin3

page

Dashboard

디자인은
admin1/2
보다 깔끔

User Profile

Table List

Notification Panel

 

어느 걸 할지 같이 조합해서 해볼지는 다음 posting에서

 

이제 할건 

Admin1,2,3은 호스팅 사이트에 올려놓고

Pc 웹브라우저로 1차 모니터링

모바일 브라우저로 2차 모니터링 진행.


'프로그래밍 > PHP' 카테고리의 다른 글

angularJS 사용하기  (0) 2018.04.01
json 데이타 사용하기  (0) 2018.03.28
Cookie 사용하기  (0) 2018.03.18
Session 사용하기  (0) 2018.03.17
반응형 웹개발 admin 페이지 step1  (0) 2018.03.04
PHP Programming 해보기  (0) 2018.03.02

+ Recent posts