使用HTML和PHP访问输入值


Accessing an input value with HTML and PHP

我是php的新手,需要一些帮助!

我使用一个文本框来显示表中的值,然后我希望该值能够被编辑并用于更新语句。

这个文本框当前是根据$studentId来填充的,这很好。

$conn = connection();
    $sql = "SELECT * FROM students WHERE studentId=$studentId";
    foreach ($conn->query($sql) as $row) {
    ?>
      <form>
        Student Name: <input name="name" type="text" method="post" value="<?php echo( htmlspecialchars( $row['name'] ) ); ?>" />
        <br>
        <input name="submitStudentUpdate" type="submit" value="Update" /> 
    </form>
    <?php
    }

connection();正在从另一个页面提供。

我需要的值

Student Name: <input name="name" type="text" method="post" value="<?php echo( htmlspecialchars( $row['name'] ) ); ?>" />

我想从这个表单中检索值,并发布到另一个页面,以便在更新语句中使用,但我该如何获得它?

我想可能是:

if (isset($_POST['name'])) {
    echo $_POST['name'];
}

因此,目前,文本框已填充

[Bob]

我希望能够将其更改为,例如

[鲍比]

点击提交按钮并检索该值。

我正在使用PDO。

希望这是有意义的,任何帮助都非常感谢。谢谢。

您没有在表单中定义方法,因此它默认为获取

因此,您应该能够通过$_GET['name'] 获得您的价值

我希望我对你的理解是正确的。

<?PHP
    if(isset($_GET['name'])) {
       $sql = "UPDATE students SET name = '".mysql_real_escape_string($_GET['name'])."' WHERE studentID = '".(int)$_GET['studentId']."' LIMIT 1";
       // or with pdo prepared statements (more secure)
       $stmt = $conn->prepare("UPDATE students SET name = ? WHERE studentID = ? LIMIT 1");
       $stmt->execute(array($_GET['name'], $_GET['studentId']));
    }        
$conn = connection();
        $sql = "SELECT * FROM students WHERE studentId=$studentId";
        foreach ($conn->query($sql) as $row) {
        ?>
          <form>
            Student Name: <input name="name" type="text" method="post" value="<?php echo( htmlspecialchars( $row['name'] ) ); ?>" />
            <br>
            <input type="hidden" name="id" value="<?php echo $studentId; ?>">
            <input name="submitStudentUpdate" type="submit" value="Update" /> 
        </form>
        <?php
        }
    ?>
$conn = connection();
$sql = "SELECT * FROM students WHERE studentId=$studentId";
if( isset($_GET['studentId']) )
{
   "UPDATE FROM students SET name = '".$_POST['name']."' WHERE studentId=".$_POST['studentId'];
}
foreach ($conn->query($sql) as $row) {
?>
  <form action="?studentId=<?php echo $row['studentId']; ?>" method="post">
    Student Name: <input name="name" type="text" method="post" value="<?php echo( htmlspecialchars( $row['name'] ) ); ?>" />
    <br>
    <input name="submitStudentUpdate" type="submit" value="Update" /> 
</form>
<?php
}