从php中的文本框中获取值,调用另一个php文件并将此文本框值作为变量传递给它

时间:2013-04-29 13:05:55

标签: php html mysql textbox

我有两个php页面。他们都返回了一些MySQL表。

我使用page1.php从数据库中返回一个名为“student”的表。我现在正在尝试实现一个搜索功能,以帮助人们在学生表中搜索特定名称。

我为搜索创建了一个文本框(这是在page1.php中)

<INPUT TYPE = "TEXT" VALUE ="search">
<INPUT TYPE = "Submit" Name = "Submit1" VALUE = "Search">

我想做的是: 当用户点击“搜索”按钮时,它会调用page2.php并将值从文本框传递到page2.php中名为“sname”的变量

在page2.php

我有:

$sname = "matt"; /*<-- Need dynamic */
$result = mysql_query("Select * from student where phone like '%$sname%'");

现在我手动提供$sname的值。如何从page1.php中的文本框中获取此变量的值?

7 个答案:

答案 0 :(得分:2)

将代码设置为 page1.php ,如:

<form action='page2.php' method='post'>
<INPUT TYPE = "TEXT" NAME='search' VALUE ="search">
<INPUT TYPE = "Submit" Name = "Submit1" VALUE = "Search">
</form>

现在在第2页中你可以使用$ _POST ['search'],例如:

$sname = $_POST['seach'];

答案 1 :(得分:1)

page1.php中

<form action="page2.php" method="post">
<INPUT TYPE = "text" name="sname" VALUE ="search">
<INPUT TYPE = "Submit" Name = "Submit1" VALUE = "Search">
</form>

on page2.php

$sname= $_POST['sname']

答案 2 :(得分:1)

假设您的输入格式为

<form action="page2.php" method="post">
    <INPUT TYPE = "TEXT" VALUE ="search" name="search">
    <INPUT TYPE = "Submit" Name = "Submit1" VALUE = "Search">
</form>

然后您可以通过

访问它
$sname = $_POST['search'];

请注意,我在文本输入中添加了name属性,这是$ _POST数组中值所必需的

答案 3 :(得分:1)

您的HTML错过了元素FORM

<form action="page2.php" method="GET">
    <INPUT TYPE = "TEXT" VALUE ="search" name="text">
    <INPUT TYPE = "Submit" VALUE = "Search">
</form>

<form action="page2.php" method="POST">
    <INPUT TYPE = "TEXT" VALUE ="search" name="text">
    <INPUT TYPE = "Submit" VALUE = "Search">
</form>

第一种方法返回网址page2.php?text=test。您可以使用全局$ _GET值

访问变量

第二种方法返回url page2.php,但将数据保存在全局POST变量$ _POST中。

第一种方法主要是用搜索功能完成的,第二种方法用&#34; private&#34;形式。当你希望人们能够分享网址时,你应该使用get,否则就是帖子。

我还建议查看sql注入,SQL injection from php.net

答案 4 :(得分:1)

<强> page1.php中

<FORM ACTION='page2.php' METHOD='POST' >
<INPUT TYPE = "text" name="sname" VALUE ="search">
<INPUT TYPE = "Submit" Name = "Submit1" VALUE = "Search">
</form>

现在,在导航到Page2之后:此代码可以完成工作

<强>使page2.php

//Check if the paramerter is set and it is not equal to NULL
if( isset($_POST['sname']) && $_POST['sname'] != NULL )
{
     //now load the variable
     $sname = $_POST['sname'];

     //Prevent SQL injection..
     $sname = addslashes($sname);

     $query = "select * from table_name where column_name like '%$sname%'";

     //Execute the query and store in $result
     $result = mysql_query($query);

     // Fetch values from result
     while ( $rows = mysql_fetch_array[$result] )
     {
           //Get the values here..
     }
}

我认为您非常了解SQL注入。

答案 5 :(得分:0)

把这个值放在一个表单中,给textfield一个名字让我们说name =“fieldname”并给它一个方法让我说post,然后访问这样的值

$sname = $_POST['fieldname'];

答案 6 :(得分:0)

<form action='page2.php' method='post'>
<INPUT TYPE = "TEXT" VALUE ="name">
<INPUT TYPE = "SUBMIT" VALUE ="search">
<INPUT TYPE = "Submit" Name = "Submit1" VALUE = "Search">

在page2.php

$name=$_POST['name']