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

Код работает на локальном сервере, но на хостинге уже не работает

27.12.2016, 17:31. Показов 8265. Ответов 20
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Привет всем) Помогите плиз... Есть веб проект, который я делал на локальной базе из сборки EasyPHP. Там все отлично работает. Теперь мне нужно перенести проект на хостинг, я просто закинул туда файлы. У меня есть форма авторизации, которая отображается корректно. Ввожу данные, жму кнопку "войти" и все... белый фон тупо... на новую страницу не переходит... Вот тут код этой операции... Сделал проверку чтобы данные из БД извлекались и все корректно работает... Но на новую страницу не переходит((
Использую библиотеку safemysql.php для формирования более удобных запросов и штуку под названием vlibtemplate в которой я не очень понимаю. Тем не менее на локальном сервере работает все, а на хостинге нет... Помогите...

PHP
1
2
3
4
5
6
7
8
9
10
11
if(!empty($_POST['email']) && !empty($_POST['passw']))
{
    $info = $fightt->getRow("SELECT * FROM `staff` WHERE `login`=?s AND `password`=?s",$_POST['email'], $_POST['passw']);
    if($_POST['email']==$info['login'] && $_POST['passw']==$info['password'])
    {
        echo $info['address'];
        header('Location:'.$info['address']); 
        exit;
    }
    echo $info['login'];
}
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
27.12.2016, 17:31
Ответы с готовыми решениями:

PHP скрипт (SellFileEasy) работает на локальном сервере, но не работает на хостинге
Всем доброго времени суток! Данный скрипт предназначен для продажи файлов. При переходе на ссылку файла, скрипт блокирует доступ к...

Скрипт не работает на домашнем сервере, но работает на хостинге
есть скрипт который отлично работает на хостинге: <?php define( 'MAIL_TO', 'myname@pochta.net' ); define( 'SITE',...

JS работает медленно на сервере. На локальном сервере быстро. В чём разница
Вечер добрый Сайт уже загрузил все JS/CSS/HTML. И после этого начинаются лаги. При открытие сайта с локального сервера - всё...

20
930 / 846 / 190
Регистрация: 28.11.2013
Сообщений: 3,621
27.12.2016, 17:36
Никакого echo перед header!
0
0 / 0 / 0
Регистрация: 03.06.2015
Сообщений: 116
27.12.2016, 17:39  [ТС]
miketomlin, да оно и без этого не работает, я это echo добавил, чтобы проверить, получает ли программа данные из бд
0
930 / 846 / 190
Регистрация: 28.11.2013
Сообщений: 3,621
27.12.2016, 17:44
А чЁ с базой? Одними файлами ваш код сыт не будет.

Добавлено через 2 минуты
Включите вывод ошибок и см., где ошибка.
0
0 / 0 / 0
Регистрация: 03.06.2015
Сообщений: 116
27.12.2016, 17:48  [ТС]
miketomlin, с базой все ок. программа данные получает. мне просто не понятно почему не идет переход к новой страничке... а как включить отображение ошибок? Вообще в результате авторизации,бд возвращает имя странички куда надо перейти. Вот код этого файла:
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
<?php
 
require_once 'vlib/vlibTemplate.php';
include 'safemysql.php';
 
 $opts = array(
        'user'    => '',
        'pass'    => '',
        'db'      => '',
        'charset' => 'utf8'
  );
$fightt = new SafeMySQL($opts);
$tmpl = new vlibTemplate('admin.tmpl');
 
 
if(!empty($_POST['col_seat']) && !empty($_POST['type']) && !empty($_POST['poi_dep']) && !empty($_POST['dest']) && !empty($_POST['dep_d']) && !empty($_POST['dep_t']) && !empty($_POST['arriv_d']) && !empty($_POST['arriv_t']) && !empty($_POST['cost']))
{
    $fightt->query("INSERT INTO `flight` SET `TYPE_AIR`=?s, `POINT_OF_DEPARTURE`=?s, `DESTINATION`=?s, `DEPARTURE_DATE`=?s, `DEPARTURE_TIME`=?s, `ARRIVAL_DATE`=?s, `ARRIVAL_TIME`=?s, `COST`=?s", $_POST['type'], $_POST['poi_dep'], $_POST['dest'], $_POST['dep_d'], $_POST['dep_t'], $_POST['arriv_d'], $_POST['arriv_t'], $_POST['cost']);
    
    $id_fly = $fightt->getOne("SELECT `ID_FLIGHT` FROM `flight` WHERE `POINT_OF_DEPARTURE`=?s AND `DESTINATION`=?s AND `DEPARTURE_DATE`=?s AND `DEPARTURE_TIME`=?s", $_POST['poi_dep'], $_POST['dest'], $_POST['dep_d'], $_POST['dep_t']);
    for ($x=0; $x<$_POST['col_seat']; $x++) 
    {
        $fightt->query("INSERT INTO `seat` SET `ID_FLIGHT`=?s, `ORDER_NUM_SEAT`=?s, `F_ZAN`=0", $id_fly,  $x+1);        
    }
    
    $fightt->query("INSERT INTO `colseat` SET `ID_FLIGHT`=?s, `COL_SEAT`=?s", $id_fly, $_POST['col_seat']); 
}
 
if(!empty($_POST['id_fly']))
{
    $info = $fightt->getAll("SELECT LASTNAME AS L_NAME, FIRSTNAME AS F_NAME, OTCHESTVO AS OTCH, DOCUMENT AS DOC, SE_DOCUMENT AS SE_DOC, NUM_DOCUMENT AS NUM_DOC, ORDER_NUM_SEAT AS ORDER_NUM  FROM `passenger` WHERE `ID_FLIGHT`=?s",$_POST['id_fly']);
 
    $tmpl->setloop('loop', $info);
    
}
 
$tmpl->pparse();
?>
0
Эксперт PHP
4925 / 3920 / 1620
Регистрация: 24.04.2014
Сообщений: 11,441
27.12.2016, 18:00
Цитата Сообщение от Eugen167 Посмотреть сообщение
как включить отображение ошибок?
В самом начале скрипта
PHP
1
2
ini_set('display_errors', 1);
error_reporting(E_ALL);
0
0 / 0 / 0
Регистрация: 03.06.2015
Сообщений: 116
27.12.2016, 18:07  [ТС]
Jewbacabra, Ошибка: Warning: Cannot modify header information - headers already sent by (output started at /home/r/r2551241/r2551241.beget.tech/public_html/reg.php:7) in /home/r/r2551241/r2551241.beget.tech/public_html/reg.php on line 25
Вот строчка:
PHP
1
    header('Location:'.$info['address']);
0
Эксперт PHP
4925 / 3920 / 1620
Регистрация: 24.04.2014
Сообщений: 11,441
27.12.2016, 18:14
Цитата Сообщение от Eugen167 Посмотреть сообщение
Вот строчка:
Эта строчка не интересна. Самое интересное тут:
Цитата Сообщение от Eugen167 Посмотреть сообщение
/home/r/r2551241/r2551241.beget.tech/public_html/reg.php:7
И по поводу этого уже было сказано:
Цитата Сообщение от miketomlin Посмотреть сообщение
Никакого echo перед header!
Что означает предупреждение "headers already sent"
0
0 / 0 / 0
Регистрация: 03.06.2015
Сообщений: 116
27.12.2016, 18:38  [ТС]
Jewbacabra, суть проблемы я понял, статью почитал и те советы не помогли
0
Эксперт PHP
4925 / 3920 / 1620
Регистрация: 24.04.2014
Сообщений: 11,441
27.12.2016, 19:04
Цитата Сообщение от Eugen167 Посмотреть сообщение
и те советы не помогли
В этой теме тебе сказали что не должно быть никакого вывода, перед header, что является кратким пересказом закрепленной теме.
Php в сообщении об ошибке четко написал где этот вывод перед вызовом функции header происходит, я даже выделил эту часть сообщения об ошибке.
Что могло не получиться???
0
0 / 0 / 0
Регистрация: 03.06.2015
Сообщений: 116
27.12.2016, 19:34  [ТС]
Jewbacabra, я уже убрал эхо, никакого вывода нет и не было изначально, я его добавил как-раз тогда, когда перенес файлы со своего сервера на хостинг, и попытался проверить работу всего этого, когда оно и не заработало я добавил эхо, чтобы проверить приходят ли данные из БД. Вот. Его не было, а ошибка уже была. Короче вот код изначальный полный код файла:
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
<html>
<head>
<meta charset="utf8">
<link rel="stylesheet" href="css/bootstrap.min.css">
<link rel="stylesheet" href="css/bootstrap.css">
</head>
<?php
ini_set('display_errors', 1);
error_reporting(E_ALL);
include 'safemysql.php';
//global $fightt;
  $opts = array(
        'user'    => '',
        'pass'    => '',
        'db'      => '',
        'charset' => 'utf8'
  );
  $fightt = new SafeMySQL($opts);
if(!empty($_POST['email']) && !empty($_POST['passw']))
{
    $info = $fightt->getRow("SELECT * FROM `staff` WHERE `login`=?s AND `password`=?s",$_POST['email'], $_POST['passw']);
    if($_POST['email']==$info['login'] && $_POST['passw']==$info['password'])
    {
        header('Location:'.$info['address']); 
        exit;
    }
    echo $info['login'];
}
 
echo '
<div class="form-reg">
<form class="form-horizontal" role="form" method="POST">
  <div class="form-group">
    <label for="inputEmail3" class="col-sm-2 control-label">Email</label>
    <div class="col-sm-10">
      <input type="email" class="form-control" id="inputEmail3" placeholder="Email" name="email">
    </div>
  </div>
  <div class="form-group">
    <label for="inputPassword3" class="col-sm-2 control-label">Пароль</label>
    <div class="col-sm-10">
      <input type="password" class="form-control" id="inputPassword3" placeholder="Password" name="passw">
    </div>
  </div>
 
  <div class="form-group">
    <div class="col-sm-offset-2 col-sm-10">
      <button type="submit" class="btn btn-default" name="butt">Войти</button>
    </div>
  </div>
</form>
</div>';
 
?>
</html>
0
Эксперт PHP
4925 / 3920 / 1620
Регистрация: 24.04.2014
Сообщений: 11,441
27.12.2016, 19:35
Цитата Сообщение от Eugen167 Посмотреть сообщение
никакого вывода нет и не было изначально
А это что?
Цитата Сообщение от Eugen167 Посмотреть сообщение
<html> <head> <meta charset="utf8"> <link rel="stylesheet" href="css/bootstrap.min.css"> <link rel="stylesheet" href="css/bootstrap.css"> </head>
Сначала header, потом html выводить
1
0 / 0 / 0
Регистрация: 03.06.2015
Сообщений: 116
27.12.2016, 20:54  [ТС]
То есть мне этот кусок перенести в конец файла?
Цитата Сообщение от Eugen167 Посмотреть сообщение
<head>
<meta charset="utf8">
<link rel="stylesheet" href="css/bootstrap.min.css">
<link rel="stylesheet" href="css/bootstrap.css">
</head>
0
930 / 846 / 190
Регистрация: 28.11.2013
Сообщений: 3,621
27.12.2016, 21:41
Не только этот: Не отсылаются заголовки
0
0 / 0 / 0
Регистрация: 03.06.2015
Сообщений: 116
27.12.2016, 21:41  [ТС]
Jewbacabra, сделал как вы советовали, похоже эта проблема решена, спасибо. У меня теперь другой вопрос:
в этом же скрипте происходит переход на новую страничку и теперь пишет вот что:
vlibTemplate Error: Template (admin.tmpl) file not found.

Как будто у меня нет файла этого...
0
Эксперт PHP
4925 / 3920 / 1620
Регистрация: 24.04.2014
Сообщений: 11,441
27.12.2016, 21:44
Цитата Сообщение от Eugen167 Посмотреть сообщение
vlibTemplate Error: Template (admin.tmpl) file not found.
А он точно есть? А если указать полный путь?
0
0 / 0 / 0
Регистрация: 03.06.2015
Сообщений: 116
27.12.2016, 21:55  [ТС]
вот что в строке браузера:
http://r2551241.beget.tech/admin.php

вот так расположен этот файл
/r2551241.beget.tech/public_html/tmpl/admin.tmpl

а файл, в котором происходит вызов этого файла: /r2551241.beget.tech/public_html/admin.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
<?php
ini_set('display_errors', 1);
error_reporting(E_ALL);
require_once 'vlib/vlibTemplate.php';
include 'safemysql.php';
 
 $opts = array(
        'user'    => '',
        'pass'    => '',
        'db'      => '',
        'charset' => 'utf8'
  );
$fightt = new SafeMySQL($opts);
$tmpl = new vlibTemplate('admin.tmpl');//КАК Я ПОНИМАЮ, ИМЕННО ЗДЕСЬ ПРОИСХОДИТ ПОДКЛЮЧЕНИЕ ЭТОГО ФАЙЛА
//ТО ЕСТЬ PHP ОТДЕЛЬНО, HTML ОТДЕЛЬНО, НО ВСЕ ДЛЯ ОДНОЙ СТРАНИЦЫ КАК БЫ 
 
 
if(!empty($_POST['col_seat']) && !empty($_POST['type']) && !empty($_POST['poi_dep']) && !empty($_POST['dest']) && !empty($_POST['dep_d']) && !empty($_POST['dep_t']) && !empty($_POST['arriv_d']) && !empty($_POST['arriv_t']) && !empty($_POST['cost']))
{
    $fightt->query("INSERT INTO `flight` SET `TYPE_AIR`=?s, `POINT_OF_DEPARTURE`=?s, `DESTINATION`=?s, `DEPARTURE_DATE`=?s, `DEPARTURE_TIME`=?s, `ARRIVAL_DATE`=?s, `ARRIVAL_TIME`=?s, `COST`=?s", $_POST['type'], $_POST['poi_dep'], $_POST['dest'], $_POST['dep_d'], $_POST['dep_t'], $_POST['arriv_d'], $_POST['arriv_t'], $_POST['cost']);
    
    $id_fly = $fightt->getOne("SELECT `ID_FLIGHT` FROM `flight` WHERE `POINT_OF_DEPARTURE`=?s AND `DESTINATION`=?s AND `DEPARTURE_DATE`=?s AND `DEPARTURE_TIME`=?s", $_POST['poi_dep'], $_POST['dest'], $_POST['dep_d'], $_POST['dep_t']);
    for ($x=0; $x<$_POST['col_seat']; $x++) 
    {
        $fightt->query("INSERT INTO `seat` SET `ID_FLIGHT`=?s, `ORDER_NUM_SEAT`=?s, `F_ZAN`=0", $id_fly,  $x+1);        
    }
    
    $fightt->query("INSERT INTO `colseat` SET `ID_FLIGHT`=?s, `COL_SEAT`=?s", $id_fly, $_POST['col_seat']); 
}
 
if(!empty($_POST['id_fly']))
{
    $info = $fightt->getAll("SELECT LASTNAME AS L_NAME, FIRSTNAME AS F_NAME, OTCHESTVO AS OTCH, DOCUMENT AS DOC, SE_DOCUMENT AS SE_DOC, NUM_DOCUMENT AS NUM_DOC, ORDER_NUM_SEAT AS ORDER_NUM  FROM `passenger` WHERE `ID_FLIGHT`=?s",$_POST['id_fly']);
 
    $tmpl->setloop('loop', $info);
    
}
 
$tmpl->pparse();
?>
То есть у меня вызывается файл php, а из него вызывается файл с разметкой страницы и они работаю как бы одновременно
0
0 / 0 / 0
Регистрация: 03.06.2015
Сообщений: 116
27.12.2016, 22:16  [ТС]
Jewbacabra, на всякий случай скрины
Здесь, на первом скрине происходит переход из файла reg.php в файл admin.php

А здесь, на втором скрине файл admin.tmpl который почему-то не находит программа, хотя на локальном сервере все ОК.
0
Эксперт PHP
4925 / 3920 / 1620
Регистрация: 24.04.2014
Сообщений: 11,441
27.12.2016, 22:19
Не знаю что за vlibTemplate, но если попробовать так?
PHP
1
$tmpl = new vlibTemplate(__DIR__ . '/tmpl/admin.tmpl');
1
0 / 0 / 0
Регистрация: 03.06.2015
Сообщений: 116
27.12.2016, 22:25  [ТС]
Jewbacabra, вот же я дурень)) хотя с другой стороны на локалке все работает... странно чет...только надо без первого слэша и слова DIR:
PHP
1
$tmpl = new vlibTemplate('tmpl/admin.tmpl');
Вот так заработало
Большое спасибо)))
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
27.12.2016, 22:25
Помогаю со студенческими работами здесь

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

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

Различная дата на локальном сервере и хостинге
Здравствуйте. При регистрации в поле бд date с типом datetime добавляется текущее время. Перемести сайт на хостинг, так там в бд пишется...

Различные названия сайтов на локальном сервере и на хостинге
Подскажите, создала сайт на денвере с помощью CMS Joomla, необходимо выложить данный сайт на хостинг. Но появилась проблема в том, что...

Код работает на localhost не работает на хостинге
Проблема с сессиями и куками. Код работает на localhost не работает на хостинге. Пользователь может прийти с формы входа - тогда...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
Фото: Daniel Greenwood
kumehtar 13.11.2025
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru