我正在尝试使用Post在页面之间发送帖子数据。不是表格 - 就像我可能在页面之间传递验证错误(在几个地方使用它)。
cURL正在执行,但它只是在底部的新页面上进行处理。如何执行cURL Post并加载以下页面?
所以我的目标是在页面之间发送数据。我不想使用GET或cookie,因为我不想依赖用户,我宁愿不使用$ _SESSION,因为它不是直接关于会话在页面之间发送私有数据。
由于
$ch = curl_init($some_url);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, 'myvar=something');
curl_exec($ch);
curl_close($ch);
我怀疑代码是否有任何相关性,因为它是关于执行任务而不是代码语法(在这个例子中可能有一个,但你必须相信我,因为它检索正常而不是代码有问题)。
答案 0 :(得分:0)
你为什么使用cURL?为什么不使用AJAX:
$(function() {
// Send data asynchronously
$.ajax({
url: '/path/to/your/script.php',
type: 'POST',
data: 'var1=value1&var2'=$('input.some_class').val(),
success: function(data) {
// Send the user to another page
window.location.href = '/to/infinity/and/beyond';
}
});
});
答案 1 :(得分:0)
您可以将$_SESSION
超全局分成数组,这些数组描述当前用户/会话以及表单创建的任何错误。例如,
$_SESSION = array(
'user' => array(), // user data goes here
'errors' => array() // validation data goes here
);
if (!$_POST['myvar'] == 'something') {
$_SESSION['errors']['myvar'] = 'You must specify a value for <code>myvar</code>';
}
然后,您可以使用以下调用在后续页面上输出错误:
if (isset($_SESSION['errors'])) {
foreach($_SESSION['errors'] as $error) {
echo '<li>' . $error . '</li>';
}
}
答案 2 :(得分:0)
使用ajax for exec
$(function() {
/
data: 'var1=value1&/ Send data asynchronously
$.ajax({
url: '/path/to/your/script.php',
type: 'POST',var2'=$('input.some_class').val(),
success: function(data) {
// Send the user to another page
window.location.href = '/to/infinity/and/beyond';
}
});
});