2014-11-22 25 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> 

希望你的想法,函數返回數組。然後你可以稍後使用這個數組:)。

順便說一句:你應該使用LIMIT 1查詢語句(我認爲只有一個用戶具有給定的ID)。只是爲了安全。

BTW2:最好一次使用此函數(因爲它連接到數據庫),記住變量中的用戶,然後僅回顯它。另一個答案也是正確的,但它說你應該使用這個函數幾次,這是不正確的。

由於你不使用類,這是一個基本的例子,所有。請記住將來切換到PDO:http://php.net/manual/en/book.pdo.php

http://php.net/manual/en/function.mysql-query.php - 注意紅框;)。

+0

非常感謝,讓我檢查一下這個.. – 2014-11-22 08:40:30

+0

好的沒問題,希望我的回答很有用;)。 – 2014-11-22 08:41:19

+0

工作完美! – 2014-11-22 08:45:06

1

你可以調用這個函數後的任何地方需要聲明和使用前其變量。

相關問題