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