1

好的,我第一次在这里提问。这在过去非常有帮助,但现在我迷路了。我试图通过一本书来了解 php 是如何工作的。所以我按照书中的说明进行了练习,结果如果不是应该的结果。

这是代码:

<div id="content">
    <p>Here's a record of everything in the REQUEST array:</p>
    <?php
    foreach($_REQUEST as $value) {
        echo "<p>" . $value . "</p>";
        }
        ?>
    </div>
    <div id="footer"></div>
</body>

结果如下:

这是 REQUEST 数组中所有内容的记录:

" . $value . "
"; } ?>

为什么不显示它应该显示的信息?谢谢。


好的,这是所有代码:

显示请求信息.php

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
> "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html
> xmlns="http://www.w3.org/1999/xhtml"> <head> <meta
> http-equiv="Content-Type" content="text/html; charset=utf-8" /> <link
> href="/wamp/www/livrephp/css/phpMM.css" type="text/css"
> rel="stylesheet" />
> 
> <title>Untitled Document</title> </head>
> 
> <body>    <div id="header"><h1>PHP & MySQL: The Missing
> manual</h1></div>
>     <div id="example">Example 3-2</div>
>     
>     <div id="content">
>       <p>Here's a record of everything in the REQUEST array:</p>
>         <?php         foreach($_REQUEST as $value) {          echo "<p>" . $value . "</p>";           }           ?>
>             
>           
>         </div>
>         <div id="footer"></div> </body> </html>

这与名为“socialEntryForm.php”的文件一起使用

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link href="/wamp/www/livrephp/css/phpMM.css" rel="stylesheet" type="text/css" />
<title>Untitled Document</title>
</head>

<body>
    <div id="header"><h1>PHP & MySQL: The misiing manual</h1></div>
    <div id="example">Example -1</div>

    <div id="content">
        <h1>Join the missing manual (Digital) Social Club</h1>
        <p>Please enter your online connections below:</p>
        <form action="../showRequestInfo.php" method="post">
            <fieldset>
            <label for="first_name">First Name:</label>
            <input type="text" name="first_name" size="20" /><br />
            <label for="last_name">Last Name:</label>
            <input type="text" name="last_name" size="20" /><br />
            <label for="email">Email Address:</label>
            <input type="text" name="email" size="50" /><br />
            <label for="facebook_url">Facebook URL:</label>
            <input type="text" name="facebook_url" size="50" /><br />
            <label for="twitter_handle">Twitter Handle:</label>
            <input type="text" name="twitter_handle" size="50" /><br />
            </fieldset>
            <br />
            <fieldset class="center">
                <input type="submit" value="Join The Club" />
                <input type="reset" value="Clear and Restart" />
            </fieldset>
          </form>
     </div>

     <div id="footer"></div>
</body>
</html>
4

2 回答 2

8

您确定您的文件是 PHP 文件并且它正在启用 PHP 的服务器上运行吗?浏览器似乎正在接收未解析的代码,认为有一个标签从第一个标签开始<?php并结束<p>。如果您查看源代码,您可能会看到您的 PHP 代码,没有被服务器修改。

换句话说:您的代码是正确的,问题出在您的文件类型或服务器配置上。如果您确实在您的机器上使用服务器,请确保您运行的文件是正确的,例如,如果它在根目录中,则 openhttp://localhost/your_file.php和 not C:\xampp\htdocs\your_file.php

编辑:只是为了它,我用fiddle复制了你的问题。我得到了和你完全相同的输出,这意味着它没有被服务器解析。谁说 JSFiddle 只对 JavaScript 有用?

于 2013-01-30T01:40:02.013 回答
0

$_REQUEST包含从 cookie 收集的数据,$_POST并且$_GET.. 您确定您的数据已正确分配吗?

举这个例子。

print_r($_REQUEST); 只是在没有 no 的情况下这样做<form method="get/post">会产生一个空白数组,这可能就是你什么都得不到的原因

你的片段是正确的..你缺少一个 html 表单来配合它..

例子:

<form method="POST">
<input type="submit" name="test" value="ThisIsCorrect">
</form>

使用您的代码,您已经显示了您的问题..您的$_REQUEST数组将返回按钮的值。在这种情况下“ThisIsCorrect”


道德这个?

确保在调用 $_REQUEST 之前使用 post/get/cookies,并且为了将来参考,仅使用 $_POST 和 $_GET 会更干净。但这取决于我的个人喜好。


$_REQUEST 数组是如何构造的?

考虑一下:

该数组将包含name作为数组键和值作为值..

所以考虑到这一点:

<form method="POST">
<input type="text" name="username">
<input type="submit" name="test" value="ThisIsCorrect">
</form>

对于您的文本框和提交按钮,数组将是:

array ("username" => "UserInputData", "test" => "ThisIsCorrect");

于 2013-01-30T01:44:42.073 回答