我有两个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中的文本框中获取此变量的值?
答案 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']