2011-05-09 135 views
1

我有一個名爲function.php文件具有這樣的功能:php如何將字符串/變量傳遞給函數?

public function issue_challenge() 
{ 
    $conn= fns_connect(13); 
    mysql_select_db("et_games",$conn); 
    $sql = "insert into challengers (challenger,defender,stake,matching_game_id) values (".$this->talentnum_self.",".$this->talentnum_other.",".$this->stake.",'".$this->matching_str()."')"; 
    $result = mysql_query($sql); 
    echo $sql; mysql_error(); 

    if($result){ 
     echo "ok.\n";return true;     
    }else{ 
     return false;      
    } 
} 

並具有一種形式,它的另一個文件名爲test.php的。

如何將該表單中的值傳遞給該函數?

我正在尋找關於如何將字符串/變量傳遞給函數的一些通用答案。

感謝

+0

'使用functionName( '我是一個字符串');'傳遞一個字符串,'使用functionName($ iAmAVariable);'傳遞變量 – Zirak 2011-05-09 17:14:34

回答

1

調用你的函數是這樣的:

if(isset($_GET['form_name'])) { 
    $val = $_GET['form_name']; 
    public function issue_challenge($val); 
} 

另外:更改聲明:

public function issue_challenge($formValue) { 

...function contents... 

} 
1

通用的答案是遞增值:

功能公司($ x){

echo "x = " . $x; 
$x++; 
return $x; 

}

函數main(){

$x = '1'; 
$y = $this->inc($x); 
echo $y; 

}

1

確保表單提交調用函數,然後抓住從POST數組的值。如果使用php框架,這會更容易,許多人會爲您提供清理輸入的方法。在這種情況下,因爲您可能使用db查詢的輸入,您將需要確保它已正確轉義以避免sql注入。

PHP manaul for mysql_real_escape_string

<form action="issue_challenge" method="POST"> 
<input type="text" name="testInput" id="testInput"/> 
<input type="submit" name="submit" value="submit"/> 
</form> 

public function issue_challenge() { 
    $conn= fns_connect(13); 
    $inputText = $_POST['testInput'] 
mysql_select_db("et_games",$conn); 
    $sql = "insert into challengers (challenger,defender,stake,matching_game_id) values (".$this->talentnum_self.",".$this->talentnum_other.",".$this->stake.",'".$this->matching_str()."')"; 
    $result = mysql_query($sql); 
    echo $sql; mysql_error(); 
     if($result){ 
      echo "ok.\n";return true;     
      }else{ 
       return false;      
      } 
}