我理解标题很模糊,所以让我更详细地解释一下。我使用PHP输出一个表单,该表单将显示某些用户信息,该信息是用户先前存储在数据库中的信息。这部分代码工作正常,数据正在按照我的意愿显示。一旦数据显示在输入框中,我希望用户能够编辑信息,然后一旦用户单击提交按钮,将调用updateuserinfo.php脚本:
while($return = mysql_fetch_assoc($result)) {
echo "<form action=UpdateUserInfo.php method=post>";
echo "<p> First Name: <input type=text name=firstname value= ".$return['FirstName']."/></p>";
echo "<p> Surname: <input type=text value= ".$return['Surname']." /></p>";
echo "<p> House Number: <input type=number value= ".$return['HouseNumber']." /></p>";
echo "<p> Address Line One: <input type=text value= ".$return['AddressLineOne']." /></p>";
echo "<p> Address Line Two: <input type=text value= ".$return['AddressLineTwo']." /></p>";
echo "<p> County: <input type=text value= ".$return['County']." /></p>";
echo "<p> Phone Number: <input type=number value= " .$return['PhoneNumber']." /></p>";
echo "<p> Email: <input type=email value= ".$return['Email']." /></p>";
echo "<p> Username: <input type=text value= ".$return['Username']." /></p>";
echo "<p> Password: <input type=password value= ".$return['Password']." /></p>";
echo "<p> User Type: <input type=text value= ".$return['UserType']." /></p>";
echo "<input id=submit type=submit value='Update Info' Info />";
echo "</form>";
在updateuserinfo.php中找到的脚本中我希望我能首先显示用户信息,即用户将输入框值更改为的内容,然后在用户确认更改时更新数据库。我相信我将能够更新存储在数据库中的信息,因为这是一个简单的SQL查询,但我遇到的问题是,当用户进行更改时,我无法显示输入框中的信息。我以为我可以为每个输入标记应用name属性,就像我使用'firstname'然后使用:
echo "<p>First Name: " $_POST[firstname] "</p>";
在updateuserinfo.php中以显示用户在输入框中输入的信息。但这不起作用。任何建议都会非常感激,因为我对PHP编程非常陌生。 提前致谢。
答案 0 :(得分:0)
您应该阅读$_REQUEST
数组,而不是$_POST
...
<强>更新强>
抱歉,我从未使用过$ _POST ......它已在4.1.0中引入。 所以,只检查您的PHP版本是&gt; = 4.1.0 ... 否则请发布
print_r($REQUEST);
结果...
答案 1 :(得分:0)
尝试使用以下代码显示完整的$ _POST数组: var_export($ _ POST);
此外,您在表单中缺少一些引号。例如,行
echo "<p> First Name: <input type=text name=firstname value= ".$return['FirstName']."/></p>";
应该是
echo "<p> First Name: <input type=\"text\" name=\"firstname\" value=\" ".$return['FirstName']."\"/></p>";
或在单引号内更容易(因此您不必屏蔽每个双引号):
echo '<p> First Name: <input type="text" name="firstname" value= "'.$return['FirstName'].'"/></p>';
如果您想知道PHP中单引号和双引号之间的区别,请阅读What is the difference between single-quoted and double-quoted strings in PHP?
在您的更新脚本中,您缺少点运算符以及引号:
echo "<p>First Name: " $_POST[firstname] "</p>";
应该是
echo "<p>First Name: " . $_POST["firstname"] . "</p>";