Xampp PHP 服务器 GET 工作正常 POST 不工作
Xampp PHP server GET works Fine POST isn't working
我正在为我的学校作业构建一个基本的 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) { }"。
我想添加这个 如果我将它上传到实际的网络服务器,它可以正常工作。我在 post 之前做了一些研究,所以我查看了我的 php.ini 我的 post_max_size 是 128M。我认为问题是 Xampp 服务器,所以如果你们能帮助我,我会很高兴。
如果 URLs 看起来像 http://localhost:63342/{PROJECT_NAME}/save-input.php,它表明您正在使用 PhpStorm(或其他 IDE的)内置网络服务器。
如果您想使用合适的 Web 服务器(例如 Apache),请创建和配置部署条目并将其标记为该项目的默认值——如果未指定部署(这就是 IDE 的基础 URL from) PhpStorm 将使用内置的网络服务器。
这就是我解决问题的方法。
我正在为我的学校作业构建一个基本的 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) { }"。 我想添加这个 如果我将它上传到实际的网络服务器,它可以正常工作。我在 post 之前做了一些研究,所以我查看了我的 php.ini 我的 post_max_size 是 128M。我认为问题是 Xampp 服务器,所以如果你们能帮助我,我会很高兴。
如果 URLs 看起来像 http://localhost:63342/{PROJECT_NAME}/save-input.php,它表明您正在使用 PhpStorm(或其他 IDE的)内置网络服务器。
如果您想使用合适的 Web 服务器(例如 Apache),请创建和配置部署条目并将其标记为该项目的默认值——如果未指定部署(这就是 IDE 的基础 URL from) PhpStorm 将使用内置的网络服务器。
这就是我解决问题的方法。