Skip to content
조회 수 73 추천 수 0 댓글 0


Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄


Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

I am running a PHP script, and keep getting errors like:

Notice: Undefined variable: my_variable_name in C:\wamp\www\mypath\index.php on line 10

Notice: Undefined index: my_index C:\wamp\www\mypath\index.php on line 11

Line 10 and 11 looks like this:

echo "My variable value is: " . $my_variable_name;
echo "My index value is: " . $my_array["my_index"];

What do these errors mean?

Why do they appear all of a sudden? I used to use this script for years and I've never had any problem.

What do I need to do to fix them?

This is a General Reference question for people to link to as duplicate, instead of having to explain the issue over and over again. I feel this is necessary because most real-world answers on this issue are very specific.

Related Meta discussion:

share|improve this question
the variable might not have been initialized. Are you initializing the variable from a post or get or any array? If that's the case you might not have an field in that array. That your accessing. – ASK Dec 15 '15 at 13:12
@ChrisJJ, Robbie's answer explains this very well. – Leith Nov 24 '16 at 7:29
@Pekka웃 - I noticed the edit adding the "and "Notice: Undefined offset"" - Wouldn't it make more sense using "PHP: “Undefined variable”, “Undefined index”, “Undefined offset” notices" (even take out the PHP, since it is tagged as "php". Plus, the URL gets cut off at and-notice-undef, just a suggestion so that the URL doesn't get cut off. Maybe even removing the (too many) quotes. Or PHP: “Undefined variable/index/offset” notices – Fred -ii- Jan 20 at 15:24
@Fred I guess an argument can be made for both variations. THere's a chance that newbies will enter the entire line, including the "Notice:" into their search query, which I'm sure is the main traffic generator for this question. If the messages are there in full, that's likely to improve visibility in search engines – Pekka 웃 Jan 20 at 15:34

19 Answers 19

up vote660down voteaccepted

Notice: Undefined variable

From the vast wisdom of the PHP Manual:

Relying on the default value of an uninitialized variable is problematic in the case of including one file into another which uses the same variable name. It is also a major security risk with register_globals turned on. E_NOTICE level error is issued in case of working with uninitialized variables, however not in the case of appending elements to the uninitialized array. isset() language construct can be used to detect if a variable has been already initialized. Additionally and more ideal is the solution of empty() since it does not generate a warning or error message if the variable is not initialized.

From PHP documentation,

  • No warning is generated if the variable does not exist. That means empty() is essentially the concise equivalent to !isset($var) || $var == false.
  • This means that you could use only empty() to determine if the variable is set, and in addition it checks the variable against the following, 0,"",null.
