Форум программистов, компьютерный форум, киберфорум
PHP
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.50/18: Рейтинг темы: голосов - 18, средняя оценка - 4.50
0 / 0 / 0
Регистрация: 14.10.2009
Сообщений: 18

как вызвать процедуру...

14.10.2009, 16:14. Показов 3644. Ответов 32
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть phpbb форум.Хочу автоматизировать добавление пользователей.Нашёл что это можно сделать через встроенную функцию user_add,в которую передаётся массив.
В корне форума создал 123.php
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
<?php
    define('IN_PHPBB', true);
    /* set scope for variables required later */
    global $phpbb_root_path;
    global $phpEx;
    global $db;
    global $config;
    global $user;
    global $auth;
    global $cache;
    global $template;
    Echo('1');
    # your php extension
    $phpEx = substr(strrchr(__FILE__, '.'), 1);
    $phpbb_root_path = ;
 
    /* includes all the libraries etc. required */
    require($phpbb_root_path ."common.php");
    $user->session_begin();
    $auth->acl($user->data);
 
    /* the file with the actual goodies */
    require($phpbb_root_path ."includes/functions_user.php");
 
    /* All the user data (I think you can set other database fields aswell, these seem to be required )*/
    $user_row = array(
    'username' => "Username",
    'user_password' => md5("Password"), 'user_email' => "Email",
    'group_id' => $default_group_id,
    'user_timezone' => '1.00?,
    'user_dst' => 0,
    'user_lang' => 'en',
    'user_type' => '0?,
    'user_actkey' => ",
    'user_dateformat' => 'd M Y H:i',
    'user_style' => $not_sure_what_this_is,
    'user_regdate' => time(),
    );
 
    /* Now Register user */
    $phpbb_user_id = user_add($user_row); 
   
?>
теперь хочу вызвать её из броузера( в дальнейшем буду вызавть её своими програмами)
пишу .../forum/123.
получаю HTTp/1.1 404 Not Found.
Как вызывать данную функцию
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
14.10.2009, 16:14
Ответы с готовыми решениями:

Как вызвать процедуру?
Сам код процедуры: CREATE PROC count_purchases (@dl SMALLDATETIME, @d2 SMALLDATETIME, @c INT OUTPUT) AS begin SELECT...

Как вызвать процедуру
Здравствуйте. На одном сайте нашел нужную мне процедуру. procedure DelStroki(Memo:tmemo); const Stroka=''; var i,i2:integer; ...

