0

我有一个名为 form.php 的文件,当我将它上传到支持 php 的服务器时,表单会不断重复并且永远不会执行 php 代码。我在http://davidjahn.info/DavidJahnNet/form.php上传了它

 <?php
 $age=$_POST["age"];
 echo $age;
 ?>

 <html>
    <head>
        <title>Survey</title>
        <style type="text/css">
            .welcome {
                color: #FFFFFF;
                text-align: center;
                background-color:red;
                font-weight:bold;
                height: 50px;
            }
        </style>
    </head>
    <body>
        <table style="height: 232px; width: 500px">
            <form method="post" id="survey" action="form.php">
                <tr>
                    <td>
                        <div class="welcome"><br>Welcome!</div>
                    </td>
                </tr>
                <tr>
                    <td>
                        <ul>
                            <br>
                            <br>
                            <div id="question1" style="display: inline;">
                                <h3>
                                    Are You 30+ Years Old?
                                </h3>
                                <div style="height: 10px"></div>
                                <input type="button" name="age" value="Yes" onclick="document.getElementById('question1').style.display='none';document.getElementById('question2').style.display='inline';">
                                <input type="button" name="age" value="No" onclick="document.getElementById('question1').style.display='none';document.getElementById('question2').style.display='inline';">
                            </div>
                            <div id="question2" style="display: none;">
                                <h3>
                                    Are You Looking for a Date?
                                </h3>
                                <div style="height: 10px"></div>
                                <input type="button" name="date" value="Yes" onclick="document.getElementById('question2').style.display='none';document.getElementById('question3').style.display='inline';">
                                <input type="button" name="date" value="No" onclick="document.getElementById('question2').style.display='none';document.getElementById('question3').style.display='inline';">
                            </div>
                            <div id="question3" style="display: none;">
                                <h3>
                                    Which Girl Is Your Type?
                                </h3>
                                <div style="height: 10px"></div>
                                <input type="image" src="http://healthystartups.com/storage/600px-MA_Route_1.png?__SQUARESPACE_CACHEVERSION=1319542839834" alt="Submit" width="100px" value="type1" />
                                <input type="image" src="http://jenntgrace.com/wp-content/uploads/2012/12/2.png" alt="Submit" width="100px" value="type2" />
                                <input type="image" src="http://3.bp.blogspot.com/-Q_owQUxNjdQ/Te3ALCmT3oI/AAAAAAAAAnk/wv9r0b0MT-g/s1600/600px-MA_Route_3.svg_.jpg" alt="Submit" width="100px" value="type3" />
                                <input type="image" src="http://4.bp.blogspot.com/-wY_qFr2pcAs/UCxhAayJ6oI/AAAAAAAAC6w/PgtLs2O_4g8/s1600/4.png" alt="Submit" width="100px" value="type4" />
                            </div>
                        </ul>
                    </td>
                </tr>
            </form>
        </table>
    </body>
 </html>
4

6 回答 6

7

PHP 是一种服务器端语言。您需要一台运行 PHP 的服务器来编写 PHP 页面。您不能简单地保存它们并在浏览器中打开它们。

研究一下XAMPP之类的东西,它可以让您在开发环境中快速启动并运行。

于 2013-06-24T17:43:37.713 回答
1

你在 localhost 上测试这个吗?我认为您没有安装 WAMP,并且您正在尝试在没有 php 服务器的情况下查看 .php 文件,并且您必须知道 php 是服务器端语言。安装 EasyPHP 然后你就可以运行 .php

http://www.easyphp.org/

于 2013-06-24T17:44:28.643 回答
1

您应该使用按钮提交。我已编辑您的代码以执行以下操作:

  • 具有四种类型的封面图像的按钮
  • 表示年龄、日期的隐藏值

代码:

<?php
    if (isset($_POST['age'])) {
        $age=$_POST["age"];
        echo $age;
    }
