分配给 php 变量的字符串中的 php 问题

发布于 2024-12-11 17:51:58 字数 1968 浏览 0 评论 0原文

我正在为课堂编写第一个 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 函数不会导致输出出现。相反,我得到的是空行。我在字符串赋值中是否错误地定义了它?

I'm writing my first php page for class. The page is supposed to take input from a form and output it. At first I tried to using the $content variable below to store a block of html which would output either the form or the ouput. I was putting this inside the id="content" div depending on whether or not the form elements were set. Anyway, I moved away from this because I wasn't able to use the _SERVER['PHP_SELF'] varialbe correctly. I'm abandoning this for now, but am now running into a similar problem. Here' my code so far:

<?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>

The problem right now is the fact that the echo function inside the $content variable isn't causing the output to appear. Instead I'm getting blank lines. Am I defining it incorrectly inside of the String assignment?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

南冥有猫 2024-12-18 17:51:58
$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 代码中使用 构造。此时

About You

不是 HTML,只是字符串。

$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>';

Should be

$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 is not function and return nothing. Also you use <?php ?> construction inside PHP code. In this moment <h1>About You</h1> is not HTML, just string.

猫瑾少女 2024-12-18 17:51:58

像这样使用。

$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>';

Use like this.

$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>';
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文