2013-04-30 4 views
0

함수 내부에서 함수를 호출하는 방법은 무엇입니까?함수 내부에서 함수를 호출하는 방법

여기에 내가 함수 welcome_user를 호출 할 내 별도의 파일에 내 function.php

function query_user() { 

$q_user = pg_query("SELECT * FROM users WHERE username='".$_SESSION['username']."' AND  password='".$_SESSION['password']."'"); 

$r_user = pg_fetch_array($q_user, NULL, PGSQL_ASSOC); 
$user_tblrows = pg_num_rows($q_user); 

if ($user_tblrows==1) { 
    $_SESSION['firstname'] = $r_user['firstname']; 
    $_SESSION['lastname'] = $r_user['lastname']; 

    function welcome_user() { 
     echo $_SESSION['lastname'].', '.$_SESSION['firstname']; 
    } 
} 

()의

내가 어떻게 할 것인가? 나는 혼란 스럽다. 나는 이것을했고 그것이 정확하지 않다는 것을 안다.

require 'function.php'; 
welcome_user(); 
+2

나는 기능이 마음에 드는 것을 들었다. 그래서 함수를 호출하는 동안 함수를 호출 할 수 있도록 함수 안에 함수를 넣었다. –

답변

2

먼저 함수를 선언해야하지만 다른 함수에서는 선언하지 않아야합니다. 그 다음 안에 전화하면됩니다.

function welcome_user() { 
    echo $_SESSION['lastname'].', '.$_SESSION['firstname']; 
} 

function query_user() { 

$q_user = pg_query("SELECT * FROM users WHERE username='".$_SESSION['username']."' AND  password='".$_SESSION['password']."'"); 

$r_user = pg_fetch_array($q_user, NULL, PGSQL_ASSOC); 
$user_tblrows = pg_num_rows($q_user); 

if ($user_tblrows==1) { 
    $_SESSION['firstname'] = $r_user['firstname']; 
    $_SESSION['lastname'] = $r_user['lastname']; 

    welcome_user(); //function call, not definition 
} 
} 
0

이렇게하면됩니다.

query_user().welcome_user(); 
+0

여러분 께 감사드립니다! 그것은 작동합니다! – user2165184

+1

당신이 어떻게 부를 수 있는지 배웠으므로, 당신이하고 싶은 일이 정말로, 정말로, 정말로 바보 같으 실 것임을 깨닫게 될 것입니다. 그런 코드를 유지하는 것이 번거롭기 때문에 그것을하지 않을 것입니다. –

관련 문제