【问题标题】:Xampp PHP server GET works Fine POST isn't workingXampp PHP 服务器 GET 工作正常 POST 不工作
【发布时间】:2016-02-11 14:07:02
【问题描述】:

我正在为我的学校作业构建一个基本的 php 网站,但我意识到我没有在我的保存 php 页面上收到任何数据。之后我将我的方法切换到 GET 并且我的页面运行良好。这是我的表单页面

<form action="save-input.php" method="POST">
    <div class="form-group">
        <label for="todoTitle">Todo Title</label>
        <input type="text" class="form-control" name="todoTitle" id="todoTitle" placeholder="Example Title" required>
    </div>
    <div class="form-group">
        <label for="todoShortExplanation">Short Explanation</label>
        <input type="text" class="form-control" name="todoShortExplanation" id="todoShortExplanation" placeholder="Short Explanation for Todo">
    </div>
    <div class="form-group">
        <label for="todoImportance">Importance Level: </label>
            <?php
            // Establish connection and check it's solid or not
            try {
                $conn = new PDO("mysql:host=hostname;dbname=databasename", 'username', 'password');
                $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
                //echo "Connected successfully";
            }
            catch(PDOException $e)
            {
                echo "Connection failed: " . $e->getMessage();
            }
            // Create Query and prepare
            $sql = 'SELECT * FROM todoImportance';

            $cmd = $conn->prepare($sql);
            // Execure and fecth the data coming from DB
            $cmd->execute();

            $datas = $cmd->fetchAll();

            // Close connection
            $conn = null;

            //echo '<pre>' . var_export($datas) . '</pre>';
            echo '<select name="todoImportance" id="todoImportance">';

            // Print out dropdown options
            foreach($datas as $data) {
                echo '<option value="' . $data['ImportanceColor'] . '">'. $data['importanceLevel'] . '</option>';
            }

            echo '</select>';
            ?>
    </div>
    <div class="form-group">
        <label for="todo">Todo</label>
        <textarea name="todo" id="todo" class="form-control" rows="4" required></textarea>
    </div>
    <div class="form-group">
        <label for="todoAlarmDate">Alarm Date</label>
        <input type="date" class="form-control" name="todoAlarmDate" id="todoAlarmDate" min="<?php echo date("Y-m-d"); ?>">
    </div>
    <button type="submit" class="btn btn-primary">Save</button>
</form>

从用户那里获取值后,我将这些数据传递给保存页面。这是我的页面,我将所有内容都注释掉,所以就这样

<?php
/**
 * Created by PhpStorm.
 * User: User
 * Date: 2016-02-09
 * Time: 3:50 PM
 */


var_dump($_POST);

结果是“array(0) { }”。 如果我将它上传到实际的网络服务器,我想添加它,它可以正常工作。我在发布之前做了一些研究,所以我查看了我的 php.ini,我的 post_max_size 是 128M。我认为问题是 Xampp 服务器,所以如果你们能帮助我,我会很高兴。

【问题讨论】:

  • 您已将表单方法指定为 POST 并尝试使用 GET 进行打印。试试 var_dump($_REQUEST) 看看。
  • 抱歉,我忘记更改了,但是 POST 无法正常工作在我提交作业之前,我将其更改为 GET,这就是为什么会这样。

标签: php apache post get xampp


【解决方案1】:

如果 URL 看起来像 http://localhost:63342/{PROJECT_NAME}/save-input.php,则表明您正在使用内置 Web 服务器的 PhpStorm(或其他 IDE)。

如果您想使用适当的 Web 服务器(例如 Apache),请创建并配置部署条目并将其标记为该项目的默认值 - 如果未指定部署(IDE 从中获取基本 URL)PhpStorm 将使用内置- 在网络服务器中。

这就是我解决问题的方法。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-02-06
    • 1970-01-01
    • 1970-01-01
    • 2014-01-28
    • 2015-10-31
    • 1970-01-01
    相关资源
    最近更新 更多