php如何将字符串/变量传递给函数?

时间:2011-05-09 17:12:33

标签: php function

我有一个名为function.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的文件,其中包含一个表单。

如何将该表单中的值传递给该函数?

我正在寻找关于如何将字符串/变量传递给函数的一些通用答案。

由于

3 个答案:

答案 0 :(得分:1)

以这种方式调用您的函数:

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

另外:将声明更改为:

public function issue_challenge($formValue) {

...function contents...

}

答案 1 :(得分:1)

增加值的通用答案:

  

function inc($ x){

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

}

     

function main(){

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

}

答案 2 :(得分: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;                    
            }
}