2013-12-19 27 views
0

好的,標題沒有描述問題,但這裏是我的形式在函數中。如何通過函數傳遞幾個發佈的值

function register(){ 
    echo " 
    <input type='text' name='username' value='' /> 
    <input type='text' name='email' value='' /> 
    <input type='text' name='lastname' value='' /> 
    "; 
} 

這裏,是我想要的:如果用戶提交表單,我希望輸入保持值而不是輸入爲空。但是,如果表單是函數裏面,我可以做這樣的事情

echo "<input type='text' name='username' value='".if(isset($_POST['username'])){echo $_POST['username']}."' />" 

,但由於這是一個函數裏面,有一個以上的投入,我想找到一種方法,保持輸入,並通過他們通過論證像

echo register($submittedArguments) 

回答

1

因爲,$_POST是一個全局變量,您可以在函數內部直接使用它。

因此,你可以做這樣的事情:

function register(){ 
    echo " 
    <input type='text' name='username' value='".if(isset($_POST['username'])){echo $_POST['username']}."' /> 
    <input type='text' name='email' value='".if(isset($_POST['email'])){echo $_POST['email']}."' /> 
    <input type='text' name='lastname' value='".if(isset($_POST['lastname'])){echo $_POST['lastname']}."' /> 
    "; 
} 

如果專門希望變量傳遞給你的函數,你可以這樣做:

// the following will create variables based on the key names of the $_POST array. 
// this means, $_POST['username'] = "me", will create a variable $username = "me" 
// beware that this can create unwanted variables and behaviour 
extract($_POST); 

// otherwise, you can manually assign variables one by one, like this: 
// $username = $_POST['username'] 
// .. and so on.. 

function register($username = "", $email = "", $lastname = ""){ 
    echo " 
    <input type='text' name='username' value='".echo $username."' /> 
    <input type='text' name='email' value='".echo $email."' /> 
    <input type='text' name='lastname' value='".echo $lastname."' /> 
    "; 
} 
+0

我可以用它。但是,我只想傳遞變量......並只在表單'value'中插入這些變量; – ANW

+0

更新了答案:) – Stoic