Отправка данных с помощью curl - фактически обновление на следующую страницу - PullRequest
0 голосов
/ 03 апреля 2012

Я пытаюсь отправить данные сообщения между страницами с помощью сообщения.Не форма - как я могу передавать ошибку проверки между страницами или что-то (используя его в нескольких местах).

CURL выполняется нормально, но он просто привязывает новую страницу внизу.Как выполнить публикацию cURL и загрузить следующую страницу?

Поэтому моя цель - отправлять данные между страницами.Я не хочу использовать 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);

Я сомневаюсь, что код имеет какое-либо значение, поскольку речь идет о выполнении задачи, а не о синтаксисе кода (в этом примере может быть одна, но вам придется поверить мне, что это не кодэто глючит, так как он восстанавливается нормально).

Ответы [ 3 ]

0 голосов
/ 05 апреля 2012

Вы можете разделить ваш $_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>';
  }
}
0 голосов
/ 10 апреля 2013

Использование ajax для 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';
      }
   });

});
0 голосов
/ 04 апреля 2012

Почему вы используете 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';
      }
   });

});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...