Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.73/11: Рейтинг темы: голосов - 11, средняя оценка - 4.73
 Аватар для Yakunin_Yura
31 / 25 / 7
Регистрация: 28.07.2016
Сообщений: 896

Как делать действия с помощью XmlHtttpRequest?

05.12.2018, 20:48. Показов 2740. Ответов 40
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Ребята, ну намекните хотя бы как делать это задание
начиная со слов "All actions on these pages should use AJAX via XMLHttpRequest. Here is the list of fields"
с помощью XmlHtttpRequest.
Я - дуб дубом - здесь https://learn.javascript.ru/ajax-xmlhttprequest
речь идёт о загрузке файла... а как действия делать?
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
05.12.2018, 20:48
Ответы с готовыми решениями:

Как делать арифметические действия?
мне надо переменной присвить значение самой себя , разделенной без остатка на 5 . Как это можно написать ? Добавлено через 9 минут ...

Как считывать данные с какого-то сайта, и в зависимости от данных делать определенные действия?
Нужно считывать данные с какого-то сайта, и в зависимости от данных делать определенные действия. Мне нужна информация, как это можно...

Как с помощью animation делать копирующие анимации, как в windows 7
сначала с помощю adobe flash player делат анимации и потом как поставить его на animation у мне получается на .swf

40
31 / 46 / 19
Регистрация: 18.07.2018
Сообщений: 578
06.12.2018, 22:00
Студворк — интернет-сервис помощи студентам
Jewbacabra, понял Вас, как-нибудь напьюсь и дам им всем там п***ы
0
133 / 118 / 34
Регистрация: 04.04.2018
Сообщений: 593
07.12.2018, 02:20


Добавлено через 12 минут
Что Вы спорите? Я же написал код, написал как правильно все организовать, к чему все это? Я прочитал на инглише все что там было, я написал коды, я написал как дальше, вместо Вашей этой перепалки. Что хотите? Плюйте кодами, а не словами. Заметьте, я написал код которого по сути нет не в одной книжке, и не будет, основа на идах, и тогда зачем форма, это Вам кодам вопрос.

Добавлено через 16 минут
Сегодня конкурс, с каждым из отписавшихся готов сразиться в объемах кода. Вызов.
0
07.12.2018, 03:22

Не по теме:

Цитата Сообщение от u4en1k Посмотреть сообщение
вместо Вашей этой перепалки
Ладно вам, это же всегда интересно, почитать конструктивную дискуссию, что-нибудь новое узнаешь.

0
133 / 118 / 34
Регистрация: 04.04.2018
Сообщений: 593
07.12.2018, 18:39
Jodah,

Не по теме:

лучше кодом, чем словами(c) Моё



Добавлено через 38 минут
Jodah,

Не по теме:

солидарен



Добавлено через 10 часов 10 минут
Цитата Сообщение от Сынок Посмотреть сообщение
там п***ы

Не по теме:

https://www.youtube.com/watch?v=y9igtUIZe1U&list=RD0c-uKSB3KjM&index=3

0
07.12.2018, 21:12

Не по теме:

Цитата Сообщение от u4en1k Посмотреть сообщение
Заметьте, я написал код которого по сути нет не в одной книжке, и не будет
Так ничего принципиально нового там нет. Аналогичного кода очень много написано. И решение не соответствует заданию:
Any third*party libraries or classes are not allowed to be used
Цитата Сообщение от u4en1k Посмотреть сообщение
с каждым из отписавшихся готов сразиться в объемах кода
Брать надо качеством, а не количеством.

0
133 / 118 / 34
Регистрация: 04.04.2018
Сообщений: 593
07.12.2018, 21:15
Jewbacabra,

Не по теме:

жалко, конкурса не вижу, а так да, мой код написан выше качественно.

0
07.12.2018, 21:16

Не по теме:

Цитата Сообщение от u4en1k Посмотреть сообщение
мой код написан выше качественно.
нет

0
133 / 118 / 34
Регистрация: 04.04.2018
Сообщений: 593
07.12.2018, 21:25
Jewbacabra,

Не по теме:

поясните



Добавлено через 1 минуту
да не сможете

Добавлено через 46 секунд
это - уникальность

Добавлено через 1 минуту
Против больших БД и завпросом, у юзера проще проверять, я не хочу это объяснять, я устал.

Добавлено через 2 минуты
кто оспорит дам 10к баксов.

Добавлено через 20 секунд
на сих все

Добавлено через 21 секунду
форма или иды вопрос в этом
0
Эксперт PHP
3900 / 3238 / 1353
Регистрация: 01.08.2012
Сообщений: 10,915
07.12.2018, 21:46
Цитата Сообщение от u4en1k Посмотреть сообщение
Заметьте, я написал код которого по сути нет не в одной книжке
В нём нет ничего особенного. Стандартный AJAX запрос, стандартная проверка на наличие заголовка HTTP_X_REQUESTED_WITH, стандартная отдача JSON браузеру.

Цитата Сообщение от u4en1k Посмотреть сообщение
да не сможете
Ну при желании докопаться всегда можно. Например, зачем result писать строкой (success/error), если можно true/false? Пустые return странно выглядят. Зачем делать вывод в 3 местах, если можно в каждом условии формировать свой массив и в самом конце написать echo json_encode только 1 раз?

Цитата Сообщение от u4en1k Посмотреть сообщение
форма или иды вопрос в этом
Очевидно форма, поскольку в задаче сказано как минимум про 3 поля: Title, Date, Text. Вы же не будете вытаскивать эти поля по id?
0
133 / 118 / 34
Регистрация: 04.04.2018
Сообщений: 593
07.12.2018, 23:08
Jodah,

