php - 使用 PHP $_POST 从另一个 PHP 脚本的 echo 表单获取输入

标签 php html mysql forms post

我知道标题相当含糊,所以让我更详细地解释一下。我正在使用 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 查询,但我遇到的问题是,当用户进行更改时,我无法显示在输入框中找到的信息。我想我可以将名称属性应用于每个输入标签,就像我对“firstname”所做的那样,然后使用:

    echo "<p>First Name: " $_POST[firstname] "</p>";

在updateuserinfo.php中以便显示用户在输入框中输入的信息。然而这不起作用。任何建议将不胜感激,因为我对 PHP 编程非常陌生。 提前致谢。

最佳答案

尝试使用以下代码显示完整的 $_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>';

阅读What is the difference between single-quoted and double-quoted strings in PHP?如果你想知道 PHP 中单引号和双引号的区别

在您的更新脚本中,您缺少点运算符和引号:

echo "<p>First Name: " $_POST[firstname] "</p>";

应该是

echo "<p>First Name: " . $_POST["firstname"] . "</p>";

关于php - 使用 PHP $_POST 从另一个 PHP 脚本的 echo 表单获取输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21755398/

相关文章:

php - MySQL - 重命名两个不同表中具有相同名称的选定列

css - 如何在 CSS 中定位多个 DIV

php - 在laravel中导入大量记录,每条记录有多个关系

javascript - 在不重新加载页面的情况下将点击链接的 ID 传递给 PHP 代码

javascript - AngularJs css 实时更改

mysql - MYSQL中每个ID根据日期选择最新版本

PHP 脚本 : malicious JavaScript code at the end

PHP:登录后将用户返回到其原始页面

php - 为什么即使在使用 PHP 删除 HTML 实体后,它们仍会显示在 iPhone/iPhone 模拟器上?

javascript - 如何减少无用的css文件?