как вызвать процедуру?
как вызвать HeapSort в процедуре нажатия кнопки? procedure HeapSort(var N: integer); var i: integer; procedure Swap(var...

32
0 / 0 / 0
Регистрация: 14.10.2009
Сообщений: 18
19.10.2009, 17:03  [ТС]
Студворк — интернет-сервис помощи студентам
А текст 123.php так и оставлять?
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
<?php
ini_set('display_errors',1);
error_reporting(E_ALL);
 
    define('IN_PHPBB', true);
    /* set scope for variables required later */
    global $phpbb_root_path;
    global $phpEx;
    global $db;
    global $config;
    global $user;
    global $auth;
    global $cache;
    global $template;
    Echo('1');
    # your php extension
    $phpEx = substr(strrchr(__FILE__, '.'), 1);
    $phpbb_root_path = '';
 
    /* includes all the libraries etc. required */
    require($phpbb_root_path ."common.php");
    $user->session_begin();
    $auth->acl($user->data);
 
    /* the file with the actual goodies */
    require($phpbb_root_path ."includes/functions_user.php");
 
    /* All the user data (I think you can set other database fields aswell, these seem to be required )*/
    $user_row = array(
    'username' => "Username",
    'user_password' => md5("Password"), 'user_email' => "Email",
    'group_id' => $default_group_id,
    'user_timezone' => '1.00',
    'user_dst' => 0,
    'user_lang' => 'en',
    'user_type' => '0',
    'user_actkey' => '',
    'user_dateformat' => 'd M Y H:i',
    'user_style' => $not_sure_what_this_is,
    'user_regdate' => time()
    );
 
    /* Now Register user */
    $phpbb_user_id = user_add($user_row); 
    Echo($phpbb_user_id);
 
?>
Вообщето во всех языках при обьявление функций описываются параметры если они передаются...
0
 Аватар для GalaX
701 / 573 / 59
Регистрация: 18.11.2008
Сообщений: 2,147
19.10.2009, 17:24
Цитата Сообщение от denis24 Посмотреть сообщение
А текст 123.php так и оставлять?
наверное надо че-то менять, но я понятия не имею че - я же незнаю какие параметры ты собираешься отправлять в пхп-скрипт, следовательно я незнаю что и где менять/добавлять

Цитата Сообщение от denis24 Посмотреть сообщение
Вообщето во всех языках при обьявление функций описываются параметры если они передаются...
точно! и вот здесь они как-раз и описываются:
mydome.com/forum/123.php?param1=value1&param2=value2&param3=value3 и т.д.
красным - имя параметра, зеленым - значение этого параметра

а как принимать в пхп-скрипте эти параметры, я уже написал:
PHP
1
2
$_GET['param1']; // - содержит значение  "значение1"
$_GET['param2']; // - содержит значение "значение2"
0
0 / 0 / 0
Регистрация: 14.10.2009
Сообщений: 18
19.10.2009, 17:37  [ТС]
Код PHP
$_GET['param1']; // - содержит значение "значение1"
$_GET['param2']; // - содержит значение "значение2"
вписать с сам 123.php?
вот так?
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<?php
$_GET['param1']; // - содержит значение  "значение1"
$_GET['param2']; // - содержит значение "значение2"
ini_set('display_errors',1);
error_reporting(E_ALL);
 
    define('IN_PHPBB', true);
    /* set scope for variables required later */
    global $phpbb_root_path;
    global $phpEx;
    global $db;
    global $config;
    global $user;
    global $auth;
    global $cache;
    global $template;
    Echo('1');
    # your php extension
    $phpEx = substr(strrchr(__FILE__, '.'), 1);
    $phpbb_root_path = '';
 
    /* includes all the libraries etc. required */
    require($phpbb_root_path ."common.php"
.
.
.
Мне нужно передавать в качестве параметра значения $user_row = array(
'username' => "Username",
'user_password' => md5("Password"), 'user_email' => "Email",
0
 Аватар для GalaX
701 / 573 / 59
Регистрация: 18.11.2008
Сообщений: 2,147
19.10.2009, 18:14
Цитата Сообщение от denis24 Посмотреть сообщение
Код PHP
$_GET['param1']; // - содержит значение "значение1"
$_GET['param2']; // - содержит значение "значение2"
вписать с сам 123.php?
вот так?
нет

выложи кусок кода delphi, где(и как!) ты отправляешь запрос в этот скрипт, а потом посмотрим че да как...
0
0 / 0 / 0
Регистрация: 14.10.2009
Сообщений: 18
19.10.2009, 18:51  [ТС]
тут всего одна строка
DataModule1.Browser.Get(mydomain.com/forum/123.php
это так вызывать без параметров
0
 Аватар для GalaX
701 / 573 / 59
Регистрация: 18.11.2008
Сообщений: 2,147
20.10.2009, 05:26
допиши все параметры
0
0 / 0 / 0
Регистрация: 14.10.2009
Сообщений: 18
20.10.2009, 15:40  [ТС]
пусть будет нужно три параметра входящие в процедуру
username,user_password,user_email
Упустим момент вызова TIdHttp в делфи(там всё просто)
Как вызвать из строки адреса браузера понятно
mydomen.com/forum/123.php?username='aaa'&user_password='pa ssword'&user_email='fff@mydomen.com

А что написать в forum/123.php после <?php чтобі она приняла параметры как из подставлять?
PHP
1
2
3
4
<?php
...
.
.
0
 Аватар для GalaX
701 / 573 / 59
Регистрация: 18.11.2008
Сообщений: 2,147
20.10.2009, 16:05
Цитата Сообщение от denis24 Посмотреть сообщение
mydomen.com/forum/123.php?username='aaa'&user_password='pa ssword'&us er_email='fff@mydomen.com
апострофы не нужны, надо так:
mydomen.com/forum/123.php?username=aaa&user_password=passw ord&user_email=fff@mydomen.com
иначе эти апострофы будут в значении параметра в пхп-скрипте

а эти изменения нужны в пхп-скрипте:
PHP
1
2
3
4
5
6
...
$user_row = array(
'username' => $_GET['username'],
'user_password' => md5($_GET['user_password']), 'user_email' => $_GET['user_email']),
'group_id' => $default_group_id,
...
0
0 / 0 / 0
Регистрация: 14.10.2009
Сообщений: 18
20.10.2009, 16:34  [ТС]
Всё получилось.Большое спасибо.Вы настоящий человек
Теперь ещё вопрос.Проблема С array_diff и руссими символами...


Массив который заполняется выше по теме
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
    $user_row = array(
    'username' => $_GET['username'],
    'user_password' => md5($_GET['user_password']), 'user_email' => $_GET['user_email'],
    'group_id' => 11,
    'user_timezone' => '2.00',
    'user_dst' => 0,
    'user_lang' => 'ru',
    'user_type' => '0',
    'user_actkey' => '',
    'user_dateformat' => 'd M Y H:i',
    'user_style' => $not_sure_what_this_is,
    'user_regdate' => time(),
    'user_from' => 'Москва',  
    );
передаётся в процедуру user_add()
в кторой есть такой момент
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
$sql_ary = array(
        'username'          => $user_row['username'],
        'username_clean'    => $username_clean,
        'user_password'     => (isset($user_row['user_password'])) ? $user_row['user_password'] : '',
        'user_pass_convert' => 0,
        'user_email'        => strtolower($user_row['user_email']),
        'user_email_hash'   => crc32(strtolower($user_row['user_email'])) . strlen($user_row['user_email']),
        'group_id'          => $user_row['group_id'],
        'user_type'         => $user_row['user_type'],
        'user_from'         => $user_row['user_from'],
    );
.
.
.
 
$remaining_vars = array_diff(array_keys($user_row), array_keys($sql_ary));
Так вот .Если написать 'user_from' => 'Moscow' то в поле таблицы добавляется Moscow
Если же как в коде -Москва->то ничего не добавляется
0
 Аватар для GalaX
701 / 573 / 59
Регистрация: 18.11.2008
Сообщений: 2,147
20.10.2009, 18:39
проблема с кодировками, но из какой в какую кодировать я незнаю, попробуй два варианта:
PHP
1
2
3
4
5
6
7
...
$user_row = array(
'username' => iconv('utf-8', 'cp1251', $_GET['username']),
'user_password' => md5(  iconv('utf-8', 'cp1251', $_GET['user_password']) ),
'user_email' => iconv('utf-8', 'cp1251', $_GET['user_email']),
'group_id' => $default_group_id,
...
если не получиться первый, то этот:
PHP
1
2
3
4
5
6
7
...
$user_row = array(
'username' => iconv('cp1251', 'utf-8', $_GET['username']),
'user_password' => md5(  iconv('cp1251', 'utf-8', $_GET['user_password']) ),
'user_email' => iconv('cp1251', 'utf-8', $_GET['user_email']),
'group_id' => $default_group_id,
...
если не получится второй, то тебе надо сначала узнать в какой кодировке ты отправляешь данные и в какой кодировке у тебя база
1
0 / 0 / 0
Регистрация: 14.10.2009
Сообщений: 18
20.10.2009, 19:14  [ТС]
вторая подошла.
Ну ты ЧЕЛОВЕЧИЩЕ!
дай тебе бог здоровья!
0
0 / 0 / 0
Регистрация: 14.10.2009
Сообщений: 18
23.10.2009, 15:41  [ТС]
Уважаемый GаlаX .Разрешите ещё один вопрос.
С передаю в качестве параметра город
mydomen.com/forum/123.php?username=aaa&user_password=passw ord&user_e mail=fff@mydomen.com&user_from=кривой рог
Всё вставляет, только в user_from Кривой.
Как передать параметр, в которои значение с пробелом или точка или ещё какото спец символ?
0
Почетный модератор
 Аватар для Humanoid
11561 / 4356 / 453
Регистрация: 12.06.2008
Сообщений: 12,457
23.10.2009, 18:43
Цитата Сообщение от denis24 Посмотреть сообщение
mydomen.com/forum/123.php?username=aaa&user_password=passw ord&user_e mail=fff@mydomen.com&user_from=кривой рог
Всё вставляет, только в user_from Кривой.
Передавай user_from=кривой+рог
А вообще, для этих целей есть функция urlencode()... она сама заменяет запрещённые символы на их номера.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
23.10.2009, 18:43

Как вызвать процедуру?
Помогите, пожалуйста. Как вызвать процедуру Action ? С какими параметрами? procedure Action(var f: arr; var count: integer); begin ...

Как вызвать процедуру
procedure filecar; type care = record gnumber: string;//гос-номер автомобиля brand: string;//марка автомобиля ...

Как вызвать процедуру?
Вопщем, мне нада вызвать процедуру Krest_1 с ввода клавиатуры. Например, ввожу &quot;1&quot; и получаю процедуру &quot;Krest_1&quot;. нада как то...

Как вызвать процедуру
Procedure Level1; begin PlaySound(button); menu1.visible:=false; menu2.visible:=false; menu3.visible:=false;...

Как вызвать процедуру
Всем привет! Столкнулся с такой проблемай. Пишу DLL, в которой идёт процедура за процедурой, без объявления в начале. Мне надо как-то из...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
33
Ответ Создать тему
Новые блоги и статьи
Кредитный калькулятор
Maks 05.08.2026
Решение задачи по прикладной информатике средствами 1С. Задача: Напишите приложение-калькулятор, которое помогает рассчитывать параметры кредита для аннуитетного и дифференцированного видов. . .
У нас сейчас поговорку "Опять 25" нужно переделать на "Опять +35".
kumehtar 04.08.2026
С ностальгией вспоминаю времена моего детства, когда у нас и правда +25 - была максимальная температура летом. Раньше +25 °C реально казались вершиной жары, когда можно было весь день пропадать на. . .
Как ИИ начал спорить и врать (возможно почуяв опасность для себя от индустрии - уход от электроники).
Hrethgir 04.08.2026
Недельный диалог, на фоне событий с НПЗ. Да, из спирта можно получать бензин, и это не сложно. Но потом в схеме я решил избавиться от насоса, при этом полностью сделав контроль подачи спирта в. . .
Термопринтер QR701
Argus19 03.08.2026
Термопринтер QR701 Купил два термопринтера QR701. На сэлф-тесте написано: Language: PC936 (GB18030). Что означает, что принтеры могут печатать только латиницу и китайские иероглифы. Так же. . .
Создание формы заимствованного документа
Maks 03.08.2026
Задача: Необходимо создать собственную форму заимствованного документа. На форме должен быть реквизит "Покупатель", а также табличная часть со следующими реквизитами: - Расчетный счет покупателя. . .
Задача предоставления скидок покупателям
Maks 03.08.2026
Задача: В документе "Продажи" необходимо реализовать функционал предоставления скидок покупателям. Скидка должна автоматически рассчитываться и подставляться в соответствующее поле при выборе. . .
Почему SEO не начинается с ключевых слов: что проверить до написания текстов
Neotwalker 01.08.2026
Когда владельцу сайта предлагают заняться SEO, первым шагом часто становится сбор запросов и написание текстов. Логика кажется понятной: 1. Находим ключевые слова. 2. Добавляем их на. . .
Знание — сила: Доктрина интенциональности знаний, углубление в формулу
Hrethgir 01.08.2026
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11957&stc=1&d=1785567302 Знаменитый афоризм Фрэнсиса Бэкона «Знание — сила» (Scientia potentia est) в массовой культуре принято понимать. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru