Все технические форумы на одном сайте Удобный поиск информации с популярных форумов в одном месте
Вопрос: FibPlus два TpFibDatabase с разными Charset

Привет всем! Нужна помощь - БД в Charset=win1251, добавил новую табличку с полем в Charset=UTF8, чтобы приложение на делфи не переделывать решил добавить отдельный TpFibDatabase на форму, где предполагал редактировать таблицу с UTF8, но засада - как только устанавливаю (в редакторе) Charset=UTF8 и запускаю приложение - все текстовые данные "кракозяблами",
хотя основной TpFibDatabase находится в TDataModule и там Charset=win1251. Как этот "локальный" TpFibDatabase влияет на
TpFibDatabase, находящийся в TDataModule, ведь форма с "локальным" TDataModule даже не запускается.
Как разрулить ситуацию?
Ответ: kdv, снял все птички в указанных группах в обеих компонентах - ситуация таже.
6.9.6 Release for 2009 - когда-то его патчил для делфи 2010, но сейчас еще один глюк обнаружил с юникодом (cxGrid) - и хотя решение тут тоже на форуме есть, но он меня уже достал за 2 дня борьбы с ветряными мельницами.
Приняли решение - на делфи+фибы останется win1251, а ту часть что с UTF8 переписать под C.NET
Спасибо - тему можно закрывать.
Вопрос: Что возвращает Charset.defaultCharset().name() под TomCat

Доброго дня господа !

Возник вопрос
Сервлет Java - строчка кода
System.out.println(Charset.defaultCharset().name());

Настройки страницы сервлета
	protected void doExecute(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException 
	{
             response.setContentType("text/html;charset=utf-8");
             response.setCharacterEncoding("utf-8");
             PrintWriter out = response.getWriter();
             System.out.println(Charset.defaultCharset().name());



Запуск из под Eclipse
Настройка IDE Window->Preferences->General->Workspace->Text file encoding=UTF-8)
Настройка оформленного WebServer Servers-> Tomcat v9.0 Server at localhost-config -> server.xml->Connector->
<Connector connectionTimeout="20000"
port="8080"
protocol="HTTP/1.1"
redirectPort="8443"
URIEncoding="UTF-8"
useBodyEncodingForURI="true"
/>
Возврат значения = UTF-8

Запуск из под Tomcat (операционка WIN7)
Настройка
C:\Program Files\Java\apache-tomcat-9.0.0.M11-windows-x86\apache-tomcat-9.0.0.M11\conf\server.xml->Connector->
<Connector port="8080"
protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443"
URIEncoding="UTF-8"
useBodyEncodingForURI="true"
/>
Возврат значения = windows-1251

в обоих случаях IE показывает страницу в UTF-8

Вопрос что именно возвращает Charset.defaultCharset().name()
И как изменить в кодировку в случае запуска TomКОТА под Win7

Заранее благодарен !

К сообщению приложен файл. Размер - 52Kb
Ответ: Blazkowicz,

Принято - спасибо

Создан C:\...ache-tomcat-9.0.0.M11\bin\setenv.bat
C содержанием
set "JAVA_OPTS=%JAVA_OPTS% -Dfile.encoding=UTF8"

Все получилось красиво и без доп. запусков и донастроек
Вопрос: Gradle 2.3 + JUnit 4.11 = сломанный Charset

В обычных условия в файл записываются правильные байты, но в связке Gradle 2.3 + JUnit 4.11 результат неожиданный.

    import org.junit.Test;
    import java.io.FileOutputStream;
    import static org.junit.Assert.*;
     
    public class TestUTF16Test
    {
       @Test
       public void testWrite() throws Exception
       {
          try (FileOutputStream bin = new FileOutputStream("testUTF16junit.txt")) {
             bin.write("Русский".getBytes("UTF-16LE"));
          }
       }
    }


build.gradle
    apply plugin: 'java'
     
    sourceCompatibility = 1.7
    version = '1.0'
     
    repositories {
        mavenCentral()
    }
     
    dependencies {
        testCompile group: 'junit', name: 'junit', version: '4.11'
    }

    $ gradle.bat :clean :test
    :clean
    :compileJavawarning: [options] bootstrap class path not set in conjunction with -source 1.7
    1 warning
     
    :processResources UP-TO-DATE
    :classes
    :compileTestJavawarning: [options] bootstrap class path not set in conjunction with -source 1.7
    1 warning
     
    :processTestResources UP-TO-DATE
    :testClasses
    :test
     
    BUILD SUCCESSFUL
     
    Total time: 4.999 secs


Результат:
    20 04 A0 00 21 04 53 04 21 04 03 04 21 04 03 04... 28 bytes

Но должно быть:
    20 04 43 04 41 04 41 04 3A 04 38 04 39 04 = 14 bytes


OS: Microsoft Windows 7 [Version 6.1.7601]
Ответ:
Цитата Keepun @
Gradle 2.3 + JUnit 4.11

Это же некоммерческие версии, в них полно багов!

Добавлено
Нельзя юзать это в коммерческом коде!
Вопрос: Динамическое создание Edit в цикле, с заполнением текста из базы данных

Прошу помощи.
Хочу сделать телефонную книгу. При двойном клике на DBGrid создается динамическая форма с динамическими элементами, в частности с Edit-оми. У меня получается заполнять Edit с ошибкой, заполняется последняя строка из цикла таблицы, в каждом едите. А мне надо чтобы в каждой строчке Edit-ов заполнялась каждая строчка отфильтрованной базы данных. Подскажите, что не так написал?
Delphi
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
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
procedure TForm_DirectoryClient.DBGrid3DblClick(Sender: TObject);
var
  r: Real;
  RecCou, a, i: Integer;
begin
  Form_TeleonnuaKniga := TForm.Create(Application);
 
  with Form_TeleonnuaKniga do
  begin
    BorderStyle := bsDialog;
    BorderWidth := 5;
    Caption := 'Телефонный справочник';
    Position := poOwnerFormCenter;
    Height := 710;
    Width := 1100;
  end;
 
  with Form_TeleonnuaKniga do
  begin
    Panel01 := TPanel.Create(Form_TeleonnuaKniga);
    with Panel01 do
    begin
      Parent := Form_TeleonnuaKniga;
      BevelInner := bvLowered;
      BevelOuter := bvSpace;
      Align := alTop;
      Height := 600;
    end;
 
    GroupBox01 := TGroupBox.Create(Panel01);
    with GroupBox01 do
    begin
      AlignWithMargins := True;
      Caption := ' Наименование компании ';
      Parent := Panel01;
      Align := alTop;
      Height := 70;
      Width := Form_TeleonnuaKniga.Width - 40;
    end;
 
    Label01 := TLabel.Create(GroupBox01);
    with Label01 do
    begin
      Parent := GroupBox01;
      Left := 8;
      Top := 16;
      Caption := 'Полное наименование';
      with Font do
      begin
        Charset := RUSSIAN_CHARSET;
        Color := clBlue;
        Name := 'Tahoma';
        Size := 8;
        Style := [fsBold];
      end;
    end;
 
    Label02 := TLabel.Create(GroupBox01);
    with Label02 do
    begin
      Parent := GroupBox01;
      r := GroupBox01.Width/2+8;
      Left := Round(r);
      Top := 16;
      Caption := 'Краткое наименование';
      with Font do
      begin
        Charset := RUSSIAN_CHARSET;
        Color := clBlue;
        Name := 'Tahoma';
        Size := 8;
        Style := [fsBold];
      end;
    end;
 
    Edit03 := TEdit.Create(GroupBox01);
    with Edit03 do
    begin
      Parent := GroupBox01;
      Left := Label01.Left;
      Top := Label01.Top + Label01.Height + 6;
      Width := Label02.Left - 16;
      with Font do
      begin
        Charset := RUSSIAN_CHARSET;
        Color := clWindowText;
        Name := 'Tahoma';
        Size := 10;
        Style := [fsBold];
      end;
      Text := DataModule5.FDQuery_Telefon.FieldByName('PolnoeNaimenovanie').AsString;
    end;
 
    Edit04 := TEdit.Create(GroupBox01);
    with Edit04 do
    begin
      Parent := GroupBox01;
      Left := Label02.Left;
      Top := Label02.Top + Label02.Height + 6;
      Width := Edit03.Width + 6;
      with Font do
      begin
        Charset := RUSSIAN_CHARSET;
        Color := clWindowText;
        Name := 'Tahoma';
        Size := 10;
        Style := [fsBold];
      end;
      Text := DataModule5.FDQuery_Telefon.FieldByName('KratkoeNaimenovanie').AsString;
    end;
  end;
 
  PageControl01 := TPageControl.Create(Panel01);
  with PageControl01 do
  begin
    Parent := Panel01;
    Align := alClient;
    AlignWithMargins := True;
    TabPosition := tpTop;
  end;
 
  TabSheet01 := TTabSheet.Create(PageControl01);
  with TabSheet01 do
  begin
    Caption := 'Контакты';
    PageControl := PageControl01;
    Visible := True;
  end;
 
  Panel02 := TPanel.Create(TabSheet01);
  with Panel02 do
  begin
    Parent := TabSheet01;
    Align := alClient;
    AlignWithMargins := True;
    Caption := '';
    BevelInner := bvSpace;
    BevelOuter := bvLowered;
    ParentFont := False;
    ParentBackground := False;
    Color := clBtnFace;
    Visible := True;
  end;
 
  Panel03 := TPanel.Create(Panel02);
  with Panel03 do
  begin
    Parent := Panel02;
    Align := alTop;
    BevelInner := bvNone;
    BevelOuter := bvNone;
    Height := 50;
  end;
 
  ScrollBox01 := TScrollBox.Create(Panel02);
  with ScrollBox01 do
  begin
    Parent := Panel02;
    Align := alTop;
    AlignWithMargins := True;
    Ctl3D := False;
    Height := 300;
    Top := Panel03.Top+Panel03.Height;
  end;
 
  with DataModule5.FDQuery_TelefonVodDannux do
  begin
    Close;
    SQL.Clear;
    SQL.Add('SELECT * FROM Table_Telefon');
    SQL.Add('WHERE (PolnoeNaimenovanie = '''+Edit03.Text+''') or (KratkoeNaimenovanie = '''+Edit04.Text+''')');
    Open;
  end;
 
  RecCou := DataModule5.DataSource_TelefonVodDannux.DataSet.RecordCount;
 
  if RecCou = 0 then
  begin
    for i := 1 to 1 do
    begin
      Edit001[i] := TEdit.Create(ScrollBox01);
      with Edit001[i] do
      begin
        Parent := ScrollBox01;
        Left := 8;
        Top := 8;
        Width := 252;
        with Font do
        begin
          Charset := RUSSIAN_CHARSET;
          Color := clWindowText;
          Name := 'Tahoma';
          Size := 10;
          Style := [];
        end;
      end;
 
      Edit002[i] := TEdit.Create(ScrollBox01);
      with Edit002[i] do
      begin
        Parent := ScrollBox01;
        Left := Edit001[i].Left + Edit001[i].Width + 4;
        Top := 8;
        Width := 252;
        with Font do
        begin
          Charset := RUSSIAN_CHARSET;
          Color := clWindowText;
          Name := 'Tahoma';
          Size := 10;
          Style := [];
        end;
      end;
 
      Edit003[i] := TEdit.Create(ScrollBox01);
      with Edit003[i] do
      begin
        Parent := ScrollBox01;
        Left := Edit002[i].Left + Edit002[i].Width + 4;
        Top := 8;
        Width := 252;
        with Font do
        begin
          Charset := RUSSIAN_CHARSET;
          Color := clWindowText;
          Name := 'Tahoma';
          Size := 10;
          Style := [];
        end;
      end;
 
      Edit004[i] := TEdit.Create(ScrollBox01);
      with Edit004[i] do
      begin
        Parent := ScrollBox01;
        Left := Edit003[i].Left + Edit003[i].Width + 4;
        Top := 8;
        Width := 252;
        with Font do
        begin
          Charset := RUSSIAN_CHARSET;
          Color := clWindowText;
          Name := 'Tahoma';
          Size := 10;
          Style := [];
        end;
      end;
    end;
  end
  else
  if RecCou <> 0 then
  begin
    DataModule5.DataSource_TelefonVodDannux.DataSet.First;
    while not DataModule5.DataSource_TelefonVodDannux.DataSet.Eof do
    begin
      for i := 1 to RecCou+1 do
      begin
        Edit001[i] := TEdit.Create(ScrollBox01);
        with Edit001[i] do
        begin
          Parent := ScrollBox01;
          Left := 8;
          Top := 4+i*26;
          Width := 252;
          with Font do
          begin
            Charset := RUSSIAN_CHARSET;
            Color := clWindowText;
            Name := 'Tahoma';
            Size := 10;
            Style := [];
          end;
        end;
 
 
        Edit002[i] := TEdit.Create(ScrollBox01);
        with Edit002[i] do
        begin
          Parent := ScrollBox01;
          Left := Edit001[i].Left + Edit001[i].Width + 4;
          Top := 4+i*26;
          Width := 252;
          with Font do
          begin
            Charset := RUSSIAN_CHARSET;
            Color := clWindowText;
            Name := 'Tahoma';
            Size := 10;
            Style := [];
          end;
        end;
 
        Edit003[i] := TEdit.Create(ScrollBox01);
        with Edit003[i] do
        begin
          Parent := ScrollBox01;
          Left := Edit002[i].Left + Edit002[i].Width + 4;
          Top := 4+i*26;
          Width := 252;
          with Font do
          begin
            Charset := RUSSIAN_CHARSET;
            Color := clWindowText;
            Name := 'Tahoma';
            Size := 10;
            Style := [];
          end;
        end;
 
        Edit004[i] := TEdit.Create(ScrollBox01);
        with Edit004[i] do
        begin
          Parent := ScrollBox01;
          Left := Edit003[i].Left + Edit003[i].Width + 4;
          Top := 4+i*26;
          Width := 252;
          with Font do
          begin
            Charset := RUSSIAN_CHARSET;
            Color := clWindowText;
            Name := 'Tahoma';
            Size := 10;
            Style := [];
          end;
        end;
      end;
 
      for a := 1 to RecCou do
      begin
        DataModule5.DataSource_TelefonVodDannux.DataSet.First;
        while not DataModule5.DataSource_TelefonVodDannux.DataSet.Eof do
        begin
 
          Edit001[i].Text :=  DataModule5.FDQuery_TelefonVodDannux.FieldByName('FIO').AsString;
          Edit002[i].Text :=  DataModule5.FDQuery_TelefonVodDannux.FieldByName('Doljnost').AsString;
          Edit003[i].Text :=  DataModule5.FDQuery_TelefonVodDannux.FieldByName('Telefon').AsString;
          Edit004[i].Text :=  DataModule5.FDQuery_TelefonVodDannux.FieldByName('Email').AsString;
        end;
      end;
 
      DataModule5.DataSource_TelefonVodDannux.DataSet.Next;
    end;
  end;
Ответ: Не весь кон скопировал
Delphi
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
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
procedure TForm_DirectoryClient.DBGrid3DblClick(Sender: TObject);
var
  r: Real;
  RecCou, a, i: Integer;
begin
  Form_TeleonnuaKniga := TForm.Create(Application);
 
  with Form_TeleonnuaKniga do
  begin
    BorderStyle := bsDialog;
    BorderWidth := 5;
    Caption := 'Телефонный справочник';
    Position := poOwnerFormCenter;
    Height := 710;
    Width := 1100;
  end;
 
  with Form_TeleonnuaKniga do
  begin
    Panel01 := TPanel.Create(Form_TeleonnuaKniga);
    with Panel01 do
    begin
      Parent := Form_TeleonnuaKniga;
      BevelInner := bvLowered;
      BevelOuter := bvSpace;
      Align := alTop;
      Height := 600;
    end;
 
    GroupBox01 := TGroupBox.Create(Panel01);
    with GroupBox01 do
    begin
      AlignWithMargins := True;
      Caption := ' Наименование компании ';
      Parent := Panel01;
      Align := alTop;
      Height := 70;
      Width := Form_TeleonnuaKniga.Width - 40;
    end;
 
    Label01 := TLabel.Create(GroupBox01);
    with Label01 do
    begin
      Parent := GroupBox01;
      Left := 8;
      Top := 16;
      Caption := 'Полное наименование';
      with Font do
      begin
        Charset := RUSSIAN_CHARSET;
        Color := clBlue;
        Name := 'Tahoma';
        Size := 8;
        Style := [fsBold];
      end;
    end;
 
    Label02 := TLabel.Create(GroupBox01);
    with Label02 do
    begin
      Parent := GroupBox01;
      r := GroupBox01.Width/2+8;
      Left := Round(r);
      Top := 16;
      Caption := 'Краткое наименование';
      with Font do
      begin
        Charset := RUSSIAN_CHARSET;
        Color := clBlue;
        Name := 'Tahoma';
        Size := 8;
        Style := [fsBold];
      end;
    end;
 
    Edit03 := TEdit.Create(GroupBox01);
    with Edit03 do
    begin
      Parent := GroupBox01;
      Left := Label01.Left;
      Top := Label01.Top + Label01.Height + 6;
      Width := Label02.Left - 16;
      with Font do
      begin
        Charset := RUSSIAN_CHARSET;
        Color := clWindowText;
        Name := 'Tahoma';
        Size := 10;
        Style := [fsBold];
      end;
      Text := DataModule5.FDQuery_Telefon.FieldByName('PolnoeNaimenovanie').AsString;
    end;
 
    Edit04 := TEdit.Create(GroupBox01);
    with Edit04 do
    begin
      Parent := GroupBox01;
      Left := Label02.Left;
      Top := Label02.Top + Label02.Height + 6;
      Width := Edit03.Width + 6;
      with Font do
      begin
        Charset := RUSSIAN_CHARSET;
        Color := clWindowText;
        Name := 'Tahoma';
        Size := 10;
        Style := [fsBold];
      end;
      Text := DataModule5.FDQuery_Telefon.FieldByName('KratkoeNaimenovanie').AsString;
    end;
  end;
 
  PageControl01 := TPageControl.Create(Panel01);
  with PageControl01 do
  begin
    Parent := Panel01;
    Align := alClient;
    AlignWithMargins := True;
    TabPosition := tpTop;
  end;
 
  TabSheet01 := TTabSheet.Create(PageControl01);
  with TabSheet01 do
  begin
    Caption := 'Контакты';
    PageControl := PageControl01;
    Visible := True;
  end;
 
  Panel02 := TPanel.Create(TabSheet01);
  with Panel02 do
  begin
    Parent := TabSheet01;
    Align := alClient;
    AlignWithMargins := True;
    Caption := '';
    BevelInner := bvSpace;
    BevelOuter := bvLowered;
    ParentFont := False;
    ParentBackground := False;
    Color := clBtnFace;
    Visible := True;
  end;
 
  Panel03 := TPanel.Create(Panel02);
  with Panel03 do
  begin
    Parent := Panel02;
    Align := alTop;
    BevelInner := bvNone;
    BevelOuter := bvNone;
    Height := 50;
  end;
 
  ScrollBox01 := TScrollBox.Create(Panel02);
  with ScrollBox01 do
  begin
    Parent := Panel02;
    Align := alTop;
    AlignWithMargins := True;
    Ctl3D := False;
    Height := 300;
    Top := Panel03.Top+Panel03.Height;
  end;
 
  with DataModule5.FDQuery_TelefonVodDannux do
  begin
    Close;
    SQL.Clear;
    SQL.Add('SELECT * FROM Table_Telefon');
    SQL.Add('WHERE (PolnoeNaimenovanie = '''+Edit03.Text+''') or (KratkoeNaimenovanie = '''+Edit04.Text+''')');
    Open;
  end;
 
  RecCou := DataModule5.DataSource_TelefonVodDannux.DataSet.RecordCount;
 
  if RecCou = 0 then
  begin
    for i := 1 to 1 do
    begin
      Edit001[i] := TEdit.Create(ScrollBox01);
      with Edit001[i] do
      begin
        Parent := ScrollBox01;
        Left := 8;
        Top := 8;
        Width := 252;
        with Font do
        begin
          Charset := RUSSIAN_CHARSET;
          Color := clWindowText;
          Name := 'Tahoma';
          Size := 10;
          Style := [];
        end;
      end;
 
      Edit002[i] := TEdit.Create(ScrollBox01);
      with Edit002[i] do
      begin
        Parent := ScrollBox01;
        Left := Edit001[i].Left + Edit001[i].Width + 4;
        Top := 8;
        Width := 252;
        with Font do
        begin
          Charset := RUSSIAN_CHARSET;
          Color := clWindowText;
          Name := 'Tahoma';
          Size := 10;
          Style := [];
        end;
      end;
 
      Edit003[i] := TEdit.Create(ScrollBox01);
      with Edit003[i] do
      begin
        Parent := ScrollBox01;
        Left := Edit002[i].Left + Edit002[i].Width + 4;
        Top := 8;
        Width := 252;
        with Font do
        begin
          Charset := RUSSIAN_CHARSET;
          Color := clWindowText;
          Name := 'Tahoma';
          Size := 10;
          Style := [];
        end;
      end;
 
      Edit004[i] := TEdit.Create(ScrollBox01);
      with Edit004[i] do
      begin
        Parent := ScrollBox01;
        Left := Edit003[i].Left + Edit003[i].Width + 4;
        Top := 8;
        Width := 252;
        with Font do
        begin
          Charset := RUSSIAN_CHARSET;
          Color := clWindowText;
          Name := 'Tahoma';
          Size := 10;
          Style := [];
        end;
      end;
    end;
  end
  else
  if RecCou <> 0 then
  begin
    DataModule5.DataSource_TelefonVodDannux.DataSet.First;
    while not DataModule5.DataSource_TelefonVodDannux.DataSet.Eof do
    begin
      for i := 1 to RecCou+1 do
      begin
        Edit001[i] := TEdit.Create(ScrollBox01);
        with Edit001[i] do
        begin
          Parent := ScrollBox01;
          Left := 8;
          Top := 4+i*26;
          Width := 252;
          with Font do
          begin
            Charset := RUSSIAN_CHARSET;
            Color := clWindowText;
            Name := 'Tahoma';
            Size := 10;
            Style := [];
          end;
          //Text :=  DataModule5.FDQuery_TelefonVodDannux.FieldByName('FIO').AsString;
        end;
 
 
        Edit002[i] := TEdit.Create(ScrollBox01);
        with Edit002[i] do
        begin
          Parent := ScrollBox01;
          Left := Edit001[i].Left + Edit001[i].Width + 4;
          Top := 4+i*26;
          Width := 252;
          with Font do
          begin
            Charset := RUSSIAN_CHARSET;
            Color := clWindowText;
            Name := 'Tahoma';
            Size := 10;
            Style := [];
          end;
          //Text := DataModule5.FDQuery_TelefonVodDannux.FieldByName('Doljnost').AsString;
        end;
 
        Edit003[i] := TEdit.Create(ScrollBox01);
        with Edit003[i] do
        begin
          Parent := ScrollBox01;
          Left := Edit002[i].Left + Edit002[i].Width + 4;
          Top := 4+i*26;
          Width := 252;
          with Font do
          begin
            Charset := RUSSIAN_CHARSET;
            Color := clWindowText;
            Name := 'Tahoma';
            Size := 10;
            Style := [];
          end;
          //Text := DataModule5.FDQuery_TelefonVodDannux.FieldByName('Telefon').AsString;
        end;
 
        Edit004[i] := TEdit.Create(ScrollBox01);
        with Edit004[i] do
        begin
          Parent := ScrollBox01;
          Left := Edit003[i].Left + Edit003[i].Width + 4;
          Top := 4+i*26;
          Width := 252;
          with Font do
          begin
            Charset := RUSSIAN_CHARSET;
            Color := clWindowText;
            Name := 'Tahoma';
            Size := 10;
            Style := [];
          end;
          //Text := DataModule5.FDQuery_TelefonVodDannux.FieldByName('Email').AsString;
        end;
      end;
 
      for a := 1 to RecCou do
      begin
        DataModule5.DataSource_TelefonVodDannux.DataSet.First;
        while not DataModule5.DataSource_TelefonVodDannux.DataSet.Eof do
        begin
 
          Edit001[i].Text :=  DataModule5.FDQuery_TelefonVodDannux.FieldByName('FIO').AsString;
          Edit002[i].Text :=  DataModule5.FDQuery_TelefonVodDannux.FieldByName('Doljnost').AsString;
          Edit003[i].Text :=  DataModule5.FDQuery_TelefonVodDannux.FieldByName('Telefon').AsString;
          Edit004[i].Text :=  DataModule5.FDQuery_TelefonVodDannux.FieldByName('Email').AsString;
        end;
      end;
 
      DataModule5.DataSource_TelefonVodDannux.DataSet.Next;
    end;
  end;
 
  GroupBox02 := TGroupBox.Create(Panel02);
  with GroupBox02 do
  begin
    Parent := Panel02;
    AlignWithMargins := True;
    Caption := ' Примичание ';
    Align := alClient;
  end;
 
  Memo01 := TMemo.Create(GroupBox02);
  with Memo01 do
  begin
    Parent := GroupBox02;
    Align := alClient;
    AlignWithMargins := True;
    with Font do
    begin
      Charset := RUSSIAN_CHARSET;
      Color := clWindowText;
      Name := 'Tahoma';
      Size := 10;
      Style := [];
    end;
    Text := DataModule5.FDQuery_TelefonVodDannux.FieldByName('Prumuchanue').AsString;
  end;
 
  Form_TeleonnuaKniga.ShowModal;
  Form_TeleonnuaKniga.Free;
end;
Вопрос: Вставка блока выборки из БД

здравствуйте уважаемые форумчане!
столкнулся с проблемой (пявилась белая полоса)
после вставки вот этого кода
PHP
1
2
3
4
5
6
<?php
$db = mysql_connect ("localhost","Shura","12345");
mysql_select_db("belhead",$db);
$result = mysql_query("SELECT title,meta_d, meta_k, text FROM settings where page='index'",$db);
$myrow = mysql_fetch_array($result);
?>
вот собственно проблема (появилась белая полоса над шаблоном сайта)




вот весь код страницы сайта
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
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html lang="en-US" xmlns="http://www.w3.org/1999/xhtml" dir="ltr">
<head>
<?php
include("blocks/bd.php");  /*Coedinenie s bazoi*/
$result = mysql_query("SELECT title,meta_d, meta_k, text FROM settings where page='index'",$db);
$myrow = mysql_fetch_array($result);
?>
    <meta http-equiv="Content-type" content="text/html; charset=utf-8" />
    <link rel="shortcut icon" href="css/images/favicon.ico" />
    <link rel="stylesheet" href="css/style.css" type="text/css" media="all" /> <!--Media Определяет устройство, для которого следует применять стилевое оформление-->
    <script src="js/jquery-1.6.2.min.js" type="text/javascript" charset="utf-8"></script>
    <!--[if IE 6]>
        <script src="js/DD_belatedPNG-min.js" type="text/javascript" charset="utf-8"></script>
    <![endif]-->
    <script src="js/jquery.jcarousel.min.js"  type="text/javascript" charset="utf-8"></script>
    <script src="js/functions.js"             type="text/javascript" charset="utf-8"></script>
    <script src="js/all.js"                   type="text/javascript" charset="utf-8"></script>
    <script src="js/jquery.cookie.js"         type="text/javascript" ></script>
    <title><?php echo $myrow['title']; ?></title>
    <meta name="description" content="<?php echo $myrow['meta_d']; ?>">
    <meta name="keywords" content="<?php echo $myrow['meta_k']; ?>">
    </head> 
<body>
<!--Подкоючили Рекламу -->
<!-- <?php include("blocks/Advertising.php"); ?> -->
    <!-- Begin Wrapper -->
    <div id="wrapper">
        <!-- Begin Inner -->
        <div class="inner">
            <!-- Begin Header -->
            <div id="header">
                <div class="header-inner">
                    <!-- Begin Shell -->
                    <div class="shell">
                        <h1 id="logo"><a class="notext" href="index.php">BELhead</a></h1>
                        <div id="account">
                            <a class="view-account" title="Просмотреть содержимое корзины" href="#">Корзина</a>
                            <span>Кол-во: 1</span><span>Цена: <strong>$510</strong></span>
                            <div class="cl">&nbsp;</div> <!--&nbsp; заполняет ячейку пустотой-->
                        </div>
                        <!-- Begin Navigation -->
                        <div id="navigation">
                        <!--Подключаем ГОРИЗОНТАЛЬНОЕ меню-->
                            <?php include("blocks/navigation.php"); ?> 
                            <div class="cl">&nbsp;</div>
                        </div>
                        <!-- End Navigation -->
                        <div class="cl">&nbsp;</div>
                    </div>
                    <!-- End Shell -->
                </div>
            </div>
            <!-- End Header -->
            <!-- Begin Shell -->
            <div class="shell">
                <!-- Begin Main -->
                <div id="main">
                    <!-- Begin Sidebar -->
                    <div id="sidebar">
                        <ul>
                            <!-- Begin Widget -->
                            <li class="widget">
                            <!--Подключаем ВЕРТИКАЛЬНОЕ меню-->
                                <?php include("blocks/widget.php"); ?>
                            </li>
                            <!-- End Widget -->
                            <!-- Begin Widget -->
                            <li class="widget">
                            <!--Подключаем ПОИСК-->
                                <?php include("blocks/widgetSeach.php"); ?>     
                            </li>
                            <!-- End Widget -->
                        </ul>
                    </div>
                    <!-- End Sidebar -->
                    <!-- Begin Content -->
                    <div align="center"> 
                        <span id="doc_time">
                        Дата и время
                        </span> 
                        <script type="text/javascript">
                            clock();
                        </script><br> 
                        <b>Выберите цвет фона:</b> 
                        <select id="bg_form"> 
                            <option selected value="#ffffff">Белый 
                            <option value="#000000">Черный 
                            <option value="#0000ff">Голубой 
                            <option value="#00ff00">Известковый 
                            <option value="#00ff7f">Весенний зеленый 
                            <option value="#40e0d0">Бирюзовый 
                            <option value="#483d8b">Темный серовато-синий 
                            <option value="#5f9ea0">Блеклый серо-голубой 
                            <option value="#7fffd4">Аквамарин 
                            <option value="#8b0000">Темно-красный 
                            <option value="#b8860b">Темный красно-золотой 
                            <option value="#bdb76b">Темный хаки 
                            <option value="#d2691e">Шоколадный 
                            <option value="#d2b48c">Желтовато-коричневый 
                            <option value="#fa8072">Оранжево-розовый 
                            <option value="#f5deb3">Пшеничный 
                            <option value="#ff0000">Красный 
                            <option value="#ff1493">Темно-розовый 
                            <option value="#ffd700">Золотой 
                            <option value="#ff6347">Томатный 
                            <option value="#ffff00">Желтый 
                        </select> 
                    </div>
                    <div id="content">
                        <!-- Begin Slider -->
                        <div id="slider">
                            <div class="slider-frame">&nbsp;</div>
                            <ul class="slider-items">
                                <li><img src="css/images/slide1.jpg" alt="Ferroli" /></li>
                                <li><img src="css/images/slide2.jpg" alt="Vaillant" /></li>
                                <li><img src="css/images/slide3.jpg" alt="Vismann" /></li>
                                <li><img src="css/images/slide4.jpg" alt="Bosh" /></li>
                                <li><img src="css/images/slide5.jpg" alt="Ariston" /></li>
                            </ul>
                            <div class="cl">&nbsp;</div>
                            <div class="slider-controls">
                                <ul></ul>
                                <div class="cl">&nbsp;</div>
                            </div>
                        </div>
                        <!-- End Slider -->
                        <!-- Begin Post -->
                        <div class="post">
                            <?php echo $myrow['text']; ?>                       
                        </div>
                        <!-- End Post -->
                        <!-- Begin Products -->
                        <div id="products">
                            <div class="product">
                                <img src="css/images/product-img1.jpg" alt="First TShirt Product" />
                                <div class="pr-info">
                                    <h4>ARISTON</h4>
                                    <p>ARISTON Genus Evo 30 CF </p>
                                    <span class="pr-price"><span>$</span>685</span>
                                </div>
                            </div>
                            <div class="product">
                                <img src="css/images/product-img2.jpg" alt="Second TShirt Product" />
                                <div class="pr-info">
                                    <h4>BOSCH</h4>
                                    <p>BOSCH GAZ 6000 W WBN 18 C</p>
                                    <span class="pr-price"><span>$</span>750</span>
                                </div>
                            </div>
                            <div class="product last">
                                <img src="css/images/product-img3.jpg" alt="Third TShirt Product" />
                                <div class="pr-info">
                                    <h4>BAXI</h4>
                                    <p>BAXI FOURTECH 24</p>
                                    <span class="pr-price"><span>$</span>980</span>
                                </div>
                            </div>
                            <div class="cl">&nbsp;</div>    
                        </div>
                        <!-- End Products -->
                    </div>
                    <!-- End Content -->
                    <div class="cl">&nbsp;</div>
                    <!-- Begin Products Slider -->
                    <div id="pr-slider">
                    <!--Подключаем СЛАЙДЕР (КАРТИНКИ ГОРИЗОНАТАЛЬНО)-->
                        <? include("blocks/pr-slider.php"); ?>
                        <div class="cl">&nbsp;</div>
                    </div>
                    <!-- End Products Slider -->
                    <!-- Begin Home Boxes -->
                    <div id="home-boxes">
                        <!-- Begin Box -->
                        <!--Подключаем БЛОК ЗАКАЗЫ-->
                        <? include("blocks/box_first.php"); ?>
                        <!-- End Box -->
                        <!-- Begin Box -->
                        <!--Подключаем БЛОК FAQ-->
                        <? include("blocks/box_two.php"); ?>
                        <!-- End Box -->
                        <!-- Begin Box -->
                        <!--Подключаем БЛОК СКИДКИ-->
                        <? include("blocks/box_3.php"); ?>
                        <!-- End Box -->
                        <!-- Begin Box -->
                        <!--Подключаем БЛОК ДОСТАВКА-->
                        <? include("blocks/box_4.php"); ?>
                        <!-- End Box -->
                        <div class="cl">&nbsp;</div>
                    </div>
                    <!-- End Home Boxes -->
                </div>
                <!-- End Main -->
                <!-- Begin Footer -->
                <div id="footer">
                <!--Подключаем ПОДВАЛ-->
                    <? include("blocks/footer.php"); ?>
                    <div class="cl">&nbsp;</div>
                </div>
                <!-- End Footer -->
            </div>
            <!-- End Shell -->
        </div>
        <!-- End Inner -->
    </div>
    <!-- End Wrapper -->    
</body>
</html>
Ответ: даже попробовал вместо <?php ?> использовать <? ?> ничего не помогло!

Добавлено через 10 минут
вообщем решил проблему путём установки в денвере кодировки по умолчанию utf-8
вот способ как поменять это в денвере
Кликните здесь для просмотра всего текста
редактируем файл httpd.conf
httpd.conf отвечает за глобальные инструкции для сервера, т.е. внесенные в него изменения повлияют на все сайты, которые у нас будут храниться на сервере. Располагается он в каталоге /usr/local/apache/conf/. Отредактировать нам требуется всего одну строку: ищем “AddDefaultCharset windows-1251″ и меняем её на “AddDefaultCharset utf-8″.

затем по совету Fedor92,преобразовал в utf-8 без BOM
а затем переместил код php в на самый верх сайта вот что получилось
HTML5
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
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
<? include("blocks/bd.php");  
/*Coedinenie s bazoi*/ 
$result = mysql_query("SELECT title,meta_d, meta_k, text FROM settings where page='index'",$db);
$myrow = mysql_fetch_array($result); ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html lang="en-US" xmlns="http://www.w3.org/1999/xhtml" dir="ltr">
<head>
    <meta http-equiv="Content-type" content="text/html; charset=utf-8" />
    <link rel="shortcut icon" href="css/images/favicon.ico" />
    <link rel="stylesheet" href="css/style.css" type="text/css" media="all" /> <!--Media Определяет устройство, для которого следует применять стилевое оформление-->
    <script src="js/jquery-1.6.2.min.js" type="text/javascript" charset="utf-8"></script>
    <!--[if IE 6]>
        <script src="js/DD_belatedPNG-min.js" type="text/javascript" charset="utf-8"></script>
    <![endif]-->
    <script src="js/jquery.jcarousel.min.js"  type="text/javascript" charset="utf-8"></script>
    <script src="js/functions.js"             type="text/javascript" charset="utf-8"></script>
    <script src="js/all.js"                   type="text/javascript" charset="utf-8"></script>
    <script src="js/jquery.cookie.js"         type="text/javascript" ></script>
    <title><?php echo $myrow['title']; ?></title>
    <meta name="description" content="<?php echo $myrow['meta_d']; ?>">
    <meta name="keywords" content="<?php echo $myrow['meta_k']; ?>">
    </head> 
<body>
<!--Подкоючили Рекламу -->
<!-- <?php include("blocks/Advertising.php"); ?> -->
    <!-- Begin Wrapper -->
    <div id="wrapper">
        <!-- Begin Inner -->
        <div class="inner">
            <!-- Begin Header -->
            <div id="header">
                <div class="header-inner">
                    <!-- Begin Shell -->
                    <div class="shell">
                        <h1 id="logo"><a class="notext" href="index.php">BELhead</a></h1>
                        <div id="account">
                            <a class="view-account" title="Просмотреть содержимое корзины" href="#">Корзина</a>
                            <span>Кол-во: 1</span><span>Цена: <strong>$510</strong></span>
                            <div class="cl">&nbsp;</div> <!--&nbsp; заполняет ячейку пустотой-->
                        </div>
                        <!-- Begin Navigation -->
                        <div id="navigation">
                        <!--Подключаем ГОРИЗОНТАЛЬНОЕ меню-->
                            <?php include("blocks/navigation.php"); ?> 
                            <div class="cl">&nbsp;</div>
                        </div>
                        <!-- End Navigation -->
                        <div class="cl">&nbsp;</div>
                    </div>
                    <!-- End Shell -->
                </div>
            </div>
            <!-- End Header -->
            <!-- Begin Shell -->
            <div class="shell">
                <!-- Begin Main -->
                <div id="main">
                    <!-- Begin Sidebar -->
                    <div id="sidebar">
                        <ul>
                            <!-- Begin Widget -->
                            <li class="widget">
                            <!--Подключаем ВЕРТИКАЛЬНОЕ меню-->
                                <?php include("blocks/widget.php"); ?>
                            </li>
                            <!-- End Widget -->
                            <!-- Begin Widget -->
                            <li class="widget">
                            <!--Подключаем ПОИСК-->
                                <?php include("blocks/widgetSeach.php"); ?>     
                            </li>
                            <!-- End Widget -->
                        </ul>
                    </div>
                    <!-- End Sidebar -->
                    <!-- Begin Content -->
                    <div align="center"> 
                        <span id="doc_time">
                        Дата и время
                        </span> 
                        <script type="text/javascript">
                            clock();
                        </script><br> 
                        <b>Выберите цвет фона:</b> 
                        <select id="bg_form"> 
                            <option selected value="#ffffff">Белый 
                            <option value="#000000">Черный 
                            <option value="#0000ff">Голубой 
                            <option value="#00ff00">Известковый 
                            <option value="#00ff7f">Весенний зеленый 
                            <option value="#40e0d0">Бирюзовый 
                            <option value="#483d8b">Темный серовато-синий 
                            <option value="#5f9ea0">Блеклый серо-голубой 
                            <option value="#7fffd4">Аквамарин 
                            <option value="#8b0000">Темно-красный 
                            <option value="#b8860b">Темный красно-золотой 
                            <option value="#bdb76b">Темный хаки 
                            <option value="#d2691e">Шоколадный 
                            <option value="#d2b48c">Желтовато-коричневый 
                            <option value="#fa8072">Оранжево-розовый 
                            <option value="#f5deb3">Пшеничный 
                            <option value="#ff0000">Красный 
                            <option value="#ff1493">Темно-розовый 
                            <option value="#ffd700">Золотой 
                            <option value="#ff6347">Томатный 
                            <option value="#ffff00">Желтый 
                        </select> 
                    </div>
                    <div id="content">
                        <!-- Begin Slider -->
                        <div id="slider">
                            <div class="slider-frame">&nbsp;</div>
                            <ul class="slider-items">
                                <li><img src="css/images/slide1.jpg" alt="Ferroli" /></li>
                                <li><img src="css/images/slide2.jpg" alt="Vaillant" /></li>
                                <li><img src="css/images/slide3.jpg" alt="Vismann" /></li>
                                <li><img src="css/images/slide4.jpg" alt="Bosh" /></li>
                                <li><img src="css/images/slide5.jpg" alt="Ariston" /></li>
                            </ul>
                            <div class="cl">&nbsp;</div>
                            <div class="slider-controls">
                                <ul></ul>
                                <div class="cl">&nbsp;</div>
                            </div>
                        </div>
                        <!-- End Slider -->
                        <!-- Begin Post -->
                        <div class="post">
                            <?php echo $myrow['text']; ?>                       
                        </div>
                        <!-- End Post -->
                        <!-- Begin Products -->
                        <div id="products">
                            <div class="product">
                                <img src="css/images/product-img1.jpg" alt="First TShirt Product" />
                                <div class="pr-info">
                                    <h4>ARISTON</h4>
                                    <p>ARISTON Genus Evo 30 CF </p>
                                    <span class="pr-price"><span>$</span>685</span>
                                </div>
                            </div>
                            <div class="product">
                                <img src="css/images/product-img2.jpg" alt="Second TShirt Product" />
                                <div class="pr-info">
                                    <h4>BOSCH</h4>
                                    <p>BOSCH GAZ 6000 W WBN 18 C</p>
                                    <span class="pr-price"><span>$</span>750</span>
                                </div>
                            </div>
                            <div class="product last">
                                <img src="css/images/product-img3.jpg" alt="Third TShirt Product" />
                                <div class="pr-info">
                                    <h4>BAXI</h4>
                                    <p>BAXI FOURTECH 24</p>
                                    <span class="pr-price"><span>$</span>980</span>
                                </div>
                            </div>
                            <div class="cl">&nbsp;</div>    
                        </div>
                        <!-- End Products -->
                    </div>
                    <!-- End Content -->
                    <div class="cl">&nbsp;</div>
                    <!-- Begin Products Slider -->
                    <div id="pr-slider">
                    <!--Подключаем СЛАЙДЕР (КАРТИНКИ ГОРИЗОНАТАЛЬНО)-->
                        <? include("blocks/pr-slider.php"); ?>
                        <div class="cl">&nbsp;</div>
                    </div>
                    <!-- End Products Slider -->
                    <!-- Begin Home Boxes -->
                    <div id="home-boxes">
                        <!-- Begin Box -->
                        <!--Подключаем БЛОК ЗАКАЗЫ-->
                        <? include("blocks/box_first.php"); ?>
                        <!-- End Box -->
                        <!-- Begin Box -->
                        <!--Подключаем БЛОК FAQ-->
                        <? include("blocks/box_two.php"); ?>
                        <!-- End Box -->
                        <!-- Begin Box -->
                        <!--Подключаем БЛОК СКИДКИ-->
                        <? include("blocks/box_3.php"); ?>
                        <!-- End Box -->
                        <!-- Begin Box -->
                        <!--Подключаем БЛОК ДОСТАВКА-->
                        <? include("blocks/box_4.php"); ?>
                        <!-- End Box -->
                        <div class="cl">&nbsp;</div>
                    </div>
                    <!-- End Home Boxes -->
                </div>
                <!-- End Main -->
                <!-- Begin Footer -->
                <div id="footer">
                <!--Подключаем ПОДВАЛ-->
                    <? include("blocks/footer.php"); ?>
                    <div class="cl">&nbsp;</div>
                </div>
                <!-- End Footer -->
            </div>
            <!-- End Shell -->
        </div>
        <!-- End Inner -->
    </div>
    <!-- End Wrapper -->    
</body>
</html>
Добавлено через 52 секунды
ПРОБЛЕМА УСТРАНИЛАСЬ
Вопрос: Кодировка имен файлов

Всем привет!
Есть скрипт:
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
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
<?php
 
function showTree($folder, $space) {
    $result = '';
    // Получаем полный список файлов и каталогов внутри $folder
    $files = scandir($folder, $sorting_order = SCANDIR_SORT_ASCENDING);
    foreach($files as $file) {
 
 
 
        // Отбрасываем текущий и родительский каталог
        if (($file == '.') || ($file == '..')) continue;
        $f0 = $folder.DIRECTORY_SEPARATOR.$file; //Получаем полный путь к файлу
 
 
 
        //Если попадаются имена в Windows-1251 - кодируем их в UTF-8
$charset = mb_detect_encoding($file);
if ($charset == 'Windows-1251') {
$file = iconv('Windows-1251', 'UTF-8', $file);
}
 
        //Преобразуем спецсимволы в именах в html-сущности:
        $file = htmlspecialchars($file, ENT_QUOTES | ENT_SUBSTITUTE,'UTF-8');
        // Если это директория
        if (is_dir($f0)) {
            // Выводим, делая заданный отступ, название директории
            $result .= $space.$file.'&nbsp;&nbsp;<b><font color="#cc0000">&lt;DIR&gt;</font></b><br>'.PHP_EOL;
            // С помощью рекурсии выводим содержимое полученной директории
            $result .= showTree($f0, $space.'-');
        }
        // Если это файл, то просто выводим название файла
        else $result .= $space.$file.'<br>'.PHP_EOL;
    }
    return $result;
}
// Запускаем функцию для текущего каталога, выводим верстку
$data = showTree('.', '');
 
 
//Дата и время на сервере
            $date = date('d F Y - H:i:s');
            $convert = array(
                'January' => 'января',
                'February' => 'февраля',
                'March' => 'марта',
                'April' => 'апреля',
                'May' => 'мая',
                'June' => 'июня',
                'July' => 'июля',
                'August' => 'августа',
                'September' => 'сентября',
                'October' => 'октября',
                'November' => 'ноября',
                'December' => 'декабря'
            );
            $server_date = strtr($date, $convert);
 
$html_kode1 = "<html>
<head>
<meta http-equiv=\"content-type\" content=\"text/html; charset=UTF-8\">
<title>viewing_contents_of_dir.php</title>
    <!-- Запрещаем кеширование страницы: -->
    <meta http-equiv=\"Cache-Control\" content=\"no-cache\">
    <!-- Запрещаем индексировать страницу и переход по ссылкам: -->
    <meta name=\"robots\" content=\"noindex, nofollow\"/>
</head>
<body alink=\"#000088\" bgcolor=\"#FFFFFF\" link=\"#0000FF\" text=\"#000000\"
vlink=\"#FF0000\">
Сформировано: " .$server_date."<br><br>
<br>
<h1>Дерево директорий и файлов:</h1><br><br>";
$html_kode2 = " </body>
</html>";
$data2 = $html_kode1.$data.$html_kode2;
 //Выводим в браузер содержимое страницы
echo $data2;
//Пишем в файл
file_put_contents(__DIR__ . DIRECTORY_SEPARATOR . 'dir.html', $data2);
Смысл в том, чтобы если имена файлов идут в кодировке утф-8 - оставить как есть, если они виндовс 1251 - то преобразовать в утф-8.
Код
PHP
1
2
3
4
5
        //Если попадаются имена в Windows-1251 - кодируем их в UTF-8
$charset = mb_detect_encoding($file);
if ($charset == 'Windows-1251') {
$file = iconv('Windows-1251', 'UTF-8', $file);
}
бажный и не работает - если имена файлов на утф-8 - все норм, если виндовс-1251 - то скрипт не работает.
Сам скрипт отсюда:
Помогите, пожалуйста, как исправить? Увы, в 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
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
<?php
//http://www.cyberforum.ru/php-beginners/thread1792295-page2.html
//http://pastebin.com/9ygVL7rc
 
function showTree($folder, $space) {
    $result = '';
    // Получаем полный список файлов и каталогов внутри $folder
    $files = scandir($folder, $sorting_order = SCANDIR_SORT_ASCENDING);
    foreach($files as $file) {
 
 
 
        // Отбрасываем текущий и родительский каталог
        if (($file == '.') || ($file == '..')) continue;
        $f0 = $folder.DIRECTORY_SEPARATOR.$file; //Получаем полный путь к файлу
 
 
 
        //Если попадаются имена в Windows-1251 - кодируем их в UTF-8
$charset = mb_detect_encoding($file);
if ($charset == 'ASCII') {
$file = iconv('Windows-1251', 'UTF-8', $file);
}
 
        //Преобразуем спецсимволы в именах в html-сущности:
        $file = htmlspecialchars($file, ENT_QUOTES | ENT_SUBSTITUTE,'UTF-8');
        // Если это директория
        if (is_dir($f0)) {
            // Выводим, делая заданный отступ, название директории
            $result .= $space.$file.'&nbsp;&nbsp;<b><font color="#cc0000">&lt;DIR&gt;</font></b><br>'.PHP_EOL;
            // С помощью рекурсии выводим содержимое полученной директории
            $result .= showTree($f0, $space.'-');
        }
        // Если это файл, то просто выводим название файла
        else $result .= $space.$file.'<br>'.PHP_EOL;
    }
    return $result;
}
// Запускаем функцию для текущего каталога, выводим верстку
$data = showTree('.', '');
 
 
//Дата и время на сервере
            $date = date('d F Y - H:i:s');
            $convert = array(
                'January' => 'января',
                'February' => 'февраля',
                'March' => 'марта',
                'April' => 'апреля',
                'May' => 'мая',
                'June' => 'июня',
                'July' => 'июля',
                'August' => 'августа',
                'September' => 'сентября',
                'October' => 'октября',
                'November' => 'ноября',
                'December' => 'декабря'
            );
            $server_date = strtr($date, $convert);
 
$html_kode1 = "<html>
<head>
<meta http-equiv=\"content-type\" content=\"text/html; charset=UTF-8\">
<title>viewing_contents_of_dir.php</title>
    <!-- Запрещаем кеширование страницы: -->
    <meta http-equiv=\"Cache-Control\" content=\"no-cache\">
    <!-- Запрещаем индексировать страницу и переход по ссылкам: -->
    <meta name=\"robots\" content=\"noindex, nofollow\"/>
</head>
<body alink=\"#000088\" bgcolor=\"#FFFFFF\" link=\"#0000FF\" text=\"#000000\"
vlink=\"#FF0000\">
Сформировано: " .$server_date."<br><br>
<br>
<h1>Дерево директорий и файлов:</h1><br><br>";
$html_kode2 = " </body>
</html>";
$data2 = $html_kode1.$data.$html_kode2;
 //Выводим в браузер содержимое страницы
echo $data2 . mb_detect_encoding($file);
//Пишем в файл
file_put_contents(__DIR__ . DIRECTORY_SEPARATOR . 'dir.html', $data2);
Выводит ASCII
Но когда запускаю под виндой -не работает- не создает файл. под линухом норм.

Добавлено через 9 минут
А так:
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
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
<?php
 
 
function showTree($folder, $space) {
    $result = '';
    // Получаем полный список файлов и каталогов внутри $folder
    $files = scandir($folder, $sorting_order = SCANDIR_SORT_ASCENDING);
    foreach($files as $file) {
 
 
 
        // Отбрасываем текущий и родительский каталог
        if (($file == '.') || ($file == '..')) continue;
        $f0 = $folder.DIRECTORY_SEPARATOR.$file; //Получаем полный путь к файлу
 
 
 
        //Если попадаются имена в Windows-1251 - кодируем их в UTF-8
//$charset = mb_detect_encoding($file);
//if ($charset == 'ASCII') {
$file = iconv('Windows-1251', 'UTF-8', $file);
//}
 
        //Преобразуем спецсимволы в именах в html-сущности:
        $file = htmlspecialchars($file, ENT_QUOTES | ENT_SUBSTITUTE,'UTF-8');
        // Если это директория
        if (is_dir($f0)) {
            // Выводим, делая заданный отступ, название директории
            $result .= $space.$file.'&nbsp;&nbsp;<b><font color="#cc0000">&lt;DIR&gt;</font></b><br>'.PHP_EOL;
            // С помощью рекурсии выводим содержимое полученной директории
            $result .= showTree($f0, $space.'-');
        }
        // Если это файл, то просто выводим название файла
        else $result .= $space.$file.'<br>'.PHP_EOL;
    }
    return $result;
}
// Запускаем функцию для текущего каталога, выводим верстку
$data = showTree('.', '');
 
 
//Дата и время на сервере
            $date = date('d F Y - H:i:s');
            $convert = array(
                'January' => 'января',
                'February' => 'февраля',
                'March' => 'марта',
                'April' => 'апреля',
                'May' => 'мая',
                'June' => 'июня',
                'July' => 'июля',
                'August' => 'августа',
                'September' => 'сентября',
                'October' => 'октября',
                'November' => 'ноября',
                'December' => 'декабря'
            );
            $server_date = strtr($date, $convert);
 
$html_kode1 = "<html>
<head>
<meta http-equiv=\"content-type\" content=\"text/html; charset=UTF-8\">
<title>viewing_contents_of_dir.php</title>
    <!-- Запрещаем кеширование страницы: -->
    <meta http-equiv=\"Cache-Control\" content=\"no-cache\">
    <!-- Запрещаем индексировать страницу и переход по ссылкам: -->
    <meta name=\"robots\" content=\"noindex, nofollow\"/>
</head>
<body alink=\"#000088\" bgcolor=\"#FFFFFF\" link=\"#0000FF\" text=\"#000000\"
vlink=\"#FF0000\">
Сформировано: " .$server_date."<br><br>
<br>
<h1>Дерево директорий и файлов:</h1><br><br>";
$html_kode2 = " </body>
</html>";
$data2 = $html_kode1.$data.$html_kode2;
 //Выводим в браузер содержимое страницы
echo $data2;
//Пишем в файл
file_put_contents(__DIR__ . DIRECTORY_SEPARATOR . 'dir.html', $data2);
норм. выводит названия файлов на русском под виндой, но на юниксе названия файлов буказоидами, если они на русском языке. почему и как сделать, чтобы везде было нормально?

Добавлено через 2 часа 54 минуты
Что, никто не видит, в чем ошибка?
Или код верен, но никто не знает, в чем причина?
Вопрос: взаимодействие с сишной библиотечкой крипотования

Здравствуйте,

У меня просьба проверить синтаксис, так как программа ругается сообщением:
автор
"A call to PInvoke function 'TestApplicationForMP!TestApplicationForMP.MP_API::PSE31_Generation' has unbalanced the stack. This is likely because the managed PInvoke signature does not match the unmanaged target signature. Check that the calling convention and parameters of the PInvoke signature match the target unmanaged signature."

Причем ругается и на PSE31_Generation и на Copy_PSE31


Думаю, что неправильно объявил декларацию функций, но сообразить где проблема, не могу


есть сишная библиотека, в которой объявлены:
автор
/* Initialization and Completion Functions */
MPFUN int MPAPI PKCS7Init(char *pse_path, int reserved);
MPFUN int MPAPI PKCS7Final(void);

/* Key and Certificate Request Generation Functions */
MPFUN int MPAPI PSE31_Generation(char *pse_path, int reserv1, char *reserv2, unsigned long flags);
MPFUN int MPAPI Copy_PSE31(char *pse_path, char *reserv, char *new_pse_path, unsigned long flags);




Я написал следующую обертку для dll:
using System;
using System.Collections.Generic;
using System.Text;
using System.Runtime.InteropServices;

namespace TestApplicationForMP
{
    internal abstract class MP_API
    {
        public const ulong PSE31_FAIL_IF_EXISTS = 1;


        [DllImport("mespro.dll", CharSet = CharSet.Auto)]
        public static extern int PKCS7Init(string Path, int Obsolete);


        [DllImport("mespro.dll", CharSet = CharSet.Auto)]
        public static extern int PKCS7Final();


        [DllImport("mespro.dll", CharSet = CharSet.Auto)]
        public static extern int PSE31_Generation(string PSE_Path, int Reserv1, string Reserv2, ulong Flags);


        [DllImport("mespro.dll", CharSet = CharSet.Auto)]
        public static extern int Copy_PSE31(string PSE_Path, string Reserv, string NewPSE_Path, ulong Flags);
    }
}



Пытаюсь применить следующим образом:
using System;
using System.Collections.Generic;
using System.Text;
using System.IO;
using TestApplicationForMP;

namespace TestApplicationForMP
{
    class Program
    {
        static void Main(string[] args)
        {
            int i;

            i = MP_API.PKCS7Init(null, 0);
            Console.WriteLine(i);

            i = MP_API.Copy_PSE31(@"c:\Documents and Settings\kazaryan\Мои документы\Message-PRO lib v.2.9.0.10\pse31\u3\", null, @"c:\Documents and Settings\kazaryan\Мои документы\Visual Studio 2005\Projects\Solution1\TestApplicationForMP\bin\Debug\pse31\u3\", 0);
            Console.WriteLine(i);

            i = MP_API.PSE31_Generation(@"c:\Documents and Settings\kazaryan\Мои документы\Visual Studio 2005\Projects\Solution1\TestApplicationForMP\bin\Debug\pse31\u3\", 0, null, 0);
            Console.WriteLine(i);

            i = MP_API.PKCS7Final();
            Console.WriteLine(i);

            Console.Read();
        }
    }
}
Ответ: Мир не без добрых людей :) Пасиб.

Самаритяне, поясните недалекому:

есть

MPFUN void MPAPI SetRandInitCallbackFun(void *Func);

Данная функция задает пользовательскую функцию обратного вызова RandInitCallback, которая вызывается из библиотеки для инициализации генератора случайных чисел.

Func - указатель на функцию RandInitCallback, реализованную в пользовательском приложении.

Описание функции RandInitCallback следующее:

int _stdcall RandInitCallback(int c, int step, int from, char *reserv);

c – символ, который должен ввести пользователь (должен отображаться на экране);
step – номер текущей итерации;
from – общее число итераций;
reserv – не используется.

Функция RandInitCallback возвращает код введенного пользователем символа (может не совпадать с требуемым символом, в этом случае номер итерации будет уменьшен). Если функция RandInitCallback возвращает -1, процедура инициализации прерывается. Вызов функции RandInitCallback в Windows приложениях осуществляется по правилам языка Pascal (_stdcall).

Пример реализации функции RandInitCallback:

int _stdcall RandInitCallback(int c, int step, int from, char *reserv)
{
unsigned char cc[64];

fprintf(stdout, "Step=%2i/%2i Press %c [%02x]: ", step, from, c, c);
fgets((char *)cc, sizeof(cc), stdin);
if(strcmp((char *)cc, "\n") == 0) return -1;
return *cc;
}


почитав
.NET Framework Developer's Guide
How to: Implement Callback Functions

сделал:

public delegate int CallBack(int c, int step, int from, string userdata);

а в классе:

        public static int getch_cb(int c, int step, int from, string userdata)
        {
            // смысл функции - возвратить вызывающей функции код символа, 
            // введенного пользователем. А он вводит то, что ему выдается на экран.
            // то есть можно сразу же возвращать символ
            return c;
        }
        
        [DllImport("mespro.dll", CharSet = CharSet.Auto)]
        public static extern void SetRandInitCallbackFun(CallBack Func);

Применяю:
            CallBack Rand = new CallBack(MP_API.getch_cb);
            MP_API.SetRandInitCallbackFun(Rand);

и не работает :)
Вопрос: Проблема с разбивкой папок: 10000 папок разбить на 100 папок

Написал на pdo парсер теперь проблема с сортировкой так как в 1 папку залезает 10000 папок нужно разбить 100x100 папок.

PHP:

  1.  
  2. <?PHP
  3.  
  4.     $host = '127.0.0.1';
  5.     $db   = 'gigal';
  6.     $user = 'root';
  7.     $pass = '';
  8.     $charset = 'utf8';
  9.     $objectId = '';
  10.     $image = '';
  11.     $row = '';
  12.     $id = '';
  13.  
  14.     $dsn = "mysql:host=$host;dbname=$db;charset=$charset";
  15.  
  16.     $opt = [
  17.         PDO::ATTR_ERRMODE            => PDO::ERRMODE_EXCEPTION,
  18.         PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
  19.         PDO::ATTR_EMULATE_PREPARES   => false,
  20.     ];
  21.     $pdo = new PDO($dsn, $user, $pass, $opt);
  22.  
  23.     $stmt = $pdo->query('SELECT * FROM id_images');
  24.  
  25.         /* TODO
  26.         header("Content-Type: image/jpeg");
  27.         */
  28.         $number_catalog = 1;
  29.     while ($row = $stmt->fetch(PDO::FETCH_LAZY))
  30.     {
  31.         $row_object = $row['objectId'];
  32.         $row_image = $row['image'];
  33.         $id_image = $row['id'];
  34.         $type_image = $row['ext'];
  35.         $count_dir = (("../uploads/image/{$number_catalog}/*.*"));
  36.  
  37.         if($count_dir = 0 || $count_dir = 100) {
  38.         $strukture = "../uploads/image/{$number_catalog}/";
  39.         $path = $strukture.$row_object;
  40.         ($path,true);
  41.         ("../uploads/image/{$number_catalog}/{$row_object}/{$id_image}.{$type_image}", $row_image);
  42.         } elseif ($count_dir = 101) {
  43.             $number_catalog++; // Понимаю что это бред но как увеличить переменную на единицу?
  44.             ($path,true);
  45.             ("../uploads/image/{$number_catalog}/{$row_object}/{$id_image}.{$type_image}", $row_image);
  46.         }
  47.     }
  48. ?>


Выручайте камрады, заранее Вам спасибо!

(Отредактировано автором: 21 Октября, 2017 - 08:53:39)

Ответ:
Изменил код но все равно в 1 папку свыше 1000 элементов идет что делать подскажите?

PHP:

  1. <?PHP
  2.  
  3.     $host = '127.0.0.1';
  4.     $db   = 'gigal';
  5.     $user = 'root';
  6.     $pass = '';
  7.     $charset = 'utf8';
  8.     $objectId = '';
  9.     $image = '';
  10.     $row = '';
  11.     $id = '';
  12.     $number_catalog = 1;
  13.  
  14.     $dsn = "mysql:host=$host;dbname=$db;charset=$charset";
  15.     /*
  16.     $opt = [
  17.         PDO::ATTR_ERRMODE            => PDO::ERRMODE_EXCEPTION,
  18.         PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
  19.         PDO::ATTR_EMULATE_PREPARES   => false,
  20.     ];
  21.     */ // TODO
  22.    
  23.     $pdo = new PDO($dsn, $user, $pass);
  24.  
  25.     $stmt = $pdo->query('SELECT * FROM id_images');
  26.  
  27.     while ($row = $stmt->fetch(PDO::FETCH_LAZY))
  28.     {
  29.         $row_object = $row['objectId'];
  30.         $row_image = $row['image'];
  31.         $id_image = $row['id'];
  32.         $type_image = $row['ext'];
  33.  
  34.         $count_dir = (("../uploads/image/{$number_catalog}/*.*"));
  35.  
  36.         if($count_dir < 100) {
  37.         $strukture = "../uploads/image/{$number_catalog}/";
  38.         $path = $strukture.$row_object;
  39.         ($path,true);
  40.         ("../uploads/image/{$number_catalog}/{$row_object}/{$id_image}.{$type_image}", $row_image);
  41.         } else if ($count_dir > 100) {
  42.             $number_catalog = $number_catalog + 1;
  43.             ($path,true);
  44.             ("../uploads/image/{$number_catalog}/{$row_object}/{$id_image}.{$type_image}", $row_image);
  45.         }
  46.        
  47.     }
  48. ?>

(Добавление)
Всем спасибо! Справился сам кому интересно или у кого похожие проблемы выкладываю код.

PHP:

  1. <?PHP
  2.  
  3.     $host = '127.0.0.1';
  4.     $db   = 'gigal';
  5.     $user = 'root';
  6.     $pass = '';
  7.     $charset = 'utf8';
  8.     $objectId = '';
  9.     $image = '';
  10.     $row = '';
  11.     $id = '';
  12.     $number_catalog = 1;
  13.  
  14.     $dsn = "mysql:host=$host;dbname=$db;charset=$charset";
  15.     /*
  16.     $opt = [
  17.         PDO::ATTR_ERRMODE            => PDO::ERRMODE_EXCEPTION,
  18.         PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
  19.         PDO::ATTR_EMULATE_PREPARES   => false,
  20.     ];
  21.     */ // TODO
  22.    
  23.     $pdo = new PDO($dsn, $user, $pass);
  24.  
  25.     $stmt = $pdo->query('SELECT * FROM id_images');
  26.  
  27.     while ($row = $stmt->fetch(PDO::FETCH_LAZY))
  28.     {
  29.         $row_object = $row['objectId'];
  30.         $row_image = $row['image'];
  31.         $id_image = $row['id'];
  32.         $type_image = $row['ext'];
  33.  
  34.         $count_dir = (("../uploads/image/{$number_catalog}/*"));
  35.  
  36.         if($count_dir < 100) {
  37.         $strukture = "../uploads/image/{$number_catalog}/";
  38.         $path = $strukture.$row_object;
  39.         ($strukture,true);
  40.         ($path,true);
  41.         ("../uploads/image/{$number_catalog}/{$row_object}/{$id_image}.{$type_image}", $row_image);
  42.         } else {
  43.             $number_catalog++;
  44.             ($strukture,true);
  45.             ($path,true);
  46.             ("../uploads/image/{$number_catalog}/{$row_object}/{$id_image}.{$type_image}", $row_image);
  47.         }
  48.        
  49.     }
  50. ?>


Единственный вопрос у меня картинки не открываются но понятно там ширины и высоты у них нет но в базе данных есть таблицы с шириной и высотой можно же при выводе передавать из таблицы в файл ширину и высоту и при выводе они будут работать?
Вопрос: Synapse: авторизация на сайте

Никак не получается авторизоваться на сайте qiwi.ru. Пробуй вот так
Код Delphi
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
var stream: TStringStream;
httpsend: THTTPSend;
sl: TStringList;
begin
  Memo1.Clear;
  Memo2.Clear;
  sl:= TStringList.Create;
  stream:=TStringStream.Create('');
  stream.WriteString('source=MENU&login=%2Bтелефон начиная с 7&password=пароль');
  httpsend:=THTTPSend.Create;
  httpsend.UserAgent:= 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:36.0) Gecko/20100101 Firefox/36.0';
  httpsend.MimeType:='application/x-www-form-urlencoded;charset=utf-8';
  httpsend.Document.LoadFromStream(stream);
  if httpsend.HTTPMethod('post','https://auth.qiwi.com/cas/tickets') then
  begin
    Memo2.Lines.Add('Отправка запроса. Ответ сервера');
    Memo2.Lines.Add('-----Cokies-----');
    Memo2.Lines.add(httpsend.Cookies.Text);
    Memo2.Lines.Add('-----Headers-----');
    Memo2.Lines.add(httpsend.Headers.Text);
    if httpsend.ResultCode = 201 then
      begin
         httpsend.Document.Clear;
         httpsend.Headers.Clear;
         stream.Clear;
         httpsend.HTTPMethod('get', 'https://qiwi.ru/main.action');
         httpsend.Document.SaveToStream(stream);
         Memo1.Lines.Add(stream.DataString);
      end
    else
      Memo1.Lines.Add('Авторизация не удалась')
  end
  else
    Memo1.Lines.Add('Ошибка');
  httpsend.Free;
  stream.Free;
end;
вот часть заголовков при авторизации
Кликните здесь для просмотра всего текста

https://auth.qiwi.com/cas/tickets

POST /cas/tickets HTTP/1.1
Host: auth.qiwi.com
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:36.0) Gecko/20100101 Firefox/36.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: ru
Accept-Encoding: gzip, deflate
Content-Type: application/x-www-form-urlencoded;charset=utf-8
Referer: https://auth.qiwi.com/app/index?v=0....pool.jsp%22%7D
Content-Length: 50
Cookie: JSESSIONID=BCE8985F98238849F0792D37B6607D1E.node-s1764
DNT: 1
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache
source=MENU&login=%2Bномер&password=пароль
HTTP/1.1 201 Created
Server: nginx
Date: Wed, 01 Apr 2015 07:16:07 GMT
Content-Type: text/plain;charset=UTF-8
Content-Length: 61
Connection: keep-alive
Strict-Transport-Security: max-age=31536000
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
----------------------------------------------------------
https://auth.qiwi.com/cas/tickets

POST /cas/tickets HTTP/1.1
Host: auth.qiwi.com
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:36.0) Gecko/20100101 Firefox/36.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: ru
Accept-Encoding: gzip, deflate
Content-Type: application/x-www-form-urlencoded;charset=utf-8
Referer: https://auth.qiwi.com/app/index?v=0....pool.jsp%22%7D
Content-Length: 128
Cookie: JSESSIONID=BCE8985F98238849F0792D37B6607D1E.node-s1764
DNT: 1
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache
service=https%3A%2F%2Fqiwi.ru%2Fj_spring_cas_security_check&ticket=TGT-130956-kj6FRZwSRjEQmVlhlEcQ43aVTvnorPz4jMX3JxWxcb7dP0XN4p
HTTP/1.1 200 OK
Server: nginx
Date: Wed, 01 Apr 2015 07:16:07 GMT
Content-Type: text/html;charset=UTF-8
Transfer-Encoding: chunked
Connection: keep-alive
Set-Cookie: CASTGC=TGT-130956-kj6FRZwSRjEQmVlhlEcQ43aVTvnorPz4jMX3JxWxcb7dP0XN4p; Domain=auth.qiwi.com; Path=/; Secure; HttpOnly
Strict-Transport-Security: max-age=31536000
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
Content-Encoding: gzip
----------------------------------------------------------
https://qiwi.ru/j_spring_cas_securit...7Wiv5rbf0IRbjp

GET /j_spring_cas_security_check?ticket=ST-60331-dpFspK7Wiv5rbf0IRbjp HTTP/1.1
Host: qiwi.ru
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:36.0) Gecko/20100101 Firefox/36.0
Accept: application/json, text/javascript, */*; q=0.01
Accept-Language: ru-RU,ru;q=0.8,en-US;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate
X-Requested-With: XMLHttpRequest
Referer: https://qiwi.ru/
Cookie: JSESSIONID=DFAB9E4CF68F42282BF4BD9EA2093164.node-s1518; node=f6a96893658da9f92f20f6b61c938dd3; BIGipServerM1.qiwicom=1865027082.20480.0000
DNT: 1
Connection: keep-alive

HTTP/1.1 200 OK
Server: nginx
Date: Wed, 01 Apr 2015 07:16:09 GMT
Content-Type: application/json;charset=UTF-8
Content-Length: 81
Connection: keep-alive
X-Content-Type-Options: nosniff, nosniff
X-XSS-Protection: 1; mode=block, 1; mode=block
Cache-Control: no-cache
Pragma: No-cache
Expires: 0
Strict-Transport-Security: max-age=31536000 ; includeSubDomains, max-age=31536000
X-Frame-Options: DENY
Set-Cookie: JSESSIONID=29E2301B12C1C4012F1939557A81774D.node-s1518; Path=/; Secure; HttpOnly
Set-Cookie: node=f6a96893658da9f92f20f6b61c938dd3;Path=/
Content-Encoding: gzip
----------------------------------------------------------
https://qiwi.ru/main.action

GET /main.action HTTP/1.1
Host: qiwi.ru
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:36.0) Gecko/20100101 Firefox/36.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: ru-RU,ru;q=0.8,en-US;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate
Referer: https://qiwi.ru/
Cookie: JSESSIONID=29E2301B12C1C4012F1939557A81774D.node-s1518; node=f6a96893658da9f92f20f6b61c938dd3; BIGipServerM1.qiwicom=1865027082.20480.0000
DNT: 1
Connection: keep-alive

HTTP/1.1 200 OK
Server: nginx
Date: Wed, 01 Apr 2015 07:16:09 GMT
Content-Type: text/html;charset=UTF-8
Transfer-Encoding: chunked
Connection: keep-alive
Expires: Sat, 6 May 1995 12:00:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
X-Frame-Options: SAMEORIGIN
Strict-Transport-Security: max-age=31536000
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
Set-Cookie: node=f6a96893658da9f92f20f6b61c938dd3;Path=/
Content-Encoding: gzip
----------------------------------------------------------


В итоге в Memo1 я получаю страницу без авторизации. Но отправка пост запроса на https :// auth.qiwi .com/cas/tickets возвращает 201, как и должно быть. Не могу понять в чем дело. Вижу только еще один пост запрос на тот же урл куда я шлю логин с паролем, но я понятия не имею откуда берется service=https%3A%2F%2Fqiwi.ru%2Fj_spring_cas_security_check&ticket=TGT-130956-kj6FRZwSRjEQmVlhlEcQ43aVTvnorPz4jMX3JxWxcb7dP0XN4p. Помогите пожалуйста пройти авторизацию...

Добавлено через 9 часов 45 минут
тишина... вот не поверю что из 30 посмотревших никто не знает...

Добавлено через 32 минуты
ну или хотя бы скажите, через indy будет работать?
Ответ: жаль. значит сделаю все сам

Добавлено через 1 час 51 минуту
Код Delphi
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
var stream: TStringStream;
httpsend: THTTPSend;
sl: TStringList;
begin
  Memo1.Clear;
  Memo2.Clear;
  sl:= TStringList.Create;
  stream:=TStringStream.Create('');
  stream.WriteString('source=MENU&login=%2Bномер&password=пасс');
  httpsend:=THTTPSend.Create;
  httpsend.MimeType:='application/x-www-form-urlencoded; charset=UTF-8';
  httpsend.Headers.Add('X-Requested-With: XMLHttpRequest');
  httpsend.Headers.Add('Accept: application/json, text/javascript, */*; q=0.01');
  httpsend.Headers.Add('Referer: [url]https://qiwi.ru/main.action');[/url]
  httpsend.Headers.Add('Host: qiwi.ru');
  httpsend.Headers.Add('Accept-Encoding: identity');
  stream.Position := 0;
  httpsend.Document.LoadFromStream(stream);
  stream.Clear;
  if httpsend.HTTPMethod('post','https://qiwi.ru/auth/login.action') then
  begin
    Memo2.Lines.Add('Отправка запроса. Ответ сервера');
    Memo2.Lines.Add('-----Cokies-----');
    Memo2.Lines.add(httpsend.Cookies.Text);
    Memo2.Lines.Add('-----Headers-----');
    Memo2.Lines.add(httpsend.Headers.Text);
    if httpsend.ResultCode = 200 then
      begin
         httpsend.Document.SaveToStream(stream);
         Memo1.Lines.Add(stream.DataString);
         stream.Clear;
         httpsend.Document.Clear;
         httpsend.Headers.Clear;
         httpsend.HTTPMethod('get', 'https://qiwi.ru/main.action');
         httpsend.Document.SaveToStream(stream);
         Memo1.Lines.Add(stream.DataString);
      end
    else
      Memo1.Lines.Add('Авторизация не удалась')
  end
  else
    Memo1.Lines.Add('Ошибка');
  httpsend.Free;
  stream.Free;
end;
Авторизация проходит успешно, судя по полученному ответу. также я получаю токен. Может подскажете как его использовать чтобы перейти на qiwi .ru/main.action уже авторизованным. еще через снифер увидел что после успешного логина идет редирект на https ://qiwi .ru/person/state.action. где идет респонз
Response
Код JSON
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
{
   "code":{
      "value":"0",
      "_name":"NORMAL"
   },
   "data":{
      "balances":{
         "USD":0,
         "RUB":0.79
      },
      "handledCardCount":0,
      "linkedCardCount":1,
      "messages":0,
      "person":"79297009362",
      "unpaidOrderCount":0,
      "validSession":true,
      "webmoneyHandledLinksCount":0,
      "webmoneyLinksCount":0
   },
   "message":null,
   "messages":null
}
но почему то если я пытаюсь у себя после логина туда перейти мне выдает 401. наверное дело в токене все таки. но в снифере я найти куда и как его совать не смог... но мне было бы достаточно просто получить этот респонз чтобы узнать баланс и все. ну хоть кто нибудь отзовитесь!!!

Добавлено через 7 минут
не 401 а 400

Добавлено через 11 часов 38 минут
ну вот как я и говорил сделал все сам. смысл был такой что при первой отправке пост запроса идет возврат токена, затем нужно было повторить тот же запрос только добавить в него токен и все. в ответ система вернет location на который нужно совершить редирект и мы получим страничку киви с авторизацией. насчет https ://qiwi .ru/person/state.action. туда идет пусой пост запрос после логина. вот и все что мне нужно было. сам спросил, сам ответил) жаль нельзя самому себе + поставить))
Вопрос: Вывод из двух баз с условием

Всем доброго времени суток. У меня такая проблема.
Есть две базы данных

в первой базе transactions содержится
id
date - дата совершения транзакции
paysys - идентификатор платежной системы (int)
sum - сумма платежа
agremment - номер договора

во второй базе paysys содержится
id - идентификатор платежной системы (int)
paysys_name - название платежной системы.

Необходимо вывести все названия платежной системы без дубликатов, и для каждой системы вывести сумму за прошлый месяц.
Код.
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
<?php
$connection1 = new PDO('mysql:host=localhost;dbname=db1;charset=utf8', 'root', '');
$connection2 = new PDO('mysql:host=localhost;dbname=db2;charset=utf8', 'root', '');
 
$data = date('m')-1;    // -1 потому что нужны запросы за прошедшый месяц
echo $data;
echo '<div>';
echo '<p>';
$sql = "SELECT date, paysys, sum, agreemen FROM transactions WHERE DATE_FORMAT(date, '%m') = $data"; 
$result = $connection1->prepare( $sql );
$result->execute();
if($result->rowCount() > 0){    
    while($res = $result->fetch(PDO::FETCH_BOTH)){
        echo 'Идентификатор системы: ', $res['paysys'],  
             ' Сумма: ',                $res['sum'], 
             ' Дата: ',                 $res['date'], 
             '</p>';
    }
        $sql = "SELECT id, paysys_name FROM paysys ";
        $result = $connection2->prepare( $sql );
        $result->execute();
        if($result->rowCount() > 0){
            while($res = $result->fetch(PDO::FETCH_BOTH)){
             echo 'Идентификатор системы: ', $res['paysys_name'],
                 '</p>';                    
        }
    }
}
?>
p.s. не прошу писать за меня. Просто у меня еще не было подобной задачи.
Ответ: UPD.
Сделал вывод сумм для каждой paysys для прошлого месяца. Теперь осталось вместое paysys выводить названия из второй bd2.
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?php
$connection1 = new PDO('mysql:host=localhost;dbname=db1;charset=utf8', 'root', '');
$connection2 = new PDO('mysql:host=localhost;dbname=db2;charset=utf8', 'root', '');
 
$data = date('m')-1;    // -1 потому что нужны запросы за прошедшый месяц, а запуск файла происходит 01 числа каждого месяца в 6:00 утра.
//echo $data;
echo '<div>';
echo '<p>';
$sql = "SELECT id, paysys, date, SUM(sum) AS summari FROM transactions WHERE DATE_FORMAT(date, '%m') = $data GROUP BY paysys";
$result = $connection1->prepare( $sql );
$result->execute();
if($result->rowCount() > 0){    
    while($res = $result->fetch(PDO::FETCH_BOTH)){
        echo 'Идентификатор системы(id): ', $res['paysys'],  // здесь должно быть название из второй базы, вместо paysys 
            ' Сумма: ',                 $res['summari'], 
             ' Дата: ',                 $res['date'], 
             '</p>';
    }
}
Добавлено через 4 часа 19 минут
upd.
сделал для одной бд, что бы было над чем думать)
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
<?php
try {
$db1 = new PDO('mysql:host=localhost;dbname=db1;charset=utf8', 'root', '');
$db2 = new PDO('mysql:host=localhost;dbname=db2;charset=utf8', 'root', '');
} catch (PDOException $ex) {
  echo 'Connection failed: ' . $ex->getMessage();
}
 
$data = date('m')-1;    // -1 потому что нужны запросы за прошедшый месяц, а запуск файла происходит 01 числа каждого месяца в 6:00 утра.
//echo $data;
echo '<div>';
echo '<p>';
$sql = 
"SELECT paysys.paysys_name, transactions.id, transactions.paysys, transactions.date, SUM(transactions.sum) AS summari 
FROM transactions
RIGHT JOIN paysys
ON transactions.paysys = paysys.id
WHERE DATE_FORMAT(date, '%m') = $data 
GROUP BY paysys";
 
$result = $db1->prepare( $sql );
$result->execute();
if($result->rowCount() > 0){    
    while($res = $result->fetch(PDO::FETCH_BOTH)){
        echo 'Имя платежной системы: ', $res['paysys_name'],
             ' Сумма: ',                $res['summari'], 
             '</p>';
    }
}
Добавлено через 8 часов 30 минут
Как говориться "Спасение утопающих — дело рук самих утопающих".
Закончил код.
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
<?php
try {
$db1 = new PDO('mysql:host=localhost;charset=utf8', 'root', '');
} catch (PDOException $ex) {
  echo 'Connection failed: ' . $ex->getMessage();
}
 
$data = date('m')-1;    // -1 потому что нужны запросы за прошедшый месяц, а запуск файла происходит 01 числа каждого месяца в 6:00 утра.
//echo $data;
echo '<div>';
echo '<p>';
$sql = 
"SELECT db2.paysys.paysys_name, db1.transactions.id, db1.transactions.paysys, db1.transactions.date, SUM(db1.transactions.sum) AS summari 
FROM db1.transactions
RIGHT JOIN db2.paysys
ON db1.transactions.paysys = db2.paysys.id
WHERE DATE_FORMAT(db1.transactions.date, '%m') = $data 
GROUP BY paysys";
 
$result = $db1->prepare( $sql );
$result->execute();
if($result->rowCount() > 0){    
    while($res = $result->fetch(PDO::FETCH_BOTH)){
        echo 'Имя платежной системы: ', $res['paysys_name'],
             ' Сумма: ',                $res['summari'], 
             '</p>';
    }
}
?>