Форум программистов, компьютерный форум, киберфорум
Apache, htaccess
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/3: Рейтинг темы: голосов - 3, средняя оценка - 5.00
Заблокирован
1

Как на хостинге uhostall, сделать, чтобы работали сессии?

28.05.2021, 19:21. Показов 552. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
На vps, данный код нормально, работает.
На фри-хостинге uhostall нет.
Я сделал вывод, что просто сессии, это ведь файлы, а они не пишутся в нужное место hdd-серверов фри-хостинга uhostall.

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
<?php
/*
Plugin Name: Referall 123
Plugin URI: https://wordpress.org/plugins/referall-123/
Description: Plugin for create Referall programm on your wordpress site
Version: 1.2
Author: author
Author URI: https://profiles.wordpress.org/aleksandrposs/
*/
 
function referal123_request_123(){
     if (isset($_REQUEST['ref_id'])) {
        global $_SESSION;
        $_SESSION['reg_ref_id'] = sanitize_text_field($_REQUEST['ref_id']);
     }
      if (isset($_REQUEST['ref'])) {
        $str = "Location:/wp-login.php?action=register&ref_id=" . sanitize_text_field($_REQUEST['ref']) . "";
        header($str);
        die();
     }      
}
add_action('init', 'referal123_request_123');
 
function referal123_insert() {
 if ($_REQUEST["checkemail"] == "registered") {
    global $_SESSION;
     global $wpdb;
     $res = $wpdb->get_results("SELECT MAX(ID) FROM $wpdb->users");
     $res = (array) $res[0];
     $userIdForRef = (int) $res["MAX(ID)"];
     add_user_meta( $userIdForRef, 'referall_login', sanitize_text_field($_SESSION['reg_ref_id']) );
 }
}
add_filter('login_message', 'referal123_insert');
     
function referal123_registration_form() {
    ?>
    <p>
        <label for="first_name">
            <?php esc_html_e( 'Referall Login', 'referall_login' ) ?> <br/>
            <input type="text" class="regular_text" name="referall_login" value="<?php
   global $_SESSION;
   echo sanitize_text_field($_SESSION['reg_ref_id']);
   ?>"/>
        </label>
    </p>
    <?php
}
add_action( 'register_form', 'referal123_registration_form' );
 
function referall123_my_referall_link() {
    add_dashboard_page( __( 'My referall link', 'referall123' ), __( 'My referall link', 'referall123' ), 'read', 'wpdocs-unique-identifier', 'referall123_wpdocs_plugin_function' );
}
add_action('admin_menu', 'referall123_my_referall_link');
 
function referall123_wpdocs_plugin_function(){
      echo "<center>";
      echo "Your referall link is:<br>";
      echo home_url(). "/?ref=" . get_current_user_id() . "";
      echo "</center>";
}
 
function referal123_my_referall_link_2() {
    add_dashboard_page( __( 'List referalls', 'referall123' ), __( 'List referalls', 'referall123' ), 'read', 'List-referalls', 'referal123_wpdocs_plugin_function_2' );
}
add_action('admin_menu', 'referal123_my_referall_link_2');
 
function referal123_wpdocs_plugin_function_2(){
 ?>
 <style>
  #ref_left{width:200px;height:20px;float:left;}
  #ref_center{width:200px;height:20px;float:left;}
  #ref_right{clear:left;}
 </style>
 <center>
   <h2>List referalls</h2>
   </center>
   <?php
   global $wpdb;
   $db_ref_min = (int) $_REQUEST['db_ref_min'];
   $db_ref_max = (int) $_REQUEST['db_ref_max'];
  
   if ( $db_ref_max == 0) {
         $db_ref_max = 5;
   }
   $res_count = $wpdb->get_results(
              "
              SELECT COUNT(*) FROM $wpdb->users,$wpdb->usermeta
              WHERE $wpdb->users.ID=$wpdb->usermeta.user_id
              AND $wpdb->usermeta.meta_key='referall_login'
              ;
              "
         );
    $res_count = (array) $res_count[0];
    $res_count = (int) $res_count["COUNT(*)"];
  
    if (isset( $db_ref_min) && isset( $db_ref_max)) {
          $res = $wpdb->get_results(
              "
              SELECT * FROM $wpdb->users,$wpdb->usermeta
              WHERE $wpdb->users.ID=$wpdb->usermeta.user_id
              AND $wpdb->usermeta.meta_key='referall_login'
               AND $wpdb->usermeta.meta_value!=''
              LIMIT " . $db_ref_min . "," . $db_ref_max . "
              ;
              "
         );  
    } else {
      $res = $wpdb->get_results(
              "
              SELECT * FROM $wpdb->users,$wpdb->usermeta
              WHERE $wpdb->users.ID=$wpdb->usermeta.user_id
              AND $wpdb->usermeta.meta_key='referall_login'
              LIMIT 0,10
              ;
              "
         );  
    }
 
   ?>
      <div id="ref_left">User</div><div id="ref_center">Referall</div><div style="clear:left;"></div>
      <?php
      $i = 0;
      $i_step = 0;
     foreach($res as $r){
      $r = (array) $r;     
       ?>
       <div id="ref_left"><?php echo $r["user_login"]; ?></div>
       <div id="ref_center"><?php echo $r["meta_value"]; ?></div>
       <div id="ref_right"></div>
       <?php
       $i++;
     }
     // back
     if ($i < $res_count) { $db_ref_min1 = $db_ref_min - 5; $db_ref_max1 = $db_ref_max - 5;}
   
     if ($db_ref_min1 < 0) {
     } else {
        echo '<a href="/wp-admin/index.php?page=List-referalls&db_ref_min=' .  $db_ref_min1 . '&db_ref_max=' .  $db_ref_max1 . '">Back</a>';
     }  
     // next
     if ($i < $res_count) { $db_ref_min2 = $db_ref_min + 5; $db_ref_max2 = $db_ref_max + 5; }
   
     if ($db_ref_min2 >= $res_count) {
     } else {
          echo '<a href="/wp-admin/index.php?page=List-referalls&db_ref_min=' .  $db_ref_min2 . '&db_ref_max=' .  $db_ref_max2 . '">Next</a>';
     }            
}
 
?>
Как на хостинге uhostall, сделать, чтобы работали сессии в php, $_SESSION ?

Добавлено через 2 часа 8 минут
Разобрался, нужно добавить следующий код,
во все функции, где идет вызов $_SESSION..
PHP
1
2
3
4
if(session_id() == ''){
    //session has not started
    session_start();
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
28.05.2021, 19:21
Ответы с готовыми решениями:

Сделайте так, чтобы при обращении к структуре (Get/Set) мы работали с данными из сессии
Здравствуйте. Я в C# совсем еще зеленый, но мне срочно нужно решить одну задачку. Подскажите,...

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

Как сделать, чтобы два монитора работали независимо?
Здравствуйте! Вопрос такой: как расширить рабочий стол в Mint 14 на два монитора? При подключении...

Как сделать чтобы 2 сетевые карты работали одновременно?
Здравствуйте. У меня в компе 2 сетевые карты, на одной местная лок.сеть, на другой постоянный...

1
Заблокирован
29.05.2021, 04:09  [ТС] 2
И да, это плагин для wordpress.
0
29.05.2021, 04:09
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
29.05.2021, 04:09
Помогаю со студенческими работами здесь

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

Как сделать чтобы работали все игры которые работают на Windows 7, но чтобы оставался Windows XP
подскажите как поступить у меня такая ситуация хочу поиграть в старую игрушку которая работает на...

Qtcreator: как сделать, чтобы работали теги, переходы и прочие плюшки?
Добрый день! Начал осваивать qtcreator, немного разобрался со стилем кода, но по мере освоения...

Как сделать, чтобы ссылки на папку работали, а сама папка не открывалась
Кто поможет??? У меня написана электронная книга E-book. Всё просто Файл index.html в котором...

Как сделать так, чтобы wifi и локальная сеть работали вместе
win server 2003,когда включены обе сети то работает только локальная а вафля нет, по отдельности...

Клиент-сервер: как сделать чтобы задачи отправки и принятия сообщений работали параллельно
Привет, есть один код асинхронного сервера, взял отсюда...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru