我想知道是否有人可以帮忙。
我正在尝试整理一个表单,允许管理员通过他们的电子邮件地址搜索用户,并在表单上的相关文本字段中插入“first”和“surname”值。
我已经能够使“搜索”功能正常工作并检索到正确的结果。但是,我找不到将检索到的“first”和“surname”值插入到表单上相关文本字段中的方法。
这是我放在一起的表格
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Untitled Document</title>
</head>
<body>
<form action="search.php" method="post">
<p>Search:
<input name="emailaddress" type="text" id="emailaddress" />
<br />
<input type="submit" name="submit" value="Submit" />
</p>
<p>
<label>
<input name="forename" type="text" id="forename" value="<?php echo isset($forename)?>" />
</label>
</p>
<p>
<input name="surname" type="text" id="surname" value="<?php echo isset($surname)?>" />
</p>
<p> </p>
</form>
</body>
</html>
以下是我用来检索用户信息的PHP脚本。
<?php
require("phpfile.php");
// Opens a connection to a MySQL server
$connection=mysql_connect ("hostname", $username, $password);
if (!$connection) { die('Not connected : ' . mysql_error());}
// Set the active MySQL database
$db_selected = mysql_select_db($database, $connection);
if (!$db_selected) {
die ('Can\'t use db : ' . mysql_error());
}
//<form action="phpfile.php" method="post">
//<input name="emailaddress" type="text" id="emailaddress" />
// --> $_POST['emailaddress']
$emailaddress_sql = mysql_real_escape_string($_POST['emailaddress'], $connection);
$sql = mysql_query("SELECT * FROM userdetails WHERE emailaddress like '%{$emailaddress_sql}%'");
while( false!=($row = mysql_fetch_array($sql)) ) {
echo
$row['forename'], ' ',
$row['surname'],
"<br />\n";
}
我只是想知道是否有人可以看看这个请让我知道我哪里出错了。
非常感谢
答案 0 :(得分:1)
所有,非常感谢你对此的帮助。
经过一些研究后,我找到了一个我能够进行更改的示例,因此解决方案如下:
<?php
mysql_connect ("hostname","username","password") or die (mysql_error());
mysql_select_db ("databasename");
$emailaddress = $_POST['emailaddress'];
$sql = mysql_query("select * from userdetails where emailaddress like '$emailaddress'");
while ($row = mysql_fetch_array($sql)){
$forename = $row['forename'];
$surname = $row['surname'];
//we will echo these into the proper fields
}
?>
<html>
<head>
<title>Search the Database</title>
</head>
<body>
<form action="search.php" method="post">
Search: <input type="text" id="emailaddress" name="emailaddress"/><br />
First Name:<br/>
<input type="text" value="<?php echo $forename;?>" name="forename"/>
<br/>
Surname:<br/>
<input type="text" value="<?php echo $surname;?>" name="surname"/>
<br/>
<input type="submit" name="submit" value="Submit" />
</form>
</body>
</html>
答案 1 :(得分:0)
I.尝试将它们放入$ _SESSION或$ _COOKIE,并在表单中尝试访问$ _COOKIE或$ _SESSION ......
II。我会建议你使用jQuery调用这个脚本并接收带有数据的JSON并填充输入...
答案 2 :(得分:0)
如果您将操作设置为action =“”而不是search.php并在HTML之前的页面顶部执行查询,则可以在正文中使用$ row ['forename']等就像你现在拥有它一样(当然除了正确的变量名称)。
否则,如果您将结果保存在该脚本中,我建议将其添加到脚本的末尾:
<?
header("Location: originalpage.html?fn=".$row['forename']."&sn=".$row['surname']);
?>
并使用$ _GET ['fn']和$ _GET ['sn']放置在value =“”字段中。