Php 向cURL请求提交带有数据的表格

Php 向cURL请求提交带有数据的表格,php,jquery,forms,curl,Php,Jquery,Forms,Curl,我试图获得一个页面,该页面显示一个允许文件上传的表单,然后在提交时运行一个php函数(curl)将文件上传到API。但是我需要一个来自API的上传令牌来返回并将其自身包含在表单中 我不确定最好的方法是什么,我只是一个初学者 我的代码如下: 如您所见,我尝试在提交时运行php函数,然后jQuery使用curl响应返回的变量附加一个隐藏的输入,但我不知道这是否可行 有没有人能给我们一些建议,让我们找到一个更好的方法 <html> <head> <title>Ze

我试图获得一个页面,该页面显示一个允许文件上传的表单,然后在提交时运行一个php函数(curl)将文件上传到API。但是我需要一个来自API的上传令牌来返回并将其自身包含在表单中

我不确定最好的方法是什么,我只是一个初学者

我的代码如下: 如您所见,我尝试在提交时运行php函数,然后jQuery使用curl响应返回的变量附加一个隐藏的输入,但我不知道这是否可行

有没有人能给我们一些建议,让我们找到一个更好的方法

<html>

<head>
<title>Zendesk Form</title>
</head>

<body>


<?php

require_once('zendesk.php');

if (isset($_POST["z_name"])) {

$upload = $_POST['z_attachment'];
$initial = curlWrap("/uploads.json?filename=license2233.txt", $upload, "POST");

?>

<script>
$("#zenform").append('<input type="hidden" name="z_token" value="<?php echo $upload_token; ?>" />').submit();
</script>

<?php } ?>



<div class="zenform">

<form id="zenForm" method="POST" action="zenconnect.php" name="zenform">

<label>Name:</label>
<input type="text" value="" name="z_name">

<label>Email:</label>
<input type="text" value="" name="z_requester">

<label>Subject:</label>
<input type="text" value="" name="z_subject">

<label>Change:</label>
<textarea value="" name="z_description"></textarea>

<label>Attach Files:</label>
<input type="file" name="z_attachment">

<!-- <input type="hidden" name="z_token" value="<?php echo $upload_token; ?>"> -->

<input type="submit" value="Send Changes" id="zenSubmit">

</form>

</div>

</body>

</html>

Zendesk表格

$(“#zenform”).append(“也许您应该重新考虑使用php curl

您已经标记了jquery-因此我建议您在表单上捕获提交事件并自己控制它。这将防止页面重新提交。我的意思是:

使用此样式的选择器获取表单数据

var request_data = {
  z_name: $('input#(id of zname input field').val(),
  z_subject: $('input#(id of zsubject input field').val(),
...
} //you havent set your id's yet

$.post("youruri", request_data, function(data, err){
  if(err){ 
    console.log(err); 
  } else {
    //do something with your received data
  }
});

这有帮助吗?

谢谢你的帮助,我肯定会尝试一下,尽管我是一个初学者,API文档似乎只适合curl方法,我不确定我是否能够将所有内容重新编码到Jquery/Ajax中-我使用Jquery尝试根据curl请求操作表单,但我假设这可能不是正确的sible.坚持curl我只需要创建更多的重定向,而不是使用jQuery吗?这是你的架构问题。你想在客户端和服务器上做客户端的事情。1.客户端请求form.php->server接受请求并将form.php解释为html并发送response->user看到前面的表单他并输入信息->用户提交他的信息->javascript(jQuery)验证此信息并告诉用户更正错误->用户更正错误并再次提交->javascript验证并没有发现错误,因此它将表单发送到服务器->服务器响应:感谢填写我的表单;这是“工作流”。使用javascript发送请求并捕获回调中的响应,然后动态编辑DOM是一种用户体验,而不是体系结构。如果您想设计用户认为有吸引力的应用程序/网页,您应该使用jquery