post jquery -> curl post-> echo post

Тема в разделе "Как сделать...", создана пользователем new_forward, 12 июл 2012.

Статус темы:
Закрыта.
  1. new_forward

    new_forward

    Регистр.:
    5 май 2008
    Сообщения:
    668
    Симпатии:
    44
    Доброго времени суток!
    Отправляю пост через jquery файлу send.php, все доходит...
    В send.php курл отправляет постом test.php пришедшие переменные от jquery....

    send.php (курл:(
    PHP:
    function curl_post($url$postdata){
            
    $ch curl_init();
            
    curl_setopt($chCURLOPT_URL$url);
            
    curl_setopt($chCURLOPT_RETURNTRANSFER0);
            
    curl_setopt($chCURLOPT_POST1);
            
    curl_setopt($chCURLOPT_POSTFIELDS$postdata);
            
    curl_setopt($chCURLOPT_CONNECTTIMEOUT30);
            
    curl_exec($ch);
            
    curl_close($ch);
        }
     
    $postdata 'email='.$email.'&txt='.$txt;
    $url 'http://www.mysite.ru/test.php';
     
       
    $page curl_get($url$postdata);
       echo 
    $page;
    test.php
    PHP:
    echo $_POST['email'];
    Вот по идее send.php должен вернуть значение $_POST['email'] , но этого не происходит, не пойму почему :nezn:
     
  2. KillDead

    KillDead

    Регистр.:
    11 авг 2006
    Сообщения:
    890
    Симпатии:
    562
    на первый взгляд всё нормально. Есть вариант что ошибка у курла возникает, вы же никак не проверяете была ошибка или нет. Сделайте вывод ошибок, + вместо echo $_POST['email']; введите print_r($_SERVER);
    это сразу даст понять былл коннект или нет и все параметры коннекта.
    + функция curl_post ничего не возвращает. Печатать будет сам курл
     
  3. new_forward

    new_forward

    Регистр.:
    5 май 2008
    Сообщения:
    668
    Симпатии:
    44
    Спасибо разобрался...просто использовал функцию curl_get (в которой нет CURLOPT_POSTFIELDS) а не curl_post...
    Скажите пожалуйста еще такой вопрос как курлом с эмулировать правильно отправку переменных с такими именами

    contact и contact[txt] , они так в форме передаются...

    Я пишу вот так
    PHP:
    $postdata 'contact[email]='.$email.'&contact[txt]='.$txt;
    но ничего не получается...
     
  4. latteo

    latteo Эффективное использование PHP, MySQL

    Moderator
    Регистр.:
    28 фев 2008
    Сообщения:
    1.549
    Симпатии:
    1.433
    Можно как-то так:
    PHP:
    $postdata 'contact[email]=miloo&contact[txt]=textt'
    Хотя это аналог твоего, но у меня замечательно сработал, а браузер передаёт вот так:
    PHP:
     $postdata urlencode('contact[email]').'='.urlencode('miloo').'&'.urlencode('contact[txt]').'='.urlencode('textt'); 
    тема слегка переезжает...

    upd: Решение получено - тема закрыта.
     
Статус темы:
Закрыта.