【问题标题】:problems with php in a string assigned to a php variable分配给 php 变量的字符串中的 php 问题
【发布时间】:2012-09-12 00:02:20
【问题描述】:

我正在为课堂编写我的第一个 php 页面。该页面应该从表单中获取输入并输出它。起初我尝试使用下面的 $content 变量来存储一个 html 块,该块将输出表单或输出。我将它放在 id="content" div 中,具体取决于是否设置了表单元素。无论如何,我离开了这个,因为我无法正确使用 _SERVER['PHP_SELF'] 变量。我暂时放弃了这个,但现在遇到了类似的问题。到目前为止,这是我的代码:

<?php

if (!empty($_POST['first-name']) && !empty($_POST['last-name']) 
    && !empty($_POST['age']))
{
    $fname = $_POST['first-name'];
    $lname = $_POST['last-name'];
    $age = $_POST['age'];

    $content = '<h1>About You</h1>
        <h4>First Name:</h4>
        <p><?php echo $fname; ?></p>
        <h4>Last Name:</h4>
        <p><?php echo $lname; ?></p>
        <h4>Age:</h4>
        <p><?php echo $age; ?></p>';
}
else
{
    $content = '';  
}

//get the first name, last name and age from the form


?>

<html lang="en">
<head>
    <title>Personal Info Results</title>
    <link rel="stylesheet" type="text/css" href="style.css"/>
</head>
<body>
    <div class="content">
        <h1>My Form</h1>
        <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
            <div id="person-info">
                <label>First Name:</label>
                <input type="text" name="first-name"/><br/>
                <label>Last Name:</label>
                <input type="text" name="last-name"/><br/>
                <label>Age:</label>
                <input type="text" name="age"/><br/>
            </div>
            <div id="submit"><input type="submit" value="Submit Info"/></div>
        </form>
    </div>
    <div id="output">
        <?php echo $content; ?>
    </div>
</body>
</html>

现在的问题是 $content 变量中的 echo 函数没有导致输出出现。相反,我得到了空白行。我是否在字符串赋值中错误地定义了它?

【问题讨论】:

    标签: php string echo


    【解决方案1】:
    $content = '<h1>About You</h1>
        <h4>First Name:</h4>
        <p><?php echo $fname; ?></p>
        <h4>Last Name:</h4>
        <p><?php echo $lname; ?></p>
        <h4>Age:</h4>
        <p><?php echo $age; ?></p>';
    

    应该是

    $content = '<h1>About You</h1>
        <h4>First Name:</h4>
        <p>'.$fname.'</p>
        <h4>Last Name:</h4>
        <p>'.$lname.'</p>
        <h4>Age:</h4>
        <p>'.$age.'</p>';
    

    ECHO 不是函数,不返回任何内容。您还可以在 PHP 代码中使用 &lt;?php ?&gt; 构造。此时&lt;h1&gt;About You&lt;/h1&gt; 不是 HTML,只是字符串。

    【讨论】:

    • 我的想法不同。我认为一旦字符串呈现为 HTML,PHP 就会变得活跃,但这是有道理的。谢谢。
    【解决方案2】:

    这样使用。

    $content = '<h1>About You</h1> <h4>First Name:</h4> <p>' . $fname 
        .'</p> <h4>Last Name:</h4> <p>' . $lname
        .'</p> <h4>>Age:</h4> <p>'. $age
        .'</p>';
    

    【讨论】:

      猜你喜欢
      • 2013-04-18
      • 2013-06-08
      • 2020-05-12
      • 1970-01-01
      • 1970-01-01
      • 2019-02-10
      • 2021-04-17
      • 2018-03-26
      • 1970-01-01
      相关资源
      最近更新 更多