Как на php записать новую статью в базу?

50Hz

Осваивается
Регистрация
02.04.2014
Сообщения
24
Реакции
1
Мне нужно с помощью php-скрипта записать новую статью в базу mrdiawiki. Нет у кого под рукой кодов - как это сделать?

Смотрел Manual: Developing extensions, но там простого решения не нашел.

Где-то в движке должна быть стандартная функция записи в базу.

Расширение писать мне не нужно.
 
Пишите через API.
 
  • Like
Реакции: 50Hz
понятно, будем разбираться.
 
Один раз получилось и все. :)

При попытке записать новую статью в режиме edit, присылает ид и вопрос капчи, я отсылаю, он присылает новый ид капчи.

И как первый раз прошло не помню. :(

Залогиненый в браузере на сайте, открываю страницу php-скрипта, который пишет запись в базу, - не проходит.

Посылаю запрос на получение токена чтобы залогиниться, получаю, пытаюсь залогиниться, он присылает новый токен.

не запоминается, что скрипт уже обращался.

ага, - кажется надо через curl делать и не закрывать соединение?
 
Последнее редактирование:
кажись получилось :)

примерно так:

PHP:
$path_cookie = 'connexion_temporaire.txt';
if ( !file_exists($path_cookie) ) touch ( $path_cookie );
$curl = curl_init();

$postfields = array(
        'action' => 'edit',
        'format'=> 'json',
        'token' => '+\\',
        'title' => '111',
        'text' => 'article',
        'basetimestamp' => time()
);
curl_setopt($curl, CURLOPT_URL, 'http://wiki.info/api.php' );
curl_setopt($curl, CURLOPT_COOKIESESSION, true);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_POSTFIELDS, $postfields);
curl_setopt($curl, CURLOPT_COOKIEJAR, $path_cookie); // you put your cookie in the file
$connexion = curl_exec ( $curl );
$json_connexion = json_decode ( $connexion, true );

preg_match ( '~\d{9}~is', $connexion, $CaptchaId );

// /!\ don't close the curl conection or initialize a new one or your session id will change !

$postfields = array(
        'action' => 'edit',
        'format'=> 'json',
        'token' => '+\\',
        'title' => '111',
        'text' => 'article',
        'basetimestamp' => time(),
        'captchaword' => '31',
        'captchaid' => $CaptchaId[0]
);
curl_setopt($curl, CURLOPT_URL, 'http://wiki.info/api.php' );
curl_setopt($curl, CURLOPT_COOKIESESSION, true);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_POSTFIELDS, $postfields);
curl_setopt($curl, CURLOPT_COOKIEFILE, $path_cookie); //get the previous cookie
$connexionToken=curl_exec($curl);
 
А можете простым языком объяснить - для чего это всё и с чем это едят?
 
перепост статей из одного источника в другой.
 
экспорт из других сайтов
 
Назад
Верх