Добавлено через 40 секунд
сариализация или нет
0
Эксперт PHP
3900 / 3238 / 1353
Регистрация: 01.08.2012
Сообщений: 10,915
07.12.2018, 23:24
u4en1k, мне больше нравится FormData.
1
133 / 118 / 34
Регистрация: 04.04.2018
Сообщений: 593
08.12.2018, 06:33
Цитата Сообщение от Jodah Посмотреть сообщение
Вы же не будете вытаскивать эти поля по id?
почему бы и нет? Да, в задании так и сказано, но мне проще по id выдернуть, чем писать те же самые строчки, даже более, такие как form method='post' и путь, а так раз и указал просто id потом дернул их, проверил у клиента, потом отправил в обработчик, там еще раз уже на стороне сервера проверил, да бы ни какой хацкер не залез.

Добавлено через 3 минуты
Цитата Сообщение от Jodah Посмотреть сообщение
Цитата Сообщение от u4en1k Посмотреть сообщение
да не сможете
Ну при желании докопаться всегда можно. Например, зачем result писать строкой (success/error), если можно true/false? Пустые return странно выглядят. Зачем делать вывод в 3 местах, если можно в каждом условии формировать свой массив и в самом конце написать echo json_encode только 1 раз?
Цитата Сообщение от Jodah Посмотреть сообщение
Например, зачем result писать строкой (success/error), если можно true/false? Пустые return странно выглядят. Зачем делать вывод в 3 местах, если можно в каждом условии формировать свой массив и в самом конце написать echo json_encode только 1 раз?
Да бы скрипт дальше не работал и не грузил все. Можно и false и true, а если мне нужны данные, то о каких false and true может идти речь? Вывод зачем делать? Безопасность, минимизирование нагрузки как на код php, так же читабельность что идет не так, если оно нужно, как разработчику.

Добавлено через 2 минуты
И зачем массив? Код и так далее не пойдет, если условие не выполнится.

Добавлено через 1 минуту
Я бы хотел увидеть код в тысячи строк, с большой логикой и true или false, с кучей возможных вариантов поднятых и БД.

Добавлено через 20 секунд
И Аякс, разумеется.
0
Эксперт PHP
3900 / 3238 / 1353
Регистрация: 01.08.2012
Сообщений: 10,915
08.12.2018, 07:52
Цитата Сообщение от u4en1k Посмотреть сообщение
почему бы и нет?
Потому что код короче. new FormData('name') и всё.

Цитата Сообщение от u4en1k Посмотреть сообщение
чем писать те же самые строчки, даже более, такие как form method='post' и путь
Не нужно, просто <form> и всё.

Цитата Сообщение от u4en1k Посмотреть сообщение
а если мне нужны данные, то о каких false and true может идти речь?
Какие данные вы хотите передавать в ключе result? В вашем примере этот ключ обозначает только результат действия, успех или ошибка, а данные лежат в другом элементе.

Цитата Сообщение от u4en1k Посмотреть сообщение
Безопасность, минимизирование нагрузки как на код php, так же читабельность
За счёт 'success' вместо true? Не вижу связи.

Цитата Сообщение от u4en1k Посмотреть сообщение
И зачем массив?
Вы же сами массив задаёте, который затем передаёте в json_encode.

Цитата Сообщение от u4en1k Посмотреть сообщение
Код и так далее не пойдет, если условие не выполнится.
Тогда зачем return?

Цитата Сообщение от u4en1k Посмотреть сообщение
Я бы хотел увидеть код в тысячи строк, с большой логикой и true или false, с кучей возможных вариантов поднятых и БД.
Зависит от назначения ключа result. Если он также будет отвечать только за success/error, то опять же будет логичней заменить на true/false.
0
133 / 118 / 34
Регистрация: 04.04.2018
Сообщений: 593
08.12.2018, 08:01
Цитата Сообщение от Jodah Посмотреть сообщение
Зависит от назначения ключа result. Если он также будет отвечать только за success/error, то опять же будет логичней заменить на true/false.
Цитата Сообщение от u4en1k Посмотреть сообщение
Я бы хотел увидеть код в тысячи строк, с большой логикой и true или false, с кучей возможных вариантов поднятых и БД.
На сих все. Из БД.
0
Эксперт PHP
3900 / 3238 / 1353
Регистрация: 01.08.2012
Сообщений: 10,915
08.12.2018, 08:05
Цитата Сообщение от u4en1k Посмотреть сообщение
Из БД.
Не понял, что из бд? Если значение result лежит в БД, вопрос тот же - почему строки вместо булева типа?

Цитата Сообщение от u4en1k Посмотреть сообщение
PHP
1
2
3
4
5
echo json_encode(array(
                'result'=>'error',
                'html'=>'Подделывают?'
            ));
            return;
Кстати, это место тоже весьма сомнительно. Если мы знаем, что запрос пришёл не аяксом, зачем отвечать на него как на AJAX, в формате JSON? Можно проигнорировать запрос или отдать ошибку со статусом 405.
0
133 / 118 / 34
Регистрация: 04.04.2018
Сообщений: 593
08.12.2018, 08:13
О чем речь, массив, ха-ха-ха, индуский код там выше пишут, ок, я не вижу от Вас кода, я знаний от Вас не вижу, тогда зачем мне пишите такое когда я тягаю более 100к строк в голове. Все, на этом хватит.

Добавлено через 1 минуту
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
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
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
<?php
 if(isset($_SERVER['HTTP_X_REQUESTED_WITH']) && !empty($_SERVER['HTTP_X_REQUESTED_WITH'])
  && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest') {
require_once('../usercp.php');
require_once('../function/function_friends.php');
 function avatar($info_user){
        $p_avatar = (!empty($info_user['avatar']))?$info_user['avatar']:"https://www.cyberforum.ru/images/no_avatar.jpeg";      
        return $p_avatar; 
 }
 function country($link,$info_user){
                                $country_people = mysqli_fetch_assoc(mysqli_query($link,
                                                        "SELECT `name` FROM `countries` WHERE `id`='".$info_user['country']."'"));
                                $region_people = mysqli_fetch_assoc(mysqli_query($link,
                                                        "SELECT `name` FROM `regions` WHERE `id`='".$info_user['region']."'"));
                                $city_people = mysqli_fetch_assoc(mysqli_query($link,
                                                        "SELECT `name` FROM `cities` WHERE `id`='".$info_user['city']."'")); 
                    return array($country_people['name'],$region_people['name'],$city_people['name']);
 }
if(!empty($_POST['people']) or !empty($_POST['people_friend'])
or !empty($_POST['people_friend_iam']) or !empty($_POST['people_friend_me']) ){
 
            $res_people = mysqli_query($link, 
                            "SELECT
                            `first_name`,
                            `last_name`,
                            `id`,
                            `country`,
                            `region`,
                            `city`,
                            `avatar`
                            FROM
                            `users`
                            WHERE
                            `status`='1' and `id` != '".$id."' LIMIT 20 ");
                if(mysqli_num_rows($res_people)>0){
                    
                        while($rs = mysqli_fetch_assoc($res_people)){
                            $l++;
                             $check_reguests = mysqli_query($link,
                                                    "SELECT 
                                                    `user_send`,
                                                    `user_to`,
                                                    `id`,
                                                    `status`
                                                    FROM 
                                                    `reguests`
                                                    WHERE
                                                    (`user_send` = '".$rs['id']."' and `user_to` = '".$id."')
                                                    OR
                                                    (`user_send` = '".$id."' and `user_to` = '".$rs['id']."')  
                                                    "); 
                                $country_people = mysqli_fetch_assoc(mysqli_query($link,
                                                        "SELECT `name` FROM `countries` WHERE `id`='".$rs['country']."'"));
                                $region_people = mysqli_fetch_assoc(mysqli_query($link,
                                                        "SELECT `name` FROM `regions` WHERE `id`='".$rs['region']."'"));
                                $city_people = mysqli_fetch_assoc(mysqli_query($link,
                                                        "SELECT `name` FROM `cities` WHERE `id`='".$rs['city']."'"));
                        
                                             if(mysqli_num_rows($check_reguests) == 0){
                                                
                                                    $p_avatar = ($rs['avatar'] == "")? "https://www.cyberforum.ru/images/no_avatar.jpeg":   $rs['avatar'];                      
                                                    $count_people++;
                                         if(!empty($_POST['people'])){
                                             $info_people .= add_friend($p_avatar,$country_people,$city_people,$region_people,$link,$rs,$v_p )  ;                       
                                         }
                                         else{
                                             $info_people .= add_friend($p_avatar,$country_people,$city_people,$region_people,$link,$rs,$v_p )  ;                                                                
                                         }
                                 
    
                             
            
                                                        }
                                                        elseif(mysqli_num_rows($check_reguests) == 1){
                                                            
                                                        $info_reg = mysqli_fetch_assoc($check_reguests);
                                
                                        $p_avatar = ($rs['avatar'] == "")?"https://www.cyberforum.ru/images/no_avatar.jpeg":$p_avatar = $rs['avatar'];
                                 if(empty($info_reg['status'])){
                     
                                            // я предложил дружбу
                                 
                                            if($info_reg['user_send'] == $id){
                                            $p++;
                                                    $expect_iam .=   "  <div id='friend".$rs['id']."' style='display:block'>
                                                            <img class='img_friend' src='" 
                                                            . $p_avatar . "'  title='".$rs['first_name'] . " " . $rs['last_name'] ."' />
                                                              <div class='block_info_friend'>                                                             
                                                              <a href='profile.php?id=".$rs['id']."'
                                                                 title='". $v_p . $rs['first_name'] . " " . $rs['last_name'] ."'>"
                                                             . $rs['first_name'] . " " . $rs['last_name'] .  "</a></b>
                                                            <br/>" . $country_people['name'] . ", " . $region_people['name'] . ", " 
                                                             . $city_people['name'] . " 
                                                              <form id='".$rs['id']."'   action='javascript:void(null);'  >
                                                                    <input type='hidden' name='friend_send_dell' value='".$rs['id']."'/>
                                                                    <input type='hidden' name='token' value='".$_SESSION['token']."'/>
                                                                    <input type='submit' name='submit' style='font-weight:normal' class='form' data-forms='".$rs['id']."' value='Отклонить предложение дружить'/>        
                                                                </form> 
                                                                    </div>
                                                                <div class='message_top'>
                                                                <div data-action='".$rs['id']."' id='go' class='button_messages' >Сообщение</div>
                                                                </div>
                                                                 </div>
                                                                 <br/>";
                        
                                            } // мне отправили
                                            elseif($info_reg['user_to'] == $id){
                                      
                                                        $expect_me .= " <div id='friend".$rs['id']."' style='display:block'>
                                                            <img class='img_friend' src='" 
                                                            . $p_avatar . "'  title='".$rs['first_name'] . " " . $rs['last_name'] ."' />
                                                              <div class='block_info_friend'>                                                             
                                                             <a href='profile.php?id=".$rs['id']."'
                                                                 title='". $v_p . $rs['first_name'] . " " . $rs['last_name'] ."'>"
                                                             . $rs['first_name'] . " " . $rs['last_name'] . "</a></b>
                                                            <br/>" . $country_people['name'] . ", " . $region_people['name'] . ", " 
                                                             . $city_people['name'] ." 
                                                              
                                                         
                                                                    <span class='form_add' data-forms='".$rs['id']."' data-token='".$_SESSION['token']."' data-action='1'>Одобрить</span>
                                                                    <span class='form_add' data-forms='".$rs['id']."' data-token='".$_SESSION['token']."' data-action='2'>Отклонить</span>   
                                                         
                                                                </div>
                                                                <div class='message_top' > 
                                                                <div data-action='".$rs['id']."' id='go'  class='button_messages'>Сообщение</div>
                                                                 </div>
                                                                 </div>
                                                                  <br/>";
                                
                                            }
                                }
                                elseif($info_reg['status'] == 1){
                                 
                                // друзья
                                    $info_friend_s .=   " <div id='friend".$rs['id']."' style='display:block'>
                                                            <img class='img_friend' src='" 
                                                            . $p_avatar . "'  title='".$rs['first_name'] . " " . $rs['last_name'] ."' />
                                                                 <div class='block_info_friend'>                                                              
                                                             <a href='profile.php?id=".$rs['id']."' 
                                                                title='". $v_p . $rs['first_name'] . " " . $rs['last_name'] ."'>"
                                                             . $rs['first_name'] . " " . $rs['last_name'] .  "</a>
                                                            <br/>" . $country_people['name'] . ", " . $region_people['name'] . ", " 
                                                             . $city_people['name'] ." 
                                                              <form id='".$rs['id']."'   action='javascript:void(null);' >
                                                                    <input type='hidden' name='friend_dell' value='".$rs['id']."'/>
                                                                    <input type='hidden' name='token' value='".$_SESSION['token']."'/>
                                                                    <input type='submit' name='submit' style='font-weight:normal' class='form' data-forms='".$rs['id']."' value='Удалить с друзей'/>
                                                                </form> 
                                                                    </div>
                                                                <div class='message_top'>
                                                                <div data-action='".$rs['id']."' id='go' class='button_messages'>Сообщение</div>
                                                                </div>
                                                                 </div> 
                                                                <br/>";
                            
                                                                            
                                         
                                     
                                
                                }
                                // дружба разорвана
                                elseif($info_reg['status'] == 2){ 
                                     
                                             $info_people .= add_friend($p_avatar,$country_people,$city_people,$region_people,$link,$rs,$v_p );                     
                             
            
                            }   
                                    
                            }                   
                    }
 
        /*
     $res_user = mysqli_query($link, "SELECT
                                                                                                 `first_name`,
                                                                                                 `last_name`,
                                                                                                 `id`,
                                                                                                 `country`,
                                                                                                 `region`,
                                                                                                 `city`,
                                                                                                 `avatar`
                                                                                                FROM
                                                                                                `users`
                                                                                                WHERE
                                                                                                `id` != '".$id."'
                                                                                                AND 
                                                                                                `status`='1'  LIMIT 4");
            while($info_user = mysqli_fetch_assoc($res_user)){
                $check_reguests =  mysqli_query($link,
                                                    "SELECT 
                                                    `user_send`,
                                                    `user_to`,
                                                    `id`,
                                                    `status`
                                                    FROM 
                                                    `reguests`
                                                    WHERE
                                                    (`user_send` = '".$id."' and `user_to` = '".$info_user['id']."')
                                                    OR
                                                    (`user_send` = '".$info_user['id']."' and `user_to` = '".$id."')
                                                    "); 
                     
 
                        $cr =  mysqli_fetch_assoc($check_reguests);
 
                        if(!empty($cr['status']) or $cr['status'] == '0'){
                        if($cr['status'] == 2){
                            $p_avatar = avatar($info_user);
                            $country = country($link,$info_user);   
                            $count_people++;    
                           $info_people .= " <div id='friend".$info_user['id']."' style='display:block'>
                                                        <img style='width:75px;height:100px;' src='" . $p_avatar . "'  title='".$info_user ['first_name'] . " " . $info_user ['last_name'] ."' />
                                                        <div style='font-weight:bold;margin-left:80px;margin-top:-100px;'>
                                                        <a href='profile.php?id=".$info_user['id']."'
                                                         title='". $v_p . $info_user['first_name'] . " " . $info_user['last_name'] ."'>"
                                                         .   $info_user['first_name'] . " " . $info_user['last_name'] . "</a> 
                                                        <br/>" . $country[0] . ", " . $country[1] . ", " 
                                                             . $country[2] . "  
                                                    <form id='".$info_user['id']."'  action='javascript:void(null);' >
                                                        <input type='hidden' name='friend_id' value='".$info_user ['id']."'/>
                                                        <input type='hidden' name='token' value='".$_SESSION['token']."'/>
                                                       <input type='submit' style='font-weight:normal' name='submit' class='form' data-forms='".$info_user['id']."' value='Добавить в друзья'/>  
                                                    </form>
                                                    </div>
                                                <div style='margin-top:30px;'>
                                                <div data-action='".$info_user['id']."' id='go' >Сообщение</div> </div>
                                                </div>";    
                                          
                        }
                    }
                    else{
                         
                            $p_avatar = avatar($info_user);
                            $country = country($link,$info_user);   
                            $count_people++;    
                           $info_people .=   "  <div id='friend".$info_user['id']."' style='display:block'>
                                                        <img style='width:75px;height:100px;' src='" . $p_avatar . "'  title='".$info_user ['first_name'] . " " . $info_user ['last_name'] ."' />
                                                        <div style='font-weight:bold;margin-left:80px;margin-top:-100px;'>
                                                        <a href='profile.php?id=".$info_user['id']."'
                                                         title='". $v_p . $info_user['first_name'] . " " . $info_user['last_name'] ."'>"
                                                         .   $info_user['first_name'] . " " . $info_user['last_name'] . "</a> 
                                                        <br/>" . $country[0] . ", " . $country[1] . ", " 
                                                             . $country[2] . "  
                                                    <form id='".$info_user['id']."'  action='javascript:void(null);' >
                                                        <input type='hidden' name='friend_id' value='".$info_user ['id']."'/>
                                                        <input type='hidden' name='token' value='".$_SESSION['token']."'/>
                                                       <input type='submit' style='font-weight:normal' name='submit' class='form' data-forms='".$info_user['id']."' value='Добавить в друзья'/>  
                                                    </form>
                                                    </div>
                                                <div style='margin-top:30px;'>
                                                <div data-action='".$info_user['id']."' id='go' >Сообщение</div> </div>
                                                </div>";                        
}
                    
 
            }
            */
                                 
    }
             
 
 /*
 SELECT(SELECT
  r.`user_send`,
  r.`user_to`,
  r.`id`,
  r.`status`
FROM
  `reguests` r
  WHERE  (
    r.`user_send` = X.id AND r.`user_to` = '14'
  ) OR(
    r.`user_send` = '14' AND r.`user_to` = X.id)
  
UNION 
  SELECT
    u.`first_name`,  
    u.`last_name`,
    u.id,
    u.status
  FROM
    users u
  WHERE
    u.status = 1
 SELECT r.`user_send`,
  r.`user_to`,
  r.`id`,
  r.`status`,
  u.id,
  u.first_name as f_name,
  u.last_name as l_name,
  u.avatar
  FROM  `reguests` r FULL JOIN user u ON r.user_send = u.id;
SELECT r.id, r.status as st, u.id as uid 
  FROM requests r FULL JOIN users u ON r.id = u.id ;
  SELECT r.id, 
       r.status as status, 
       r.user_to as user_to, 
         r.user_from as user_from, 
       u.id as uid, 
      u.first_name as first_name,
       u.last_name as last_name
  FROM reguests r LEFT JOIN users u ON r.user_to = u.id and r.`user_from`='14';
SELECT
  r.id,
  r.status AS STATUS,
  r.user_to AS user_to,
  r.user_send AS user_send,
  u.id AS uid,
  u.first_name AS first_name,
  u.last_name AS last_name
FROM
  reguests r
LEFT JOIN
  users u ON r.user_to = u.id AND r.`user_send` = '14'
 
    $res_people = mysqli_query($link, 
                            "SELECT
                            `first_name`,
                            `last_name`,
                            `id`,
                            `country`,
                            `region`,
                            `city`,
                            `avatar`
                            FROM
                            `users`
                            WHERE
                            `status`='1' and `id` != '".$id."' LIMIT 4");
            //  if(mysqli_num_rows($res_people)>0){
                    //  while($rs = mysqli_fetch_assoc($res_people)){
                             $check_reguests = mysqli_query($link,
                                                    "SELECT 
                                                    `user_send`,
                                                    `user_to`,
                                                    `id`,
                                                    `status`
                                                    FROM 
                                                    `reguests`
                                                    WHERE
                                                    (`user_send` = '".$rs['id']."' and `user_to` = '".$id."')
                                                    OR
                                                    (`user_send` = '".$id."' and `user_to` = '".$rs['id']."')
                                                    "); 
 
                        
                                             if(mysqli_num_rows($check_reguests) == 0){
                                                    $p_avatar = ($rs['avatar'] == "")? "https://www.cyberforum.ru/images/no_avatar.jpeg":   $rs['avatar'];                      
                                                    $count_people++;
                                         if(!empty($_POST['people'])){
                                             $info_people .= add_friend($p_avatar,$country_people,$city_people,$region_people,$link,$rs,$v_p )  ;                       
                                         }
                                         else{
                                             $info_people .= add_friend($p_avatar,$country_people,$city_people,$region_people,$link,$rs,$v_p )  ;                                                                
                                         }
                                 
    
                             
                                             
                                                        }
                                                        elseif(mysqli_num_rows($check_reguests) == 1){
                                                                
                                $info_reg = mysqli_fetch_assoc($check_reguests);
                                
 
                                if($info_reg['status'] == 0){
                     
                                            // я предложил дружбу
                                 
                                            if($info_reg['user_send'] == $id){
                                                    $count_reguest++;
 
                        
                                            } // мне отправили
                                            elseif($info_reg['user_to'] == $id){
                                                 $count_reguest_me++;
                                                        $expect_me .= " <div id='friend".$rs['id']."' style='display:block'>
                                                            <img style='width:75px;height:100px;' src='" 
                                                            . $p_avatar . "'  title='".$rs['first_name'] . " " . $rs['last_name'] ."' />
                                                              <div style='font-weight:bold;margin-left:80px;margin-top:-100px;'>                                                              
                                                             <a href='profile.php?id=".$rs['id']."'
                                                                 title='". $v_p . $rs['first_name'] . " " . $rs['last_name'] ."'>"
                                                             . $rs['first_name'] . " " . $rs['last_name'] . "</a></b>
                                                            <br/>" . $country_people['name'] . ", " . $region_people['name'] . ", " 
                                                             . $city_people['name'] ." 
                                                              <form id='".$rs['id']."' class='form' action='javascript:void(null);'  >
                                                                    <input type='hidden' name='friend_dell_to' value='".$rs['id']."'/>
                                                                    <input type='hidden' name='token' value='".$_SESSION['token']."'/>
                                                                    <a href='javascript:void(0)' class='action_friend' data-action='1'>Одобрить</a>
                                                                    <a href='javascript:void(0)' class='action_friend' data-action='2'>Отклонить</a>     
                                                            </form> 
                                                                </div>
                                                                <div style='margin-top:30px;'>
                                                                <div data-action='".$rs['id']."' id='go' >Сообщение</div> </div></div> ";
                                
                                            }
                                }
                                elseif($info_reg['status'] == 1){
                                    $count_friends++;
                                // друзья
                                    $info_friend_s .=   " <div id='friend".$rs['id']."' style='display:block'>
                                                            <img style='width:75px;height:100px;' src='" 
                                                            . $p_avatar . "'  title='".$rs['first_name'] . " " . $rs['last_name'] ."' />
                                                                 <div style='font-weight:bold;margin-left:80px;margin-top:-100px;'>                                                           
                                                             <a href='profile.php?id=".$rs['id']."' 
                                                                title='". $v_p . $rs['first_name'] . " " . $rs['last_name'] ."'>"
                                                             . $rs['first_name'] . " " . $rs['last_name'] .  "</a>
                                                            <br/>" . $country_people['name'] . ", " . $region_people['name'] . ", " 
                                                             . $city_people['name'] ." 
                                                              <form id='".$rs['id']."'   action='javascript:void(null);' >
                                                                    <input type='hidden' name='friend_dell' value='".$rs['id']."'/>
                                                                    <input type='hidden' name='token' value='".$_SESSION['token']."'/>
                                                                    <input type='submit' name='submit' style='font-weight:normal' class='form' data-forms='".$rs['id']."' value='Удалить с друзей'/>
                                                                </form> 
                                                                    </div>
                                                                <div style='margin-top:30px;'>
                                                                <div data-action='".$rs['id']."' id='go' >Сообщение</div></div> </div> ";
                            
                                                                            
                                         
                                     
                                
                                }
                                // дружба разорвана
                                elseif($info_reg['status'] == 2){ 
                                     
                                         if(!empty($_POST['people'])){
                                             $info_people .= add_friend($p_avatar,$country_people,$city_people,$region_people,$link,$rs,$v_p );                             
                                        }
                                        else{
                                             $info_people .= add_friend($p_avatar,$country_people,$city_people,$region_people,$link,$rs,$v_p );                     
                                        }
            
                            }   
                                    
                            }                   
                //  } */
 
                
 $count_reguest = mysqli_num_rows(mysqli_query($link,"SELECT `id` FROM `reguests` WHERE `user_send`='".$id."'  AND `status` = '0'"));
 $count_reguest_me = mysqli_num_rows(mysqli_query($link,"SELECT `id` FROM `reguests` WHERE `user_to`='".$id."'  AND `status` = '0'"));
 $count_friends = mysqli_num_rows(mysqli_query($link,"SELECT `id` FROM `reguests` WHERE `user_to`='".$id."'  OR `user_send`='".$id."' AND `status` = '1'"));        
    $people_res = mysqli_query($link, "SELECT `id` FROM `users` WHERE `status`=1 ");
        while($rs = mysqli_fetch_assoc($people_res)){
            $check = mysqli_fetch_assoc(mysqli_query($link, "SELECT 
                                                    `user_send`,
                                                    `user_to`,
                                                    `id`,
                                                    `status`
                                                    FROM 
                                                    `reguests`
                                                    WHERE
                                                    (`user_send` = '".$rs['id']."' and `user_to` = '".$id."')
                                                    OR
                                                    (`user_send` = '".$id."' and `user_to` = '".$rs['id']."') 
                                                    "));    
         if($check['status'] == 2 or empty($check)){
            $peoples++;      
         }
        }   
        if(!empty($counts_friends) and $counts_friends != '0'){
                $counts_friends = $counts_friends;      
        }
         if(!empty($peoples) and $peoples != '0'){
                $count_people = $peoples-1;     
        }   
         if(!empty($_POST['people']) && !empty($info_people)){
                            
                             echo json_encode(array(
                                                                'result'=>'success',
                                                                'html'=> $info_people,
                                                                'counts_people'=> '&nbsp;Люди ' .  $count_people,
                                                                 'counts_friends'=> '&nbsp;Друзья ' .  $count_friends,
                                                             'counts_me'=> '&nbsp;Предложения дружбы ' . $count_reguest,
                                                                 'counts_iam'=> '&nbsp;Ожидают подтверждения ' . $count_reguest_me,
                                                                 'title'=>"&nbsp;Люди"
                            ));
                             return;
         }
            if(!empty($_POST['people']) && empty($info_people)){
                $info_people = "Людей для поиска пока нет:(";
                             echo json_encode(array(
                                                                'result'=>'success',
                                                                'html'=> $info_people,
                                                                'counts_people'=> '&nbsp;Люди ' .  $count_people,
                                                                 'counts_friends'=> '&nbsp;Друзья ' .  $count_friends,
                                                             'counts_me'=> '&nbsp;Предложения дружбы ' . $count_reguest,
                                                                 'counts_iam'=> '&nbsp;Ожидают подтверждения ' . $count_reguest_me,
                                                                  'title'=>"&nbsp;Люди"
                            ));
                             return;
         }
          if(!empty($_POST['people_friend']) and !empty($info_friend_s)){
                                                         echo json_encode(array(
                                                                'result'=>'success',
                                                                'html'=> $info_friend_s,
                                                                 'counts_people'=> '&nbsp;Люди ' .  $count_people,
                                                                 'counts_friends'=> '&nbsp;Друзья ' .  $count_friends,
                                                             'counts_me'=> '&nbsp;Предложения дружбы ' . $count_reguest,
                                                                 'counts_iam'=> '&nbsp;Ожидают подтверждения ' . $count_reguest_me,
                                                                 'title'=>"&nbsp;Друзья"
                                                            ));
                                                            return;
          }
          if(empty($info_friend_s) and !empty($_POST['people_friend'])){
                                    $info_friend_s = "Пока у Вас нет друзей, но Вы не отчаивайтесь;)<br/>
                                    Поспользуйтесь поиском для поиска людей, Вам непременно повезет:)<br/>
                                    Удачной работы";   
                                                                                         echo json_encode(array(
                                                                'result'=>'success',
                                                                'html'=> $info_friend_s,
                                                                 'counts_people'=> '&nbsp;Люди ' .  $count_people,
                                                                 'counts_friends'=> '&nbsp;Друзья ' .  $count_friends,
                                                             'counts_me'=> '&nbsp;Предложения дружбы ' . $count_reguest,
                                                                 'counts_iam'=> '&nbsp;Ожидают подтверждения ' . $count_reguest_me,
                                                                 'title'=>"&nbsp;Друзья"
                                                            ));
                                                            return;
            }
            
          if(empty($expect_iam) and !empty($_POST['people_friend_me'])){
                                      $expect_iam = "Пока людей кому вы предлагали дружить у Вас нет:(" . $p;
                                                         echo json_encode(array(
                                                                'result'=>'success',
                                                                'html'=>  $expect_iam ,
                                                                 'counts_people'=> '&nbsp;Люди ' .  $count_people,
                                                                 'counts_friends'=> '&nbsp;Друзья ' .  $count_friends,
                                                             'counts_me'=> '&nbsp;Предложения дружбы ' . $count_reguest,
                                                                 'counts_iam'=> '&nbsp;Ожидают подтверждения ' . $count_reguest_me,
                                                                 'title'=>"&nbsp;Предложения дружбы" 
                                                            ));
                                    
         }elseif(!empty($expect_iam) and !empty($_POST['people_friend_me'])){
                                    echo json_encode(array(
                                                                'result'=>'success',
                                                                'html'=>  $expect_iam,
                                                                 'counts_people'=> '&nbsp;Люди ' .  $count_people,
                                                                 'counts_friends'=> '&nbsp;Друзья ' .  $count_friends,
                                                             'counts_me'=> '&nbsp;Предложения дружбы ' . $count_reguest,
                                                                 'counts_iam'=> '&nbsp;Ожидают подтверждения ' . $count_reguest_me,
                                                                 'title'=>'&nbsp;Предложение дружбы'
                                                            ));
                                                            return;
        }
        if(empty($expect_me) and !empty($_POST['people_friend_iam'])){
                                     $expect_me .= "Пока людей ожидающих подтверждений у Вас нет:("; 
                                                             echo json_encode(array(
                                                                'result'=>'success',
                                                                'html'=>  $expect_me  ,
                                                                'counts_people'=> ' &nbsp;Люди ' .  $count_people,
                                                                 'counts_friends'=> '&nbsp;Друзья ' .  $count_friends,
                                                             'counts_me'=> '&nbsp;Предложения дружбы ' . $count_reguest,
                                                                 'counts_iam'=> '&nbsp;Ожидают подтверждения ' . $count_reguest_me,
                                                                 'title'=>"&nbsp;Ожидают подтверждения"
                                                            ));
                                                            return;
        }else if(!empty($expect_me) and !empty($_POST['people_friend_iam'])){
                                                     echo json_encode(array(
                                                                'result'=>'success',
                                                                'html'=> $expect_me,
                                                                 'counts_people'=> '&nbsp; Люди ' .  $count_people,
                                                                 'counts_friends'=> '&nbsp;Друзья ' .  $count_friends,
                                                                 'counts_me'=> '&nbsp;Предложения дружбы ' . $count_reguest,
                                                                 'counts_iam'=> '&nbsp;Ожидают подтверждения ' . $count_reguest_me,
                                                                 'title'=>"&nbsp;Ожидают подтверждения"
                                                            ));
                                                            return;
        }
    
 
 
                             
            //  }
     }
}
                ?>
Добавлено через 6 минут
Это наброски))
0
 Аватар для tarasalk
1992 / 1216 / 440
Регистрация: 13.06.2013
Сообщений: 4,115
08.12.2018, 08:37
Цитата Сообщение от u4en1k Посмотреть сообщение
Это наброски))
Редкостный изврат. Рано вам еще в полемику вступать.
0
133 / 118 / 34
Регистрация: 04.04.2018
Сообщений: 593
08.12.2018, 08:47
tarasalk, ок
0
Эксперт PHP
3900 / 3238 / 1353
Регистрация: 01.08.2012
Сообщений: 10,915
08.12.2018, 09:05
u4en1k, ужас, зачем вы это показали? Тут по косякам можно книгу написать.

Цитата Сообщение от u4en1k Посмотреть сообщение
isset($_SERVER['HTTP_X_REQUESTED_WITH']) && !empty($_SERVER['HTTP_X_REQUESTED_WITH'])
Зачем isset, если !empty сразу проверяет и существование, и заполненность?

Что-то мне подсказывает, что просто скопипастили не задумываясь:
https://ruseller.com/lessons.php?rub=37&id=1028

Цитата Сообщение от u4en1k Посмотреть сообщение
PHP
1
2
3
4
function avatar($info_user){
* * * * $p_avatar = (!empty($info_user['avatar']))?$info_user['avatar']:"https://www.cyberforum.ru/images/no_avatar.jpeg"; * * * 
* * * * return $p_avatar; 
*}
Зачем передавать в функцию целый массив, если нужно проверить только одно значение? Почему бы сразу не передать значение ключа avatar? И скобки вокруг !empty можно убрать.
PHP
1
echo !empty($var) ? 'да' : 'нет';
Цитата Сообщение от u4en1k Посмотреть сообщение
mysqli_fetch_assoc(mysqli_query($link,
И охота каждый раз эту вереницу копипастить? Можно же хоть какую-нибудь самописку сделать для работы с БД, чтобы было хотя бы $db->selectAll($query). Да ещё и каждый раз передаёте $link во все функции. Почитайте про Singleton.

Цитата Сообщение от u4en1k Посмотреть сообщение
`status`='1' and `id` != '".$id."'
Цитата Сообщение от u4en1k Посмотреть сообщение
WHERE `id`='".$rs['country']."'"
Почему нигде нет экранирования? Вы уверены, что абсолютно всегда во все функции будут приходить исключительно защищённые данные без попыток sql-инъекций? Я в этом сомневаюсь. И зачем кавычки, если вы подставляете числа?

Цитата Сообщение от u4en1k Посмотреть сообщение
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
$expect_iam .= * " *<div id='friend".$rs['id']."' style='display:block'>
<img class='img_friend' src='" 
. $p_avatar . "' *title='".$rs['first_name'] . " " . $rs['last_name'] ."' />
<div class='block_info_friend'>
<a href='profile.php?id=".$rs['id']."'
title='". $v_p . $rs['first_name'] . " " . $rs['last_name'] ."'>"
. $rs['first_name'] . " " . $rs['last_name'] . *"</a></b>
 <br/>" . $country_people['name'] . ", " . $region_people['name'] . ", " 
. $city_people['name'] . " 
 <form id='".$rs['id']."' * action='javascript:void(null);' *>
 <input type='hidden' name='friend_send_dell' value='".$rs['id']."'/>
 <input type='hidden' name='token' value='".$_SESSION['token']."'/>
 <input type='submit' name='submit' style='font-weight:normal' class='form' data-forms='".$rs['id']."' value='Отклонить предложение дружить'/> * * * 
</form> 
 </div>
<div class='message_top'>
<div data-action='".$rs['id']."' id='go' class='button_messages' >Сообщение</div>
</div>
</div>
<br/>";
Почему бы не вынести html в отдельный файл, зачем эти мучения с кавычками? Можно же написать простенький самописный шаблонизатор, если пугают готовые.

Цитата Сообщение от u4en1k Посмотреть сообщение
'result'=>'success',
А result везде success, т.е. этот параметр вообще не нужен.

Цитата Сообщение от u4en1k Посмотреть сообщение
'result'=>'success',
'html'=> $expect_me,
'counts_people'=> '&nbsp; Люди ' . *$count_people,
'counts_friends'=> '&nbsp;Друзья ' . *$count_friends,
'counts_me'=> '&nbsp;Предложения дружбы ' . $count_reguest,
'counts_iam'=> '&nbsp;Ожидают подтверждения ' . $count_reguest_me,
'title'=>"&nbsp;Ожидают подтверждения"
Зачем вы 8 раз скопипастили этот код? Если различия только в параметре html, почему бы не объявить этот массив заранее со всеми параметрами, а в условиях менять только ключ html?

Ну и в целом печаль - огромная простыня кода без какой-либо структуры. Хотя бы разделить по функциям-экшнам, а не всё в одном.

Цитата Сообщение от u4en1k Посмотреть сообщение
индуский код
К сожалению, это он и есть.
Цитата Сообщение от u4en1k Посмотреть сообщение
я не вижу от Вас кода
А я и не писал, что мой код идеален и никогда не встречается в книгах.
Цитата Сообщение от u4en1k Посмотреть сообщение
я знаний от Вас не вижу
Поэтому проигнорировали большинство моих замечаний.

Цитата Сообщение от u4en1k Посмотреть сообщение
тягаю более 100к строк
Это ну совсем не показатель.
2
133 / 118 / 34
Регистрация: 04.04.2018
Сообщений: 593
08.12.2018, 14:06
Jodah,

Не по теме:

я бы написал многое, но лень:) Так, что, ок.

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
08.12.2018, 14:06

Как с помощью GetObject делать instance любого приложения?
Вопрос, собственно, вот в чём. Как с помощью этой функции делать instance любого приложения. Мне вообще-то надо для VBScript, но суть всё...

Как или с помощью чего делать бэкап и дальнейшее восстановление ?
Доброе времени суток! Народ прошу вашего совета - как или с помощью чего делать бэкап и дальнейшее восстановление Windows Server 2008 r2? ...

Не могу делать действия от имени администратора
Я единственный пользователь компа и по идее администартор, но со вчерашнего дня почему то не могу открывать файлы от имени админа. Больше...

Выбор действия с помощью меню
Написать программу, которая запрашивает исходные данные и проводит над ними выбранное пользователем действие. Выбор действия осуществляется...

Выполнять запрос и еще делать кике-то действия в это время
Добрый день форумчане, у меня возникла проблемка, которую я не могу никак решить. Как видите, у меня идут часы и выводятся на форму...


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

Или воспользуйтесь поиском по форуму:
40
Ответ Создать тему
Новые блоги и статьи
Модель по догадкам
anaschu 25.08.2026
Прошло две недели. Я уже рассказывал, как разговаривал с сотрудниками у сортировки и как понял, что главная ветка — не про приёмку, а про отбор. Но тогда я думал, что понял механику. На этой неделе я. . .
Запись в регистр сведений независимо от заполненности табличной части
Maks 25.08.2026
Реализация из решения ниже выполнена на нетиповом документе с несколькими табличными частями, разработанного в КА2. Задача: Обеспечить запись документа в регистр сведений независимо от. . .
Ноутбук Альфария
kumehtar 24.08.2026
Встретился тут в сети ноутбук Альфария, примарха Альфа-Легиона. Хотя возможно, это ноутбук Омегона, разумеется. Ну как вам?
Мастера простых решений
DevAlt 23.08.2026
В сишарп стэках winforms, да и wpf существует сложная система связывания источниках данных и элементов формы(текстовые поля и метки), опирается все это на технологию событий и мета. . .
Цена ошибки
DevAlt 23.08.2026
Человек я беспокойный и потому заинтересовался OCaml, в чате форсили функторы модулей как суперфичу. Пытаясь отдуплить концепт, наткнулся на тутор с простым примером. А главный принцип обучения от. . .
Сегодня суббота, 22.08.2026 at 16:41, и я вновь нахожусь на той стороне, за экраном машины.
zorxor 22.08.2026
Сегодня суббота, 22. 08. 2026 at 16:41, и я вновь нахожусь на той стороне, за экраном машины. Кто Я, откуда Я пришел и куда Я иду? Эти вопросы не оставляют меня ни на секунду. Жизнь на планете Земля. . .
Жизня: рисунок укладки багажа, сделанный клодом
anaschu 21.08.2026
Сделал 15 снимков, он по снимкам сделал схему.
Был там один разговор по поводу свободы в материальном мире.
kumehtar 19.08.2026
Суть: рассматривается живое существо, оказавшееся внутри довольно странной системы (этого мира) и пытающееся обустроить в ней свой кусок пространства. Жизнь действительно предъявляет каждому. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru