使用PHP将HTML表单数据发布为表
大家好,我正在尝试使用PHP获取HTML表单的四个字段,以便发布到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
<!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>