Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2008/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用PHP将HTML表单数据发布为表_Php_Html - Fatal编程技术网

使用PHP将HTML表单数据发布为表

使用PHP将HTML表单数据发布为表,php,html,Php,Html,大家好,我正在尝试使用PHP获取HTML表单的四个字段,以便发布到HTML表中。这是我到目前为止所拥有的 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> </head> <head> <style> table, th, td { text-shad

大家好,我正在尝试使用PHP获取HTML表单的四个字段,以便发布到HTML表中。这是我到目前为止所拥有的

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
</head>
<head>
    <style>
    table, th, td {
        text-shadow: 0.2px 0.2px 0.2px black;
        border: 1px solid black;
        letter-spacing: 1px
    }
</style>
<body>
    <h1> User Info </h1>
    <table>
        <tr>
            <th style="background-color:#FFFF00">  First Name</th>
            <th style="background-color:#FFFF00"> Last Name</th>
            <th style="background-color:#FFFF00"> user id</th>
            <th style="background-color:#FFFF00"> vaules</th>

        </tr>
    </table>
<body>
<a href="userInfo.html"><-- Back</a>
<br>
<br>
<br>


<?php
if($_SERVER["REQUEST_METHOD"]=="POST")
{

$first_name= $_POST['first_name'];
$last_name = $_POST['last_name'];
$user_id=$_POST['user_id'];
$values=$_POST['values'];

 "<th>";
 "<td>".$first_name."</td>";
 "<td>".$last_name."</td>";
 "<td>".$user_id."</td>";
 "<td>".$values."</td>";
 "</th>";

表,th,td{
文本阴影:0.2px 0.2px 0.2px黑色;
边框:1px纯黑;
字母间距:1px
}
用户信息
名字
姓
用户id
沃利斯

假设您实际上是通过脚本发送POST数据,请尝试以下操作:

<?php
if($_SERVER["REQUEST_METHOD"]=="POST") {
    $first_name= $_POST['first_name'];
    $last_name = $_POST['last_name'];
    $user_id=$_POST['user_id'];
    $values=$_POST['values'];
}
?>
 <table>
       <tr>
          <th style="background-color:#FFFF00">  First Name</th>
          <th style="background-color:#FFFF00"> Last Name</th>
          <th style="background-color:#FFFF00"> user id</th>
          <th style="background-color:#FFFF00"> vaules</th>
       </tr>
        <tr>
            <td><?php if(isset($first_name)) echo $first_name; ?></td>
            <td><?php if(isset($last_name)) echo $last_name; ?></td>
            <td><?php if(isset($user_id)) echo $user_id; ?></td>
            <td><?php if(isset($values)) echo $values; ?></td>
        </tr>
    </table>

名字
姓
用户id
沃利斯

你需要回应结果。但是,使用这种方法,您将只获得1组数据。如果您有多行,则需要循环浏览它们。

首先,您已经在html中定义了一个
部分,因此为什么不一致地使用它并从标题中删除内联样式:

<style>
    table, th, td {
        text-shadow: 0.2px 0.2px 0.2px black;
        border: 1px solid black;
        letter-spacing: 1px
    },
    th .table_header {
        background-color:#FFFF00;
    }
</style>
确保在您希望桌子所在的区域上方执行此操作。实际上,在我看来,您最好在文件的顶部执行此操作——在输出HTML时,您应该已经完成了尽可能多的PHP工作

然后,您可以减少html中的内联php,这将使其更具可读性,更易于管理,因为您的变量始终处于设置状态:

vaules

我将其保存在
$table
变量中,以备将来使用(例如,在多行循环中),但如果您不想/不需要将其保存在变量中,则可以将整个字符串回显出来您不会回显任何内容这是如何创建“未定义变量”的一个很好的示例,他应该验证变量是否真的得到值。不,你应该在回答中这样做。我假设你使用的是PHP7+,如果没有,那么您需要使用
如果/否则
条件来设置默认值,而不是
条件。每次提交表单时,我是否会一直添加到表中?哈哈,雅各布,这是一个非常不同的问题!提交表单时,页面会刷新,所有内容都会丢失,因此有几个选项。在这里这样做是不相关的(不管怎样,我现在在床上!)。您还没有显示如何提交值,例如,它们是同一个脚本吗?如果是这样的话,你可以在一个隐藏的表单输入中发布当前的帖子,并以这种方式构建它——但我可能不会推荐它。。。。。。最有可能使用会话是最好的方法,但我认为这通常来自sql查询(您的提交将被保存,然后在页面上重新加载已更新的查询行),但可能您还没有做到这一点,因此,虽然存储表数据并不是会话的真正用途,但同时它可能会很有用。最好的办法是谷歌“如何保存表单数据”之类的东西,看看你能不能找到有用的东西。非常感谢你的帮助!
<?php

    $first_name = $_POST['first_name'] ?? 'No name submitted';//or something more useful to you
    $last_name = $_POST['last_name'] ?? 'No surname submitted';
    $user_id=$_POST['user_id'] ?? 'No id found';
    $values=$_POST['values'] ?? 'No values found';
<th style="background-color:#FFFF00"> vaules</th>

        </tr>
<?php    
$table = '<table>
           <tr>
              <th class="table_header">First Name</th>
              ...
           </tr>
            <tr>
                <td>' . $first_name . '</td>
                <td>' . $last_name . '</td>
               ...
            </tr>
        </table>';
    
    echo $table;
?>

</table>