?>
<html>
   <head>
      <title>Survey</title>
      <style type="text/css">
         .welcome {
             color: #FFFFFF;
             text-align: center;
             background-color:red;
             font-weight:bold;
             height: 50px;
         }
         .type1 {
             background-image: url(http://healthystartups.com/storage/600px-MA_Route_1.png?__SQUARESPACE_CACHEVERSION=1319542839834); 
         }
         .type2 {
             background-image: url(http://jenntgrace.com/wp-content/uploads/2012/12/2.png);
         }
         .type3 {
             background-image: url(http://3.bp.blogspot.com/-Q_owQUxNjdQ/Te3ALCmT3oI/AAAAAAAAAnk/wv9r0b0MT-g/s1600/600px-MA_Route_3.svg_.jpg);
         }
         .type4 {
             background-image: url(http://4.bp.blogspot.com/-wY_qFr2pcAs/UCxhAayJ6oI/AAAAAAAAC6w/PgtLs2O_4g8/s1600/4.png);
         }
         input[type=submit]{
             border: none;
             width: 100px;
             height: 100px;
             background-size:cover;
         }
      </style>
   </head>
   <body>
      <table style="height: 232px; width: 500px">
         <form method="post" id="survey" action="form.php">
            <input type="hidden" name="age" id="age">
            <input type="hidden" name="date" id="date">
            <tr>
               <td>
                  <div class="welcome"><br>Welcome!</div>
               </td>
            </tr>
            <tr>
               <td>
                  <ul>
                     <br>
                     <br>
                     <div id="question1" style="display: inline;">
                        <h3>
                           Are You 30+ Years Old?
                        </h3>
                        <div style="height: 10px"></div>
                        <input type="button" value="Yes" onclick="document.getElementById('question1').style.display='none';document.getElementById('question2').style.display='inline';document.getElementById('age').value='Yes'">
                        <input type="button" value="No" onclick="document.getElementById('question1').style.display='none';document.getElementById('question2').style.display='inline';document.getElementById('age').value='No'">
                     </div>
                     <div id="question2" style="display: none;">
                        <h3>
                           Are You Looking for a Date?
                        </h3>
                        <div style="height: 10px"></div>
                        <input type="button" value="Yes" onclick="document.getElementById('question2').style.display='none';document.getElementById('question3').style.display='inline';document.getElementById('date').value='Yes'">
                        <input type="button" name="date" value="No" onclick="document.getElementById('question2').style.display='none';document.getElementById('question3').style.display='inline';document.getElementById('date').value='No'">
                     </div>
                     <div id="question3" style="display: none;">
                        <h3>
                           Which Girl Is Your Type?
                        </h3>
                        <div style="height: 10px"></div>
                        <input type="submit" value="1" class="type1" name="type" />
                        <input type="submit" value="2" class="type2" name="type" />
                        <input type="submit" value="3" class="type3" name="type" />
                        <input type="submit" value="4" class="type4" name="type" />
                     </div>
                  </ul>
               </td>
            </tr>
         </form>
      </table>
   </body>
</html>
于 2013-06-24T17:49:01.087 回答
0

确保你在服务器上运行你的代码,localhost因为PHP只在服务器端而不是客户端工作。
如果您正确运行它,请使用它以获得更好的实践:

if(isset($_POST['age'])){
$age=$_POST["age"];
 echo $age;
}
于 2013-06-24T17:48:12.120 回答
0

如果您正在寻找年龄字段,那么您的 Javascript 和 HTML 没有多大意义。

您拥有的age元素是两个按钮。

当用户单击您的按钮时,您可以通过使用<input type="hidden" name="age" value="">然后使用 Javascript 修改 this 的值来解决此问题(如果您这样做,请更改按钮的名称属性)。

或者您可以通过用单选按钮替换按钮来解决它。

只需替换<input type="button" name="age" ...
<input type="radio" name="age" ...>

于 2013-06-24T18:14:34.523 回答
-3

我不确定你想说什么。你能详细说明一下吗?

另一方面,通过粗略的猜测,它可能是您的浏览器。尝试添加

<!DOCTYPE html>

以上

<html>

编辑:如果你在谈论 PHP 打印而不是做它应该做的事情。好吧,只是让您知道,PHP 是一种服务器端脚本语言。它需要通过PHP引擎处理。您是在共享网络主机上还是设置了自己的服务器?

于 2013-06-24T17:44:48.110 回答