相关疑难解决方法(0)

$ _POST是PHP中的空数据

我有一个奇怪的问题,我的$ _POST数据没有通过.首先,这在我的本地主机上工作正常,但在我的网络共享主机上不起作用.这是表格:

<form action="/add" method="POST" enctype="multipart/form-data">

<div>
    Name : <input type='text' name='form[name]' class='form-text ' value="" style='width: 350px' placeholder="I.E. Boulder Vote Bus" maxlength="30"/>
</div>
<div>
    Description : <textarea name='form[description]' class='form-bigbox '/></textarea>
</div>
<div class='clearfix pull-left'>
    Logo: <input type="file" name='form[image_name]' class='' value="" accept="image/jpeg, image/jpg, image/png"/>
</div>
<div class='clearfix'></div>
<div>
    <span id='date' class='change'>
        Date : <input type='text' name='form[date]' id='datepicker' class='form-text ' placeholder="mm/dd/yyyy" value="" style='width: 160px;'/> 
    </span>
    Time : <input type='text' name='form[hr]' class='form-text ' style='width: 40px;' placeholder="01" value=""/> : <input type='text' style='width: 40px;' name='form[min]' …
Run Code Online (Sandbox Code Playgroud)

php forms post codeigniter

16
推荐指数
1
解决办法
3万
查看次数

Jquery .ajax method ="post"但$ _POST为空

$.ajax({
    method: "post"
    , url: "save.php"
    , data: "id=453&action=test" 
    , beforeSend: function(){

    } 
    , complete: function(){ 
    }  
    , success: function(html){ 
        $("#mydiv").append(html);        
    }
});
Run Code Online (Sandbox Code Playgroud)

我已经将方法类型设置为post但在Save.php中我只是在$_GET$_REQUEST不在中获取值$_POST.

我的表格如下:

<form method="post" id="myform" action="save.php">
Run Code Online (Sandbox Code Playgroud)

它无法正常工作,在这里查看并在Google上尝试添加 enctype

<form method="post" id="myform" action="save.php" enctype="application/x-www-form-urlencoded">
Run Code Online (Sandbox Code Playgroud)

但还是$_POST空的?

我如何使其工作?

php ajax jquery

13
推荐指数
2
解决办法
4万
查看次数

将变量从select元素传递给JSON更新函数 - PHP

我正在尝试.json根据<select>所选的任何选项更新单独加载的文件.它加载.json文件然后更新单个文件,只要我定义$myFile为特定.json文件,如$myFile = "data/data.json";

但是当我尝试将select选项作为文件名传递时,没有任何保存.我在哪里弄乱这个?

这是HTML选择:

<form action="/server/php/data/process.php" method="post">
    <select class="ui mini fluid search dropdown" id="templateSelection" type="text" name="selectTemplate" onchange="loadTemplate()">
        <option value="" selected="selected">Select Template</option>
        <?php
            foreach(glob(dirname(__FILE__) . '/server/php/data/*') as $filename){
                $filename = basename($filename);
                echo "<option value='" . $filename . "'>".$filename."</option>";
            }
        ?>
   </select>
</form>
Run Code Online (Sandbox Code Playgroud)

以下是填充的选项:

<option value="data.json">data.json</option>
<option value="data2.json">data2.json</option>
<option value="data3.json">data3.json</option>
Run Code Online (Sandbox Code Playgroud)

这是process.php:

<?php

//$myFile = "data/data.json";
$filename = $_POST['selectTemplate'];
$myFile = "data/" . $filename;
$arr_data = array(); // create empty array …
Run Code Online (Sandbox Code Playgroud)

php json

11
推荐指数
1
解决办法
535
查看次数

method ="post"enctype ="text/plain"不兼容?

我用的时候

<form method="post" enctype="text/plain" action="proc.php"> 
Run Code Online (Sandbox Code Playgroud)

表单数据无法正确发送到proc.php文件.为什么?问题是什么?为什么我不能使用文本/普通编码与post,但我可以使用它与get方法?

html php forms post

10
推荐指数
2
解决办法
2万
查看次数

file_get_contents('php://input') 对一个用户返回空,但对其他用户工作正常

我的网络服务器有一个非常奇怪的问题。我的服务器为 file_get_contents('php://input') 显示一个空字符串,但只有一个用户。它对我和其他一些人来说很好用,但是一个特定的用户不能在使用 POST 请求的站点上使用任何东西,因为服务器只是在他的 PC 上没有从他的浏览器接收到任何 POST 信息。然而,它在他的手机上也能正常工作。测试更加困难,因为我无法自己复制它,它对我来说效果很好。我让他尝试了多种不同的浏览器并隐身,以防 Chrome 中有一些奇怪的设置破坏了他,但似乎没有任何效果。我已经检查了他的 chrome 工具中的标题,似乎所有信息都在那里,但服务器仍然什么也没看到。我使用的代码非常简单,

 let fetchCheckoutID = fetch("stripe/createcustomcheckout.php", {
  credentials: 'include',
  method: "POST",
  headers: { 'Content-Type': 'application/json' },
  body: JSON.stringify({
    currency: customCheckoutCurrency.value.toLowerCase(),
    price: customCheckoutValue.value,
    name: customCheckoutName.value
  })
}).then(function (response) {
  return response.json();
}).then(async function (session) {
  stripe.redirectToCheckout({ sessionId: session.id});
}).then(function (result) {

  if(result.error) {
    alert(result.error.message);
  }
}).catch(function (error) {
  console.error("Stripe Setup: ", error);
});
Run Code Online (Sandbox Code Playgroud)

然后在服务器端

$json = file_get_contents('php://input');
$data = json_decode($json);
Run Code Online (Sandbox Code Playgroud)

这只是我发现问题的代码,整个网站上的 POST 请求都没有专门为他工作,但对其他人来说都很好。在过去的 4 个小时里,我一直在和他一起试图解决这个问题,因为几个月来它一直在为他工作,现在突然间他基本上无法使用该站点,因为它依赖于对服务器的 POST 请求。如果这是他可以解决的问题,那么其他用户肯定会遇到同样的问题......我不知道还能去哪里,我找不到任何其他有同样问题的帖子。我只是发现很多人在 $_POST 中找不到信息,人们建议他们使用 file_get_input() …

javascript php post

6
推荐指数
1
解决办法
162
查看次数

标签 统计

php ×5

post ×3

forms ×2

ajax ×1

codeigniter ×1

html ×1

javascript ×1

jquery ×1

json ×1