$o = [];
$var = ["",0,null,1,2,3,$foo,$o['myIndex']];
if(!isset($v) || $v == false) {
echo "empty\n";
if(empty($v)) {
echo "empty\n";

Test the above snippet in PHP Sandbox

Although PHP does not require variable declaration, it does recommend it in order to avoid some security vulnerabilities or bugs where one would forget to give a value to a variable that he will use later in the script. What PHP does in the case of undeclared variables is issue a very low level error, E_NOTICE, one that is not even reported by default, but the Manual advises to allow during development.

Ways to deal with the issue:

  1. Recommended: Declare your variables, for example when you try to append a string to an undefined variable. Or use isset() / !empty() to check if they are declared before referencing them, as in:

    //Initializing variable
    $value = ""; //Initialization value; Examples
                 //"" When you want to append stuff later
                 //0  When you want to add numbers later
    $value = isset($_POST['value']) ? $_POST['value'] : '';
    $value = !empty($_POST['value']) ? $_POST['value'] : '';

    This has become much cleaner as of PHP 7.0, now you can use the null coalesce operator:

    // Null coalesce operator - No need to explicitly initialize the variable.
    $value = $_POST['value'] ?? '';
  2. Set a custom error handler for E_NOTICE and redirect the messages away from the standard output (maybe to a log file):

    set_error_handler('myHandlerForMinorErrors', E_NOTICE | E_STRICT)
  3. Disable E_NOTICE from reporting. A quick way to exclude just E_NOTICE is:

    error_reporting( error_reporting() & ~E_NOTICE )
  4. Suppress the error with the @ operator.

Note: It's strongly recommended to implement just point 1.

Notice: Undefined index / Undefined offset

This notice appears when you (or PHP) try to access an undefined index of an array.

Ways to deal with the issue:

  1. Check if the index exists before you access it. For this you can use isset() or array_key_exists():

    $value = isset($array['my_index']) ? $array['my_index'] : '';
    $value = array_key_exists('my_index', $array) ? $array['my_index'] : '';
  2. The language construct list() may generate this when it attempts to access an array index that does not exist:

    list($a, $b) = array(0 => 'a');
    list($one, $two) = explode(',', 'test string');

Two variables are used to access two array elements, however there is only one array element, index 0, so this will generate:

Notice: Undefined offset: 1

$_POST / $_GET / $_SESSION variable

The notices above appear often when working with $_POST, $_GET or $_SESSION. For $_POST and $_GET you just have to check if the index exists or not before you use them. For $_SESSION you have to make sure you have the session started with session_start() and that the index also exists.

Also note that all 3 variables are superglobals. This means they need to be written in uppercase.


share|improve this answer
@dieselpower44 A couple of thoughts: The "shut-up operator" (@) has some performance issues. Also, since it suppresses all errors within a particular scope, using it without care might mask messages you wish you'd seen. – IMSoP Oct 24 '13 at 20:00
Hiding the issues is NOT the way to deal with issues. Items #2...#4 can be used only on production servers, not in general. – Salman A Sep 13 '14 at 8:09
Is it possible to shut-up the message inline (not in handler) when also a custom error handler is used? $var = @$_GET['nonexisting']; still causes notice.. – Alph.Dev Oct 11 '14 at 14:14
Why is it recommended to use 1. $value = isset($_POST['value']) ? $_POST['value'] : ''; instead of using 4. $value = @$_POST['value'];? – forsvunnet Feb 9 '15 at 13:38
@twistedpixel Those 4 ways are independent, that's not a 4-step guide. So if you've chosen to use way 4, that means you didn't implement first 3 ways, so you you didn't supress any errors yet. – Aycan Yaşıt Aug 6 '15 at 9:58

Try these

Q1: this notice means $varname is not defined at current scope of the script.

Q2: Use of isset(), empty() conditions before using any suspicious variable works well.

// recommended solution
$user_name = $_SESSION['user_name'];
if (empty($user_name)) $user_name = '';


// just define at the top of the script index.php
$user_name = ''; 
$user_name = $_SESSION['user_name'];


$user_name = $_SESSION['user_name'];
if (!isset($user_name)) $user_name = '';

QUICK Solution:

// not the best solution, but works
// in your php setting use, it helps hiding site wide notices
error_reporting(E_ALL ^ E_NOTICE);

Note about sessions:

share|improve this answer
empty() does it for me. – AceMark Oct 14 '12 at 3:03
If using E_NOTICE from the php.ini configuration file, do error_reporting = (E_ALL & ~E_NOTICE) – ahmd0 Oct 4 '14 at 5:39
This is exactly the wrong use of empty or isset. You're checking for variables you have already defined. You should check empty($_SESSION['user_name']), and not after the fact. – deceze Jul 17 '15 at 15:36
I concur with @deceze - the first bit of code produces Undefined index: user_name. It beggars belief how this has 66 upvotes. – rybo111 Sep 28 '16 at 14:44

A (often discouraged) alternative is the error suppression operator @. It is a specific language construct to shut down undesired notices and warnings, but should be used with care.

First, it incurs a microperformance penalty over using isset. That's not measurable in real world applications, but should be considered in data heavy iterations. Secondly it might obstruct debugging, but at the same time suppressed errors are in fact passed on to custom error handlers (unlike isset decorated expressions).

share|improve this answer
If you are curious what is the performance impact, this article summarises it well, derickrethans.nl/…. – Gajus Feb 11 '14 at 12:24
@GajusKuizinas There have been quoite a few changes since 2009, in particular php.net/ChangeLog-5.php#5.4.0 changes the outcome drastically (see "Zend Engine, performance" and "(silence) operator"). – mario Feb 11 '14 at 12:37
Thanks @mario, interesting. Now, if someone was good enough to benchmark the two... 3v4l.org/CYVOn/perf#tabs 3v4l.org/FLp3D/perf#tabs According to this test, seem to be identical (notice that scale changes). – Gajus Feb 11 '14 at 16:30
I tested with PHP 5.4 and the performance still bad. – Brynner Ferreira Oct 3 '14 at 17:43

It means you are testing, evaluating, or printing a variable that you have not yet assigned anything to. It means you either have a typo, or you need to check that the variable was initialized to something first. Check your logic paths, it may be set in one path but not in another.

share|improve this answer

Generally because of "bad programming", and a possibility for mistakes now or later.

  1. If it's a mistake, make a proper assignment to the variable first: $varname=0;
  2. If it really is only defined sometimes, test for it: if (isset($varname)) .... before using it
  3. If it's because you spelled it wrong, just correct that
  4. Maybe even turn of the warnings in you PHP-settings
share|improve this answer
Please don't turn warnings off. In stricter languages, they often mean "there might be a bug, you better check this line twice" - in a language as permissive as PHP, they often means "this code is crap and propably riddled with bugs; I'll try to make some sense of it but you better fix this ASAP". – delnan Nov 23 '10 at 21:37
Although I agree with the first three points, #4 is simply wrong. Hiding a problem won't make it go away, and it might even cause more problems down the road. – Valentin Flachsel Nov 23 '10 at 21:38
@Freek absolutely true, but in some scenarios (Bought script, zero technical knowledge, need it running by tomorrow...) it's the duct-tape solution - really bad, that always needs emphasizing, but an option – Pekka 웃 Nov 23 '10 at 21:40
Duct-tape is good ... sometimes. Historically warnings have been turned of in standard PHP-settings, but defult settings have become more strict. Too bad many go back to the old settings, so as not to annoy the customers. – Erik Nov 23 '10 at 22:26

I didn't want to disable notice because it's helpful, but wanted to avoid too much typing.

My solution was this function:

function ifexists($varname)

So if I want to reference to $name and echo if exists, I simply write:


For array elements:

function ifexistsidx($var,$index)

In page if I want to refer to $_REQUEST['name']:

share|improve this answer
Your ifexists() function doesn't work for me in PHP 5.3. The caller's variables are not available in the function's local scope (see Variable scope), unless they are Superglobals or you fiddle with $GLOBALS, so $foo = "BABAR"; ifexists('foo'); will in general return null. (Italics are php.net chapters.) – skierpage Jun 19 '12 at 22:14
now you will get "hello from"... what's the point? just check the value if( !empty($user) and !empty($location) ) echo "hello $user ..." – gcb Jul 9 '13 at 5:31

Its because the variable '$user_location' is not getting defined. If you are using any if loop inside which you are declaring the '$user_location' variable then you must also have an else loop and define the same. For example:

if($a==5) { $user_location='Paris';} else { }
echo $user_location;

The above code will create error as The if loop is not satisfied and in the else loop '$user_location' was not defined. Still PHP was asked to echo out the variable. So to modify the code you must do the following:

if($a==5) { $user_location='Paris';} else { $user_location='SOMETHING OR BLANK'; }
echo $user_location;
share|improve this answer

The best way for getting input string is:

$value = filter_input(INPUT_POST, 'value');

This one-liner is almost equivalent to:

if (!isset($_POST['value'])) {
    $value = null;
} elseif (is_array($_POST['value'])) {
    $value = false;
} else {
    $value = $_POST['value'];

If you absolutely want string value, just like:

$value = (string)filter_input(INPUT_POST, 'value');
share|improve this answer

In reply to ""Why do they appear all of a sudden? I used to use this script for years and I've never had any problem."

It is very common for most sites to operate under the "default" error reporting of "Show all errors, but not 'notices' and 'deprecated'". This will be set in php.ini and apply to all sites on the server. This means that those "notices" used in the examples will be suppressed (hidden) while other errors, considered more critical, will be shown/recorded.

The other critical setting is the errors can be hidden (i.e. display_errors set to "off" or "syslog").

What will have happened in this case is that either the error_reporting was changed to also show notices (as per examples) and/or that the settings were changed to display_errors on screen (as opposed to suppressing them/logging them).

Why have they changed?

The obvious/simplest answer is that someone adjusted either of these settings in php.ini, or an upgraded version of PHP is now using a different php.ini from before. That's the first place to look.

However it is also possible to override these settings in

  • .htconf (webserver configuration, including vhosts and sub-configurations)*
  • .htaccess
  • in php code itself

and any of these could also have been changed.

There is also the added complication that the web server configuration can enable/disable .htaccess directives, so if you have directives in .htaccess that suddenly start/stop working then you need to check for that.

(.htconf / .htaccess assume you're running as apache. If running command line this won't apply; if running IIS or other webserver then you'll need to check those configs accordingly)


  • Check error_reporting and display_errors php directives in php.ini has not changed, or that you're not using a different php.ini from before.
  • Check error_reporting and display_errors php directives in .htconf (or vhosts etc) have not changed
  • Check error_reporting and display_errors php directives in .htaccess have not changed
  • If you have directive in .htaccess, check if they are still permitted in the .htconf file
  • Finally check your code; possibly an unrelated library; to see if error_reporting and display_errors php directives have been set there.
share|improve this answer

I used to curse this error, but it can be helpful to remind you to escape user input.

For instance, if you thought this was clever, shorthand code:

// Echo whatever the hell this is

...Think again! A better solution is:

// If this is set, echo a filtered version
<?=isset($_POST['something']) ? html($_POST['something']) : ''?>

(I use a custom html() function to escape characters, your mileage may vary)

share|improve this answer

the quick fix is to assign your variable to null at the top of your code

$user_location = null;
share|improve this answer

In a very Simple Language.
The mistake is you are using a variable $user_location which is not defined by you earlier and it doesn't have any value So I recommend you to please declare this variable before using it, For Example:

$user_location = '';
$user_location = 'Los Angles';
This is a very common error you can face.So don't worry just declare the variable and Enjoy Coding.


share|improve this answer

I use all time own useful function exst() which automatically declare variables.

Your code will be -

$greeting = "Hello, ".exst($user_name, 'Visitor')." from ".exst($user_location);

 * Function exst() - Checks if the variable has been set 
 * (copy/paste it in any place of your code)
 * If the variable is set and not empty returns the variable (no transformation)
 * If the variable is not set or empty, returns the $default value
 * @param  mixed $var
 * @param  mixed $default
 * @return mixed 

function exst( & $var, $default = "")
    $t = "";
    if ( !isset($var)  || !$var ) {
        if (isset($default) && $default != "") $t = $default;
    else  {  
        $t = $var;
    if (is_string($t)) $t = trim($t);
    return $t;
share|improve this answer

In PHP 7.0 it's now possible to use Null coalescing operator:

echo "My index value is: " . ($my_array["my_index"] ?? '');

Equals to:

echo "My index value is: " . (isset($my_array["my_index"]) ? $my_array["my_index"] : '');

PHP manual PHP 7.0

share|improve this answer

why not keep things simple?

error_reporting(E_ALL); // making sure all notices are on

function idxVal(&$var, $default = null) {
         return empty($var) ? $var = $default : $var;

echo idxVal($arr['test']);         // returns null without any notice
echo idxVal($arr['hey ho'], 'yo'); // returns yo and assigns it to array index, nice

share|improve this answer


Over time, PHP has become a more security-focused language. Settings which used to be turned off by default are now turned on by default. A perfect example of this is E_STRICT, which became turned on by default as of PHP 5.4.0.

Furthermore, according to PHP documentation, by defualt, E_NOTICE is disabled in php.ini. PHP docs recommend turning it on for debugging purposes. However, when I download PHP from the Ubuntu repository–and from BitNami's Windows stack–I see something else.

; Common Values:
;   E_ALL (Show all errors, warnings and notices including coding standards.)
;   E_ALL & ~E_NOTICE  (Show all errors, except for notices)
;   E_ALL & ~E_NOTICE & ~E_STRICT  (Show all errors, except for notices and coding standards warnings.)
; Default Value: E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED
; Development Value: E_ALL
; Production Value: E_ALL & ~E_DEPRECATED & ~E_STRICT
; http://php.net/error-reporting
error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT

Notice that error_reporting is actually set to the production value by default, not to the "default" value by default. This is somewhat confusing and is not documented outside of php.ini, so I have not validated this on other distributions.

To answer your question, however, this error pops up now when it did not pop up before because:

  1. You installed PHP and the new default settings are somewhat poorly documented, but do not exclude E_NOTICE.

  2. E_NOTICE warnings like undefined variables and undefined indexes actually help to make your code cleaner and safer. I can tell you that, years ago, keeping E_NOTICE enabled forced me to declare my variables. It made it a LOT easier to learn C, where not declaring variables is much bigger of a nuisance.


  1. Turn off E_NOTICE by copying the "Default value" E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED and replacing it with what is currently uncommented after the equals sign in error_reporting =. Restart Apache, or PHP if using CGI or FPM. Make sure you are editing the "right" php.ini. The correct one will be Apache if you are running PHP with Apache, fpm or php-fpm if running PHP-FPM, cgi if running PHP-CGI, etc. This is not the recommended method, but if you have legacy code that's going to be exceedingly difficult to edit, then it might be your best bet.

  2. Turn off E_NOTICE on the file or folder level. This might be preferable if you have some legacy code but want to do things the "right" way otherwise. To do this, you should consult Apache2, nginx, or whatever your server of choice is. In Apache, you would use php_value inside of <Directory>.

  3. Rewrite your code to be cleaner. If you need to do this while moving to a production environment, or don't want someone to see your errors, make sure you are disabling any display of errors, and only logging your errors (see display_errors and log_errors in php.ini and your server settings).

To expand on option 3: This is the ideal. If you can go this route, you should. If you are not going this route initially, consider moving this route eventually by testing your code in a development environment. While you're at it, get rid of ~E_STRICT and ~E_DEPRECATED to see what might go wrong in the future. You're going to see a LOT of unfamiliar errors, but it's going to stop you from having any unpleasant problems when you need to upgrade PHP in the future.


Undefined variable: my_variable_name - This occurs when a variable has not been defined before use. When the PHP script is executed, it internally just assumes a null value. However, in which scenario would you need to check a variable before it was defined? Ultimately, this is an argument for "sloppy code". As a developer, I can tell you that I love it when I see an open source project where variables are defined as high up in their scopes as they can be defined. It makes it easier to tell what variables are going to pop up in the future, and makes it easier to read/learn the code.

function foo()
    $my_variable_name = '';


    if ($my_variable_name) {
        // perform some logic

Undefined index: my_index - This occurs when you try to access a value in an array and it does not exist. To prevent this error, perform a conditional check.

// verbose way - generally better
if (isset($my_array['my_index'])) {
    echo "My index value is: " . $my_array['my_index'];

// non-verbose ternary example - I use this sometimes for small rules.
$my_index_val = isset($my_array['my_index'])?$my_array['my_index']:'(undefined)';
echo "My index value is: " . $my_index_val;   

Another option is to declare an empty array at the top of your function. This is not always possible.

$my_array = array(
    'my_index' => ''


$my_array['my_index'] = 'new string';

(additional tip)

  • When I was encountering these and other issues, I used NetBeans IDE (free) and it gave me a host of warnings and notices. Some of them offer very helpful tips. This is not a requirement, and I don't use IDEs anymore except for large projects. I'm more of a vim person these days :).
share|improve this answer

undefined index means in an array you requested for unavailable array index for example



$newArray[] = {1,2,3,4,5};



undefined variable means you have used completely not existing variable or which is not defined or initialized by that name for example


<?php print_r($myvar); ?>


undefined offset means in array you have asked for non existing key. And the solution for this is to check before use


php> echo array_key_exists(1, $myarray);


share|improve this answer

Regarding this part of the question:

Why do they appear all of a sudden? I used to use this script for years and I've never had any problem.

No definite answers but here are a some possible explanations of why settings can 'suddenly' change:

  1. You have upgraded PHP to a newer version which can have other defaults for error_reporting, display_errors or other relevant settings.

  2. You have removed or introduced some code (possibly in a dependency) that sets relevant settings at runtime using ini_set() or error_reporting() (search for these in the code)

  3. You changed the webserver configuration (assuming apache here): .htaccess files and vhost configurations can also manipulate php settings.

  4. Usually notices don't get displayed / reported (see PHP manual) so it is possible that when setting up the server, the php.ini file could not be loaded for some reason (file permissions??) and you were on the default settings. Later on, the 'bug' has been solved (by accident) and now it CAN load the correct php.ini file with the error_reporting set to show notices.

share|improve this answer
echo "My variable value is: " . (isset($my_variable_name)) ? $my_variable_name : '';
echo "My index value is: " . (isset($my_array["my_index"])) ? $my_array["my_index"] : '';

echo "My variable value is: " . (isset($my_variable_name) && !empty($my_variable_name)) ? $my_variable_name : '';
echo "My index value is: " . (isset($my_array["my_index"]) && !empty($my_array["my_index"])) ? $my_array["my_index"] : '';
share|improve this answer

protected by Madara Uchiha Dec 9 '12 at 12:00

Thank you for your interest in this question. Because it has attracted low-quality or spam answers that had to be removed, posting an answer now requires 10 reputation on this site (the association bonus does not count).

Would you like to answer one of these unanswered questions instead?

Not the answer you're looking for? Browse other questions tagged or ask your own question.


출처 : http://stackoverflow.com/questions/4261133/php-notice-undefined-variable-notice-undefined-index-and-notice-undef


공부 게시판

공부에 도움되는 글을 올려주세요.

List of Articles
번호 분류 제목 글쓴이 날짜 조회 수
공지 [공지] 공부 게시판 입니다. 처누 2003.08.17 828881
2412 하드웨어 재미로보는 파워 등급표 - 무림편 V.1.1 (수정) file JaeSoo 2017.06.15 124
2411 데이터베이스 TEMP TABLESPACE 사용현황 조회하기 JaeSoo 2017.06.14 37
2410 데이터베이스 오라클 DB sysdba 접속방법 JaeSoo 2017.06.14 172
2409 데이터베이스 쿼리의 응답속도가 갑자기 느려지는 경우 file JaeSoo 2017.06.14 37
2408 데이터베이스 ORACLE TRACE 기능으로 인한 CONNECT 지연 문제(EPC_DISABLED) JaeSoo 2017.06.14 430
2407 데이터베이스 Oracle 전용서버(Dedicated Server) VS 공유서버(Multi Thread Server) JaeSoo 2017.06.14 28
2406 취미 왕초보를 위한 XBOX 360 글리치 매뉴얼 JaeSoo 2017.06.14 716
2405 유닉스/리눅스 AIX 5.3 TL07이상에서 MD5 패스워드 사용하기 JaeSoo 2017.06.13 38
2404 윈도우즈 "ReadyBoot" 세션의 최대 파일 크기에 도달했습니다. file JaeSoo 2017.06.12 88
2403 윈도우즈 이벤트 뷰어 시스템 오류 해결 문의입니다. (DistributedCOM, 이벤트ID 10016) file JaeSoo 2017.06.12 125
2402 하드웨어 Synology NAS RMA후기~ file JaeSoo 2017.06.10 105
2401 유닉스/리눅스 리눅스(linux) hostname 변경하는 방법 (CentOS 6, 7) JaeSoo 2017.06.02 40
2400 유닉스/리눅스 CentOS 멀티 IP 설정 방법 file JaeSoo 2017.06.02 43
2399 유닉스/리눅스 [CentOS] IP설정 ifconfig , ifcfg-eth0 설정하기 file JaeSoo 2017.06.02 58
2398 경제 [손가락장해]로 후유장해보험금 제대로 받기 file JaeSoo 2017.05.19 374
2397 건강 오른손 검지 두마디가 없습니다. 장애등급이 얼마나 나올 수 있는건지요? JaeSoo 2017.05.19 150
2396 유닉스/리눅스 centos 7 방화벽 해제- firewalld down JaeSoo 2017.05.12 98
2395 유닉스/리눅스 CentOS7 방화벽 관리하기 (firewalld) JaeSoo 2017.05.12 34
» 웹 프로그래밍 PHP: “Notice: Undefined variable”, “Notice: Undefined index”, and “Notice: Undefined offset” JaeSoo 2017.05.04 73
2393 소프트웨어 Iaas, Paas, SaaS, HaaS, BaaS 개념 file JaeSoo 2017.05.04 22
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 125 Next
/ 125

Recent Articles


■ 즐겨찾기 - 가족
JAESOO's HOMEPAGE YOUNGAE's HOMEPAGE 장여은 홈페이지 장여희 홈페이지 장여원 홈페이지

■ 즐겨찾기 - 업무
알리카페 홀릭 숭실대 컴퓨터 통신연구실 (서창진) 말레이시아 KL Sentral 한국인 GuestHouse

■ 즐겨찾기 - 취미
어드민아이디 유에코 사랑회 아스가르드 좋은사람/나쁜사람 JServer.kr 제이서버 메타블로그 재수 티스토리

■ 즐겨찾기 - 강의, 커뮤니티
재수 강의 홈페이지 한소리 VTMODE.COM 숭실대 인공지능학과 숭실대 통신연구실

PageViews   Today : 692   Yesterday : 2,544   Total : 61,841,825  /  Counter Status   Today : 212   Yesterday : 972   Total : 3,482,228
Site Info   Member : 1,419  /  Total documents : 7,389   New documents : 12  /  Total comments : 529

design by by JAESOO.com

sketchbook5, 스케치북5

sketchbook5, 스케치북5

나눔글꼴 설치 안내

이 PC에는 나눔글꼴이 설치되어 있지 않습니다.

이 사이트를 나눔글꼴로 보기 위해서는
나눔글꼴을 설치해야 합니다.

설치 취소