X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость ( Вход | Регистрация )

Открыть тему
Тема закрыта
> Не работает скрипт на хостинге
bulldos
bulldos
Topic Starter сообщение 2.6.2013, 2:37; Ответить: bulldos
Сообщение #1


Участник
***

Группа: User
Сообщений: 128
Регистрация: 15.3.2012
Поблагодарили: 8 раз
Репутация:   3  


Всем привет. На локалке скрипт работает, а на хостинге нет.
<?

/* Соединяемся с базой данных */
$hostname = "localhost"; // название/путь сервера, с MySQL
$username = "root"; // имя пользователя (в Denwer`е по умолчанию "root")
$password = "vertrigo"; // пароль пользователя (в Denwer`е по умолчанию пароль отсутствует, этот параметр можно оставить пустым)
$dbName = "test"; // название базы данных

/* Таблица MySQL, в которой хранятся данные */
$table = "zakaz";

/* Создаем соединение */
mysql_connect($hostname, $username, $password) or die ("Не могу создать соединение");

/* Выбираем базу данных. Если произойдет ошибка - вывести ее */
mysql_select_db($dbName) or die (mysql_error());

/* Если была нажата кнопка редактирования, вносим изменения */
$query = "UPDATE $table SET ready='1' WHERE id='$id'";



/* Выполняем запрос. Если произойдет ошибка - вывести ее. */
mysql_query($query) or die (mysql_error());


/* Заносим в переменную $res всю базу данных */
$query = "SELECT * FROM $table";
/* Выполняем запрос. Если произойдет ошибка - вывести ее. */
$res = mysql_query($query) or die(mysql_error());
/* Узнаем количество записей в базе данных */
$row = mysql_num_rows($res);


/* Закрываем соединение */
mysql_close();

print "<META HTTP-EQUIV='Refresh' CONTENT='0; URL=index.php'>";

?>


--------------------
icq:809 тире 405
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
kagtus
kagtus
сообщение 2.6.2013, 2:47; Ответить: kagtus
Сообщение #2


Бывалый
****

Группа: User
Сообщений: 416
Регистрация: 11.10.2012
Из: Kostroma
Поблагодарили: 94 раза
Репутация:   21  


подробнее, что пишет или не пишет???


--------------------
ася 45два48499два
удалю вирусы, помогу с сайтом ->отзывы ТУТ и ТАМ
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
bulldos
bulldos
Topic Starter сообщение 2.6.2013, 2:50; Ответить: bulldos
Сообщение #3


Участник
***

Группа: User
Сообщений: 128
Регистрация: 15.3.2012
Поблагодарили: 8 раз
Репутация:   3  


Суть следующая: ссылкой в данный скрипт передается ID - видом: http://localhost/demo/ready.php?id=215
Скрипт должен изменить в ячейке ready 0 на 1
Нажимаю на ссылку, страница перегружается, но ничего не меняется.

Точнее на локалке все норм, на хостинге ничего.


--------------------
icq:809 тире 405
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
scanread
scanread
сообщение 2.6.2013, 3:00; Ответить: scanread
Сообщение #4


ДЕТАЛИ В ПРОФИЛЕ
******

Группа: Active User
Сообщений: 1005
Регистрация: 16.12.2009
Поблагодарили: 178 раз
Репутация:   54  


(bulldos @ 2.6.2013, 1:37) *
$username = "root"; // имя пользователя (в Denwer`е по умолчанию "root")
$password = "vertrigo"; // пароль пользователя (в Denwer`е по умолчанию пароль отсутствует, этот параметр можно оставить пустым)
$dbName = "test"; // название базы данных

/* Таблица MySQL, в которой хранятся данные */
$table = "zakaz";


На хостинге изменены эти данные на верные? Ведь там $username идет вида обычно логин(хостинг панели)_логин(БД)
Так же $dbName,

$table = "zakaz"; - префикса нету?


--------------------
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
bulldos
bulldos
Topic Starter сообщение 2.6.2013, 3:01; Ответить: bulldos
Сообщение #5


Участник
***

Группа: User
Сообщений: 128
Регистрация: 15.3.2012
Поблагодарили: 8 раз
Репутация:   3  


scanread, С этим все в порядке, просто код скопировал с локальной версии.


--------------------
icq:809 тире 405
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
scanread
scanread
сообщение 2.6.2013, 3:11; Ответить: scanread
Сообщение #6


ДЕТАЛИ В ПРОФИЛЕ
******

Группа: Active User
Сообщений: 1005
Регистрация: 16.12.2009
Поблагодарили: 178 раз
Репутация:   54  


bulldos, возможно права на файлы, или как вариант, htaccess? Если не секрет, какая кмс?


--------------------
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
bulldos
bulldos
Topic Starter сообщение 2.6.2013, 3:18; Ответить: bulldos
Сообщение #7


