0

我正在尝试制作一个单页 PHP 页面,该页面从用户之前所做的单选按钮选择中读取,并使用它来搜索文件并打印与文件信息的该插槽对齐的信息,但我无法让它实际打印。我不知道是否只是它没有正确读取文件,没有正确搜索文件,或者其他任何可能错误的东西,如果它真的很明显,请提前抱歉。文件的每一行都有 4 位信息,它们之间都用逗号分隔:位置、位置类型和两个数字。这是第一行:Roatan,Natural Reef,28,41。我正在尝试使用第一位,即位置来搜索,因为这是单选按钮所基于的。我希望这是足够的信息。

<input type="radio" name"site" value="Roatan"> Roatan <br /></input>

这就是单选按钮的格式,并且都在一个带有提交按钮的表单标签中。

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++;
        }
    }

这就是循环和条件的样子。

4

1 回答 1

0

根据评论,您有一个错字。

不过,这应该可以帮助您入门。

示例脚本:

使用http://localhost:8000从命令行运行php -S localhost:8000 index.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>
于 2020-01-07T17:19:57.273 回答