2014-11-22 2 views
1

PHP 함수에서 두 개의 값을 가져 와서 내 양식에 인쇄하고 싶습니다. get_prof_set()함수에서 값을 가져 와서 html 형식으로 출력하는 방법

PHP 코드 : 정확히 어떻게 내가 내 함수를 호출해야합니까

if (!isset($_SESSION)) { 

    session_start(); 
} 

function get_prof_set() { 

    $user_id = $_SESSION['user_id']; 
    $query = "SELECT user_name, user_email FROM users WHERE user_id = '{$user_id}' "; 

    $result = mysql_query($query); 

    while ($row = mysql_fetch_array($result)) { 

     $user_name = $row['user_name']; 
     $user_email = $row['user_email']; 

    } 
} 

내 양식 : 당신은 사용하기 전에 어디서든 후이 함수를 호출 문을 요구할 수

require ('includes/functions/profile_func.php'); 

    <form action="./profile.php" method="post" id="form_profile"> 

         <div> 
          <label>Name:</label> 
          <div> 
           <input id="user_name" type="text" name="user_name" value="<?php echo $user_name; ?> " /> 
           <input id="hidden_user_name" type="hidden" name="hidden_user_name" value="<?php $user_name; ?>" /> 
          </div> 
          <div > 
           <button type="submit" name="btnSave" id="btnSave">Save</button> 
          </div> 
          <div id="feedback_profile_name”> </div>        
         </div> 

         <br> 

         <div> 
          <label>Email:</label> 
          <div> 
           <input id="user_email” type="text" name="user_email” value="<?php echo $user_email; ?> " /> 
           <input id="hidden_user_email” type="hidden" name="hidden_user_email” value="<?php $user_email; ?>" /> 
          </div> 
          <div > 
           <button type="submit" name="btnSave" id="btnSave">Save</button> 
          </div> 
          <div id="feedback_profile_email”> </div>        
         </div>       
</form> 

답변

2

기능 (업데이트 return 문) :

function get_prof_set() { 

    $user_id = $_SESSION['user_id']; 
    $query = "SELECT user_name, user_email FROM users WHERE user_id = '{$user_id}' "; 

    $result = mysql_query($query); 

    while ($row = mysql_fetch_array($result)) { 

     $user_name = $row['user_name']; 
     $user_email = $row['user_email']; 

    } 
    /* UPDATE!!! */ 
    return array('name' => $user_name, 'email' => $user_email); 
} 

형태 :

<?php 
    require ('includes/functions/profile_func.php'); 
    $user = get_prof_set(); 
?> 

<form action="./profile.php" method="post" id="form_profile"> 
    <div> 
     <label>Name:</label> 
     <div> 
      <!-- Update!!! --><input id="user_name" type="text" name="user_name" value="<?php echo $user['name']; ?>" /> 
      <!-- Update!!! --><input id="hidden_user_name" type="hidden" name="hidden_user_name" value="<?php $user['name']; ?>" /> 
     </div> 
     <div > 
      <button type="submit" name="btnSave" id="btnSave">Save</button> 
     </div> 
     <div id="feedback_profile_name”> </div>        
    </div> 
    <br> 
    <div> 
     <label>Email:</label> 
     <div> 
      <!-- Update!!! --><input id="user_email” type="text" name="user_email” value="<?php echo $user['email']; ?>" /> 
      <!-- Update!!! --><input id="hidden_user_email” type="hidden" name="hidden_user_email” value="<?php $user['email']; ?>" /> 
     </div> 
     <div > 
      <button type="submit" name="btnSave" id="btnSave">Save</button> 
     </div> 
     <div id="feedback_profile_email”> </div>        
    </div>       
</form> 

당신은 아이디어, 함수 반환 배열을 얻을 바랍니다. 그럼 나중에이 배열을 사용할 수 있습니다 :).

BTW : LIMIT 1 쿼리를 사용하여 문장을 작성해야합니다 (주어진 ID를 가진 사용자가 한 명이라고 생각합니다). 안전을 위해서.

BTW2 :이 함수를 한 번 사용하면 (데이터베이스에 연결될 때)이 함수를 사용하고 변수의 사용자를 기억한 다음 에코 만 사용하는 것이 좋습니다. 또 다른 대답은 정확하지만,이 함수를 몇 번 사용하면 올바르지 않다고 말합니다.

As 클래스를 사용하지 않으므로이 모든 것이 기본 예제입니다. 앞으로 PDO로 전환하는 것을 잊지 마십시오 : http://php.net/manual/en/book.pdo.php.

http://php.net/manual/en/function.mysql-query.php - 빨간색 상자에주의하십시오.

+0

정말 고마워요. 이걸 확인해 보겠습니다. –

+0

괜찮습니까? 내 대답이 유용하길 바랍니다.). –

+0

완벽하게 작동합니다! –

1

그 변수들.

관련 문제