简体   繁体   English

PHP 淘汰 HTML,更好的方法?

[英]PHP out putting HTML, better way?

Basically this is what I have:基本上这就是我所拥有的:

<form method="POST" action="model.php">
            <input type="hidden" name="from" value="edit">
            <?php
                include 'model.php';
                $contactID = $_POST['editConRad'];
                selectSingle($contactID);
                echo "<input type='hidden' name='contactID' value='$contactID'>";
                echo "<label>First Name:</label>";
                echo "<input type="text" name="fname">";
                echo "<label>Last Name:</label>";
                echo "<input type="text" name="lname">";
                echo "<label>Email:</label>";
                echo "<input type="email" name="email">";
                echo "<label>Street Address:</label>";
                echo "<input type="text" name="streetaddress">";
                echo "<label>City:</label>";
                echo "<input type="text" name="city">";
                echo "<label>Province:</label>";
                echo "<input type="text" name="province">";
                echo "<label>Postal Code:</label>";
                echo "<input type="text" name="postalcode">";
                echo "<label>Phone:</label>";
                echo "<input type="number" name="phone">";
                echo "<label>Date of Birth:</label>";
                echo "<input type="date" name="yob">";
                echo "<input type="submit" value="Submit Edit">";
            ?>
        </form>

And I think there must be a better way to output html instead of having to output each line with echo, I thought there was a print function to do this but I couldnt find one. And I think there must be a better way to output html instead of having to output each line with echo, I thought there was a print function to do this but I couldnt find one.

Anyone have a better way of doing this?有人有更好的方法吗? I know I could do one massive echo but there must still be something better.我知道我可以做一个巨大的回声,但肯定还有更好的东西。

I guess this way is better than what I have above but still not looking for a better way.我想这种方式比我上面的方式更好,但仍然没有寻找更好的方式。

                echo '<label>First Name:</label>.
                <input type="text" name="fname">.
                <label>Last Name:</label>.
                <input type="text" name="lname">.
                <label>Email:</label>.
                <input type="email" name="email">.
                <label>Street Address:</label>.
                <input type="text" name="streetaddress">.
                <label>City:</label>.
                <input type="text" name="city">.
                <label>Province:</label>.
                <input type="text" name="province">.
                <label>Postal Code:</label>.
                <input type="text" name="postalcode">.
                <label>Phone:</label>.
                <input type="number" name="phone">.
                <label>Date of Birth:</label>.
                <input type="date" name="yob">.
                <input type="submit" value="Submit Edit">';

You can switch between PHP and HTML whenever you wish just by adding the appropriate tags.您可以随时通过添加适当的标签在 PHP 和 HTML 之间切换。

For example:例如:

<?php
echo "This is output from an echo statement<br>"
?>
This is plain old HTML<br>
<?php
echo "And now we're back to PHP<br>"

Your form becomes:你的表格变成:

<form method="POST" action="model.php">
        <input type="hidden" name="from" value="edit">
        <?php
            // Do this bit in PHP
            include 'model.php';
            $contactID = $_POST['editConRad'];
            selectSingle($contactID);
        ?>
            <!-- Now switch back to HTML -->
            <!-- PHP variable embedded here-------------|................| -->
            <input type='hidden' name='contactID' value='<?= $contactID?>'>";
            <label>First Name:</label>
            <input type="text" name="fname">
            <label>Last Name:</label>";
            <input type="text" name="lname">
            <label>Email:</label>
            <input type="email" name="email">

            <!-- and so on -->
         
    </form>

<?php
// You can store long text strings in HEREDOC or NOWDOC syntax
$longString = <<<'EOT'
    This is an arbitrarily long string, but this one is only short<br>
EOT
echo $longString;

See the PHP manual for all the details on how PHP handles strings, HEREDOC, NOWDOC, and the significance of single and double quotes.有关 PHP 如何处理字符串、HEREDOC、NOWDOC 以及单引号和双引号的重要性的所有详细信息,请参阅PHP 手册

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM