gpt4 book ai didi

php - 405 方法不允许 json 数据不发布

转载 作者:可可西里 更新时间:2023-11-01 02:53:27 24 4
gpt4 key购买 nike

我正在用 php 制作简单的发布详细信息形式,但在将数据从表单发布到 API 时卡住了,但它显示 405 方法不允许错误。请检查下面的代码,让我知道其中的问题是什么。可能是我犯了一些愚蠢的错误,如果是这样的话,我很抱歉。

<form method="POST" action="#" name="checkout">

First Name <input type="text" name="firstName"/><br/>
Last name <input type="text" name="lastName"/><br/>
Email <input type="text" name="phone"/><br/>
Phone <input type="text" name="gender"/><br/>

<input type="submit" name="submit" value="submit"/>

</form>

</body>

</html>

<?php

if(isset($_POST['submit']))
{
$name = $_POST['firstName'];
$lastname = $_POST['lastName'];
$email = $_POST['email'];
$phone = $_POST['phone'];

$url11 = "https://api.rezdy.com/v1/categories/124095/products?apiKey=bb42962c78b34e02b879cc5463cb4648";
$data['customer'] = array(
'firstName'=>$name,
'lastName'=>$lastname,
'email'=>$phone,
'phone'=>$gender
);
echo "<pre>";
$json = json_encode($data);

echo $json;
echo "<br/>";
function senddatat($url,$post)
{
$ch = curl_init();
curl_setopt($ch,CURLOPT_CUSTOMREQUEST,"POST");
curl_setopt($ch,CURLOPT_URL,$url);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);
curl_setopt($ch,CURLOPT_POSTFIELDS,$post);
curl_setopt($ch,CURLOPT_FOLLOWLOCATION,1);
curl_setopt($ch, CURLOPT_POST,true);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json','charset=UTF-8 '));
$result = curl_exec($ch);
/*echo "<pre>";
var_dump( curl_getinfo($ch) ) . '<br/>';
echo curl_errno($ch) . '<br/>';
echo curl_error($ch) . '<br/>';
curl_close($ch);*/
return $result;
}

echo " ".senddatat($url11,$json);


}
?>

最佳答案

首先检查愚蠢的错误:这是您的字段: firstName,lastName,phone,gender

<input type="text" name="firstName"/><br/>
<input type="text" name="lastName"/><br/>
<input type="text" name="phone"/><br/>
<input type="text" name="gender"/><br/>

以及您在帖子请求中得到的内容: firstName,lastName,email,phone 我不知道您如何在帖子中获得email要求????

$name = $_POST['firstName'];
$lastname = $_POST['lastName'];
$email = $_POST['email'];
$phone = $_POST['phone'];

更新:

<form method="POST" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>" name="checkout">

First Name <input type="text" name="firstName"/><br/>
Last name <input type="text" name="lastName"/><br/>
phone <input type="text" name="phone"/><br/>
gender <input type="text" name="gender"/><br/>

<input type="submit" name="submit" value="submit"/>

</form>

</body>

</html>

<?php

if(isset($_POST['submit']) && !empty($_POST['firstName']) && !empty($_POST['lastName']) && !empty($_POST['phone']) && !empty($_POST['gender']) ){

$name = $_POST['firstName'];
$lastname = $_POST['lastName'];
$phone= $_POST['phone'];
$gender= $_POST['gender'];

$url11 = "https://api.rezdy.com/v1/categories/124095/products?apiKey=bb42962c78b34e02b879cc5463cb4648";

$data['customer'] = array('firstName'=>$name,'lastName'=>$lastname,'email'=>$phone,'phone'=>$gender);

echo "<pre>";
$json = json_encode($data);
echo $json;
echo "<br/>";

function senddatat($url,$post)
{
$ch = curl_init();
curl_setopt($ch,CURLOPT_CUSTOMREQUEST,"POST");
curl_setopt($ch,CURLOPT_URL,$url);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);
curl_setopt($ch,CURLOPT_POSTFIELDS,$post);
curl_setopt($ch,CURLOPT_FOLLOWLOCATION,1);
curl_setopt($ch, CURLOPT_POST,true);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json','charset=UTF-8 '));
$result = curl_exec($ch);
/*echo "<pre>";
var_dump( curl_getinfo($ch) ) . '<br/>';
echo curl_errno($ch) . '<br/>';
echo curl_error($ch) . '<br/>';
curl_close($ch);*/
return $result;
}

echo " ".senddatat($url11,$json);


}
?>

关于php - 405 方法不允许 json 数据不发布,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46605053/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com