Xampp PHP服务器GET工作正常POST不起作用 [英] Xampp PHP server GET works Fine POST isn't working

查看:117
本文介绍了Xampp PHP服务器GET工作正常POST不起作用的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我为我的作业建立了一个基本的php网站,并且我意识到我没有收到我的保存php页面上的任何数据。之后,我将我的方法切换到GET,并且我的页面完美地工作。这是我的表单页面

 < form action =save-input.phpmethod =POST> 
< div class =form-group>
< label for =todoTitle> Todo标题< / label>
< input type =textclass =form-controlname =todoTitleid =todoTitleplaceholder =Example Titlerequired>
< / div>
< div class =form-group>
< label for =todoShortExplanation>简短说明< / label>
< input type =textclass =form-controlname =todoShortExplanationid =todoShortExplanationplaceholder =Todo的简短说明>
< / div>
< div class =form-group>
< label for =todoImportance>重要性等级:< / label>
<?php
//建立连接并检查它是否稳定
尝试{
$ conn = new PDO(mysql:host = hostname; dbname = databasename, '用户名密码');
$ conn-> setAttribute(PDO :: ATTR_ERRMODE,PDO :: ERRMODE_EXCEPTION);
//回显连接成功;
}
catch(PDOException $ e)
{
echo连接失败:。 $ E->的getMessage();
}
//创建查询并准备
$ sql ='SELECT * FROM todoImportance';

$ cmd = $ conn-> prepare($ sql);
//执行并执行来自DB
$ cmd-> execute()的数据;

$ datas = $ cmd-> fetchAll();

//关闭连接
$ conn = null;

// echo'< pre>'。 var_export($ datas)。 < /预>;
echo'< select name =todoImportanceid =todoImportance>';

//打印出下拉选项
foreach($ datas as $ data){
echo'< option value =''。$ data ['ImportanceColor']。' >。 $ data ['importanceLevel']。 < /选项>;
}

echo'< / select>';
?>
< / div>
< div class =form-group>
< label for =todo> Todo< / label>
< textarea name =todoid =todoclass =form-controlrows =4required>< / textarea>
< / div>
< div class =form-group>
< label for =todoAlarmDate>报警日期< / label>
< input type =dateclass =form-controlname =todoAlarmDateid =todoAlarmDatemin =<?php echo date(Y-m-d);?>>
< / div>
< button type =submitclass =btn btn-primary>储存< /按钮>
< / form>

当我从用户那里获得值后,我传递这些数据以保存页面。这是我的网页,我评论,因此它只是这个

 <?php 
/ **
*由PhpStorm创建。
*用户:用户
*日期:2016-02-09
*时间:下午3:50
* /


var_dump ($ _ POST);

结果为array(0){}。
我想补充一点如果我把它上传到实际的网络服务器,它的工作原理没有问题。在发布这篇文章之前,我做了一些研究,所以我查看了我的php.ini,我的post_max_size是128M。我认为问题是Xampp服务器,所以如果你们可以帮助我,我会很高兴。

href =http:// localhost:63342 / =nofollow> http:// localhost:63342 / {PROJECT_NAME} /save-input.php,它表明您正在使用PhpStorm(或其他IDE的)内置的Web服务器。如果您想使用适当的Web服务器(例如Apache),那么请创建并配置部署条目并将其标记为此项目的默认值 - 如果未指定部署(这是IDE从中获取基本URL的地方)PhpStorm将使用内置的Web服务器。

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


I was building a basic php site for my school assignment and I realised that I'm not receiving any data on my save php page. After that I switch my method to GET and my pages works perfectly. Here is my form page

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

After I get the values from user I'm passing those datas to save page. Here is my page I comment everthing out so it's just this

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


var_dump($_POST);

Results are "array(0) { }". And I would like to add this If I upload this to the actual web server it works without problem. I did some research before I post this so I looked my php.ini my post_max_size is 128M. I think problem is Xampp server so If you guys could help me I'll be glad.

解决方案

if URLs looks like http://localhost:63342/{PROJECT_NAME}/save-input.php, it tells that you are using PhpStorm's (or other IDE's) built in web server.

If you want to use your proper web server (e.g. Apache) then please create and configure Deployment entry and mark it as Default for this project -- if no deployment specified (that's where IDE takes base URL from) PhpStorm will use built-in web server.

That's the way I solved my trouble.

这篇关于Xampp PHP服务器GET工作正常POST不起作用的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