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



 

Здравствуйте, гость (

| Вход | Регистрация )

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


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

/* Соединяемся с базой данных */
$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


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


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


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

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


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


(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


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


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


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


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


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

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


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


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


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


<?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


$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 и оставлен лишь для обратной совместимости.

Замечание модератора:
Эта тема была закрыта автоматически ввиду отсутствия активности в ней на протяжении 100+ дней.
Если Вы считаете ее актуальной и хотите оставить сообщение, то воспользуйтесь кнопкой
или обратитесь к любому из модераторов.


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


Свернуть

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

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Крауд-маркетинг который работает | Эффективные Ру-ссылки
1 Azyuka 1051 13.2.2024, 19:36
автор: tascha56
Открытая тема (нет новых ответов) Скрипт поисковика видео StrongTube
3 3josoft 1574 14.8.2023, 14:45
автор: 3josoft
Открытая тема (нет новых ответов) Скрипт приема платежей p2p с карты на карту card2card
Скрипт приема платежей p2p с карты на карту card2card
15 zladey1986 7832 26.3.2023, 8:54
автор: Palundra
Открытая тема (нет новых ответов) Продам скрипт перевода постов и комментариев
4 Tutich 786 19.1.2023, 17:23
автор: Tutich
Открытая тема (нет новых ответов) Битрикс скрипт нативной установки
3 Nemo 2451 20.11.2022, 10:09
автор: Webmaster24


 



RSS Текстовая версия Сейчас: 19.4.2024, 10:49
Дизайн