Участник
***

Группа: User
Сообщений: 128
Регистрация: 15.3.2012
Поблагодарили: 8 раз
Репутация:   3  


scanread, Это все самопис. Права на файлы - не вижу связи. htaccess тоже не пределах, там только кодировка.

Сообщение отредактировал bulldos - 2.6.2013, 3:25


--------------------
icq:809 тире 405
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
wemark
wemark
сообщение 3.6.2013, 20:07; Ответить: wemark
Сообщение #8


Новичок
*

Группа: User
Сообщений: 38
Регистрация: 14.11.2011
Из: Львов
Поблагодарили: 12 раз
Репутация:   3  


bulldos, екран пустой? ошибки никакой не выдает? Показ ошибок включен? Таблицы залили на хостинг?
Проверте все, если на локалхосте все работает - должно и на хостинге работать, возможно Вы чтото не так сделали..
Советую пошагово проверить скрипт..


--------------------
PHP, HTML, CSS, JavaScript, jQuery, AJAX, Java
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
x64
x64
сообщение 3.6.2013, 20:46; Ответить: x64
Сообщение #9


F.A.L.L.O.U.T.
*******

Группа: Super Moderator
Сообщений: 3427
Регистрация: 30.6.2011
Из: Железнодорожный (Балашиха)
Поблагодарили: 2749 раз
Репутация:   289  


<?php
ini_set('display_errors', 1);
ini_set('error_reporting', 65535);
/* Соединяемся с базой данных */

если уж берётесь что-то делать, хоть показ ошибок включите и используйте полный синтаксис. может, у хостера запрещено short_open_tag
и mysql-пользователь root на виртуалке вызывает сильное сомнение

(bulldos @ 2.6.2013, 3:18) *
Права на файлы - не вижу связи

а я вижу. файлы закинуты из под рута и имеют права 600. как, интересно, www-data может получить доступ к данному файлу?

зато строка:
$query = "UPDATE $table SET ready='1' WHERE id='$id'";

показывает истинную картину происходящего. налицо использование register_globals, который не рекомендуется уже с версии 4.2.0 (а это, только вдумайтесь, 2002 год).
хватит читать всякую псевдолитературу и говностатьи, которые устарели 11 лет назад.

$id = (int) $_GET['id']; // это же целый, так?
$query = "UPDATE $table SET ready='1' WHERE id=" . $id;


--------------------
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Didge
Didge
сообщение 3.6.2013, 21:14; Ответить: Didge
Сообщение #10


Новичок
*

Группа: User
Сообщений: 25
Регистрация: 25.5.2013
Поблагодарили: 12 раз
Репутация:   4  


$query = "UPDATE $table SET ready='1' WHERE id='$id'";
Не работает, ибо $id не иницилизирован. Судя по тому, что работает в локали - в настройках локального сервера включен параметр register_globals. Это плохо. Очень. Честно. Как иницилизировать? Например, так:
$id = -1; // Default value of ID
if (isset($_GET['id'])) {
    $id = intval($_GET['id']); // Without "intval" SQL injection is possible
}
Заодно, избавимся от SQL инъекции, которая есть в скрипте в первом посте.

И ещё должна быть какая-то авторизация в этом скрипте или .htaccess файл соответствующий (http basic auth), я полагаю. Нет?

И раз пошла такая пьянка. То вот это
print "<META HTTP-EQUIV='Refresh' CONTENT='0; URL=index.php'>";
можно заменить на:
header('Location: ./index.php');


UPD: Опоздал маленько.

register_globals, который не рекомендуется уже с версии 4.2.0
И модуль mysql (mysql_connect, mysql_select_db, mysql_query, etc) который не рекомендуется к использованию ещё с версии 3 и оставлен лишь для обратной совместимости.

Сообщение отредактировал Didge - 3.6.2013, 21:22
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Тема имеет прикрепленные файлыГде взять скрипт круговой индикатор выполнения
3 slavyn 441 14.12.2017, 22:55
автор: Caterpillar
Открытая тема (нет новых ответов) Ищу скрипт новостного агрегатора
0 Cunningfox 476 27.11.2017, 21:17
автор: Cunningfox
Открытая тема (нет новых ответов) Поиск. Скрипт а-ля pikabu.
1 Упс 767 20.11.2017, 8:19
автор: codename65
Открытая тема (нет новых ответов) Nofollow ссылки из robots.txt, как это работает?
Как-то запретить к индексации без rel="nofollow" из robots.txt
7 coremission 511 17.11.2017, 17:17
автор: coremission
Открытая тема (нет новых ответов) Мутаген в 2017. Кто работает?
8 OldSpice 1390 12.11.2017, 1:47
автор: _fan_


 



RSS Текстовая версия Сейчас: 16.12.2017, 23:04
Дизайн