我有一个名为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的文件,其中包含一个表单。
如何将该表单中的值传递给该函数?
我正在寻找关于如何将字符串/变量传递给函数的一些通用答案。
由于
答案 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;
}
}