Php 如何使用单选按钮输入从文件中有选择地打印?
我试图创建一个单页PHP页面,从用户先前选择的单选按钮中读取内容,并使用该单选按钮搜索文件并打印与文件信息插槽对齐的信息,但我无法让它实际打印。我不知道这是否只是因为它没有正确读取文件,没有正确搜索文件,或者其他任何可能错误的内容,如果这是非常明显的事情,请提前道歉。 文件的每一行都有4位信息,它们之间都有逗号:位置、位置类型和两个数字。这是第一行:罗坦,天然礁,28,41。我试图使用第一位,位置来搜索,因为单选按钮是基于位置的。我希望这是足够的信息Php 如何使用单选按钮输入从文件中有选择地打印?,php,Php,我试图创建一个单页PHP页面,从用户先前选择的单选按钮中读取内容,并使用该单选按钮搜索文件并打印与文件信息插槽对齐的信息,但我无法让它实际打印。我不知道这是否只是因为它没有正确读取文件,没有正确搜索文件,或者其他任何可能错误的内容,如果这是非常明显的事情,请提前道歉。 文件的每一行都有4位信息,它们之间都有逗号:位置、位置类型和两个数字。这是第一行:罗坦,天然礁,28,41。我试图使用第一位,位置来搜索,因为单选按钮是基于位置的。我希望这是足够的信息 <input type="radio"
<input type="radio" name"site" value="Roatan"> Roatan <br /></input>
Roatan
这就是单选按钮的格式,它与submit按钮集成在一个表单标签中
foreach ($dives as $i=>$record) {
$dives = explode(",", $record);
if (($site == "Roatan") and ($record[0] == "Roatan")) {
print "<tr>
<td> $dives[0] <br /></td>
<td> $dives[1] <br /></td>
<td> $dives[2] <br /></td>
</tr>";
$i++;
}
}
foreach($i=>$record){
$dive=爆炸(“,”,$record);
如果($site==“Roatan”)和($record[0]==“Roatan”)){
“打印”
$dive[0]
$dives[1]
$dives[2]
";
$i++;
}
}
这就是循环和条件语句的样子。根据注释,您有一个输入错误 这应该让你开始 脚本示例: 使用
php-S localhost:8000 index.php从命令行运行,并使用从浏览器访问
.包装纸{
保证金:0自动;
填充:20px;
宽度:900px;
/*文本对齐:居中*/
边框:1px纯黑;
}
.失败{
颜色:红色;
}
.通过{
颜色:绿色;
}
结果
您选择了:
形式
价值1
价值2
价值3
首先,您的收音机应该使用name=“site”
。其次,您的循环没有意义,因为您正在分配给$dive
,而这正是您循环的名称。我会给循环中的临时名称起一个类似$dive
的名称。如果这两种方法都不能解决问题,那么您就没有给我们太多的工作空间……为了将来的参考,我会将您的文件放在json格式中,然后在php中使用。你也应该结账。
<?php
// filename: index.php
$chosen_site = isset($_POST['site']) ? trim($_POST['site']) : null;
$file = "Roatan,Natural Reef,28,41\n Some,Thing,32,42\n Value1, Test, 89, 90";
$results = "";
$lines = explode("\n", $file);
?>
<html>
<head>
<style>
.wrapper {
margin: 0 auto;
padding: 20px;
width: 900px;
/*text-align: center;*/
border: 1px solid black;
}
.fail {
color: red;
}
.pass {
color: green;
}
</style>
</head>
<body>
<div class="wrapper">
<h1>Results</h1>
<hr/>
<p><b>You Chose:</b><?= json_encode($chosen_site) ?></p>
<?php
// For each line of the file.
foreach ($lines as $line) {
//Print result of each line:
if(strpos($line, $chosen_site) !== false) {
echo '<p class="pass"><b>Match found:</b>';
echo '<ul>';
$parts = explode(',', $line);
foreach ($parts as $part) {
echo '<li>'. $part . '</li>';
}
echo '</ul>';
echo '</p>';
} else {
echo '<p class="fail"><b>Match not found: </b>' . $line . '</p>';
}
}
?>
<h1>Form</h1>
<hr/>
<form method="post">
<input type="radio" name="site" value="Value1">Value1</input>
<input type="radio" name="site" value="Value2">Value2</input>
<input type="radio" name="site" value="Value3">Value3</input>
<br/>
<br/>
<input type="submit"/>
</form>
</div>
</body>
</html>