如何将文本输入传递给php函数?

时间:2014-04-27 08:23:46

标签: php

我在php页面上有以下代码:

<form action="" method="get">
First Name:
<input type="text" name="first"/><br />
Last Name:
<input type="text" name="last"/>
<input type="submit" value="Add">
</form>

这是一个将新用户添加到sqlite数据库的表单。在另一个文件中我有这个php函数:

function addUser($firstName, $lastName) {
        $sql = "INSERT INTO USERS
            (FIRST, LAST)
            VALUES ('$firstName', '$lastName')";
    return execSQL($sql);
}

所以我想要做的是将用户在文本字段中输入的文本传递给函数(该函数已放置在全局范围内,但位于不同的文档中)。我怎么能这样做?

4 个答案:

答案 0 :(得分:1)

你的FORM方法是这样使用$ _GET。正如你在行动中提到的,你的php代码和表单应该在同一页面。

<?php

$firstname=''; // Declare your variables first 
$lastname='';  // Declare your variables first 

if(isset($_GET['first']) && isset($_GET['last'])){ // Then validate it
$firstname = $_GET['first'];  
$lastname = $_GET['last'];
 addUser($firstName, $lastName); // Then use your function call
}

?>

答案 1 :(得分:0)

您可能希望使用表单中的变量加载一个调用此函数的新页面,然后显示确认消息。您可以使用$ _GET ['variable name']获取这些变量。

答案 2 :(得分:0)

试试这个,您在表单中使用了get方法,因此您需要使用$_GET

if(isset($_GET['first']) && isset($_GET['last'])){
   $firstName = $_GET['first'];
   $lastName = $_GET['last'];
   addUser($firstName, $lastName); // passing the value into function
 }

答案 3 :(得分:0)

只需将表单操作设置为包含以下内容的页面:

addUser($_GET['first'], $_GET['last']);

但是,此代码容易受到SQL注入的攻击,绝不能在生产中使用。请确保至少通过mysql_escape_string运行它,或者最好切换到PDO并使用参数绑定。

http://us3.php.net/manual/en/function.mysql-escape-string.php