Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   www.boolean.name > Веб-программирование > PHP / MySQL

PHP / MySQL Создание динамических Веб-ресурсов

Ответ
 
Опции темы
Старый 13.12.2011, 14:07   #1
ABTOMAT
Ференька
 
Аватар для ABTOMAT
 
Регистрация: 25.01.2007
Адрес: улица Пушкина дом Колотушкина
Сообщений: 10,240
Написано 5,110 полезных сообщений
(для 14,782 пользователей)
Ответ: Вопрос-Ответ

Это тема типа "Вопрос-Ответ".
Никаких посторонних обсуждений, только вопросы и варианты их решения.
__________________
Мои проекты:
Анальное Рабство
Зелёный Слоник
Дмитрий Маслов*
Различие**
Клюква**

* — в стадии разработки
** — в стадии проектирования
Для проектов в стадии проектирования приведены кодовые имена

(Offline)
 
Ответить с цитированием
Старый 13.12.2011, 14:07   #2
PassCall
Разработчик
 
Аватар для PassCall
 
Регистрация: 07.04.2011
Адрес: Млечный путь, Земля, Европа, Беларусь, Могилев
Сообщений: 391
Написано 94 полезных сообщений
(для 319 пользователей)
Ответ: Обсуждение мини-пособия для PHP

Осмелюсь задать ещё вопрос:

Как сохранить на сервер переменную? То-есть чтобы её значение сохранялось, даже если закрыть страницу и вызвать скрипт заново.

Допустим есть $count.
Хочется, чтобы при вызове PhP скрипта эта переменная увеличивалась на 1 и выводилась.

Что-то типа
<?php
$count
=$count+1;
echo 
$count;
?>
В общем код работает, но каждый раз выводится 1 (не приращивается). Видимо, при вызове скрипта все переменные обнуляются.

Нужно использовать какую нибудь базу данных или можно сохранять данные, обходясь лишь чистым PhP?
__________________
Мечта программиста: запрограммировать процесс программирования.

Всё гениальное - просто.

http://passcall.ucoz.com
(Offline)
 
Ответить с цитированием
Старый 13.12.2011, 14:56   #3
ABTOMAT
Ференька
 
Аватар для ABTOMAT
 
Регистрация: 25.01.2007
Адрес: улица Пушкина дом Колотушкина
Сообщений: 10,240
Написано 5,110 полезных сообщений
(для 14,782 пользователей)
Ответ: Обсуждение мини-пособия для PHP

1. Записать в файл (просто)
2. Записать в MySQL-таблицу (сложно но более православно).

Примитивнейший пример записи в файл:
<?php
    $cnt 
= @file_get_contents('counter.txt');
    
$cnt++;
    
file_put_contents('counter.txt'$cnt)
?>

<h1>Количество посещений: <?php echo $cnt ?></h1>
На *nix-системе следи, чтобы файлу counter.txt были выставлены права на запись.
__________________
Мои проекты:
Анальное Рабство
Зелёный Слоник
Дмитрий Маслов*
Различие**
Клюква**

* — в стадии разработки
** — в стадии проектирования
Для проектов в стадии проектирования приведены кодовые имена

(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
PassCall (13.12.2011)
Старый 13.12.2011, 15:07   #4
PassCall
Разработчик
 
Аватар для PassCall
 
Регистрация: 07.04.2011
Адрес: Млечный путь, Земля, Европа, Беларусь, Могилев
Сообщений: 391
Написано 94 полезных сообщений
(для 319 пользователей)
Ответ: Обсуждение мини-пособия для PHP

Окей, спасибо. Но вот проблема.

Создаю на сервере файл file.txt.
Всё успешно записывается/читается (правда метод немного другой: $fp = fopen ("file.txt", "r");), автор радуется. Однако, любой желающий может просмотреть содержимого этого самого файла, просто вбив "такой-то_сайт/file.txt". Конечно, можно пошаманить насчет шифрования и прочего, но все-таки хочется, чтобы содержимое нельзя было даже открыть.

В директории сайта есть папка webstats, доступ к любому файлу в ней запаролен. Это неплохой вариант, но лучше сделать как-то грамотнее и правильнее. Не подскажете идею?
__________________
Мечта программиста: запрограммировать процесс программирования.

Всё гениальное - просто.

http://passcall.ucoz.com
(Offline)
 
Ответить с цитированием
Старый 13.12.2011, 15:32   #5
ABTOMAT
Ференька
 
Аватар для ABTOMAT
 
Регистрация: 25.01.2007
Адрес: улица Пушкина дом Колотушкина
Сообщений: 10,240
Написано 5,110 полезных сообщений
(для 14,782 пользователей)
Ответ: Обсуждение мини-пособия для PHP

Создавай файл .htaccess и внутри пиши вот это:

<Files file.txt> 
 deny from all 
 </Files>
__________________
Мои проекты:
Анальное Рабство
Зелёный Слоник
Дмитрий Маслов*
Различие**
Клюква**

* — в стадии разработки
** — в стадии проектирования
Для проектов в стадии проектирования приведены кодовые имена

(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
PassCall (13.12.2011)
Старый 24.12.2011, 16:45   #6
treycerok
Оператор ЭВМ
 
Аватар для treycerok
 
Регистрация: 11.11.2011
Адрес: Ростов-на-Дону
Сообщений: 41
Написано 9 полезных сообщений
(для 17 пользователей)
Сообщение Ответ: Вопрос-Ответ

MySql счетчик:
<?php
$server
="localhost";
$user="root";
$paswd="1";
$db="test";
$name_tb="counter";

if (
$l=mysql_connect($server,$user,$paswd))
{

    if(
mysql_select_db($db,$l))
    {
    
$ct="Create table $name_tb (
    ID INT NOT Null AUTO_INCREMENT Primary key,
        allc BLOB(60) )"
;
        if(
mysql_query($ct))
        {
        @
mysql_query("insert Into $name_tb (allc) values (1) ");
        }
        else
        {
        @
mysql_query("update $name_tb Set allc=allc+1");
        }
    
$sel=mysql_query("select allc From $name_tb");
    
$sel=mysql_fetch_array($sel);
    echo 
$sel[0];
    }
    else
    {
    echo 
'Not used database';
    }
}
else
{
echo 
'Error connect Mysql';
}
?>
(Offline)
 
Ответить с цитированием
Старый 17.11.2012, 16:16   #7
Nikich
Бывалый
 
Регистрация: 21.12.2011
Сообщений: 843
Написано 149 полезных сообщений
(для 269 пользователей)
Ответ: Вопрос-Ответ

Ребята, если сайт на денвере стоит, функция mail() работать должна? Пробовал @gmail.com,@mail.ru - всё тщетно, письма не приходят.
(Offline)
 
Ответить с цитированием
Старый 18.01.2013, 18:22   #8
pie
ПроЭктировщик
 
Аватар для pie
 
Регистрация: 04.11.2011
Сообщений: 176
Написано 19 полезных сообщений
(для 64 пользователей)
Ответ: Вопрос-Ответ

Здравствуйте! Не могу понять почему не работает данный скрипт. То есть ошибок не показывает, но он и не работает.
1. Не происходит запись в БД;
2. В ответ от скрипта приходит "false" (видимо из-за того что пункт 1 не работает).

<?php
Include "Config.php";
 
if ((!empty(
$_POST['id'])) && (!empty($_POST['key']))) {
    
$id $_POST['id'];
    
$key $_POST['key'];
    
    
$auth_key md5($api_id."_".$id."_".$api_secret);
    
    if (
$key == $auth_key) {
        
$link mysql_connect($mysql_host$mysql_user$mysql_password)
        or die(
"Could not connect : " mysql_error());
        
mysql_query('SET NAMES utf8');
        
mysql_select_db($mysql_database) or die("Could not select database");
    
        
$sql_1 "SELECT * FROM players WHERE id = '$id'";
        
$result_1 mysql_query($sql_1);
        
        if (
$result_1 == 0) {
            
$sql_2 "INSERT INTO players (id, key) VALUES ('$id', '$key')";
            
mysql_query($sql_2);
            
            echo 
json_encode(mysql_fetch_array($result_1));
        }else{
            echo 
json_encode(mysql_fetch_array($result_1));
        }
    }else{
        echo 
"Error key!";
    }
}else{
    echo 
"Error post data!";
}
?>
Структура БД:
CREATE TABLE IF NOT EXISTS `players` (
  `id` VARCHAR(32) COLLATE utf8_unicode_ci NOT NULL,
  `key` VARCHAR(32) COLLATE utf8_unicode_ci NOT NULL,
  `experience` INT(32) NOT NULL DEFAULT '50',
  `money` INT(32) NOT NULL DEFAULT '1000'
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
(Offline)
 
Ответить с цитированием
Старый 18.01.2013, 18:37   #9
dsd
Мастер
 
Аватар для dsd
 
Регистрация: 12.06.2011
Сообщений: 1,095
Написано 477 полезных сообщений
(для 1,820 пользователей)
Ответ: Вопрос-Ответ

$sql_2 = "INSERT INTO players (id, key) VALUES ('$id', '$key')";

а вот эта строка разве не так должна выглядеть:
$sql_2 = "INSERT INTO players (id, key) VALUES ('".$id."',' ".$key."')";
(Offline)
 
Ответить с цитированием
Старый 18.01.2013, 18:44   #10
pie
ПроЭктировщик
 
Аватар для pie
 
Регистрация: 04.11.2011
Сообщений: 176
Написано 19 полезных сообщений
(для 64 пользователей)
Ответ: Вопрос-Ответ

Да и так пробовал. Все равно не работает. Странно как то.
(Offline)
 
Ответить с цитированием
Старый 18.01.2013, 18:47   #11
dsd
Мастер
 
Аватар для dsd
 
Регистрация: 12.06.2011
Сообщений: 1,095
Написано 477 полезных сообщений
(для 1,820 пользователей)
Ответ: Вопрос-Ответ

session_start(); а вот такая магическая хрень где нить в начале пробовал?
у меня по началу без нее тоже не работало ничего.
(Offline)
 
Ответить с цитированием
Старый 18.01.2013, 18:52   #12
pie
ПроЭктировщик
 
Аватар для pie
 
Регистрация: 04.11.2011
Сообщений: 176
Написано 19 полезных сообщений
(для 64 пользователей)
Ответ: Вопрос-Ответ

Тоже не помогает.
Вот конфиг:
<?php
$mysql_host 
"***";         //Сервер базы данных
$mysql_user "***";             //Имя пользователя
$mysql_password "***";                 //Пароль
$mysql_database "***";     //Имя Базы Данных

$api_id "***";                         //ID приложения
$api_secret "***";         //Секретный код приложения
?>
(Offline)
 
Ответить с цитированием
Старый 18.01.2013, 19:02   #13
dsd
Мастер
 
Аватар для dsd
 
Регистрация: 12.06.2011
Сообщений: 1,095
Написано 477 полезных сообщений
(для 1,820 пользователей)
Ответ: Вопрос-Ответ

я еще только тренируюсь в пхп, но
вместо зведочек должно быть что то вменяемое наподобие такого
mysql_connect("localhost""root""") or die (mysql_error());
    
mysql_select_db("fees0_1189_x7") or die (mysql_error());

    
mysql_query("set character_set_client    ='utf8'");
    
mysql_query("set character_set_results    ='utf8'");
    
mysql_query("set collation_connection    ='utf8_bin'"); 
то есть хост это адресс где mysql работает, это либо выглядит как ссылка либо локалхост если на компе все стоит.
И должна в той mysql быть база ***, и должен быть юзер *** с паролем ***. Вот что то мне не верится что там есть такое ))

http://habrahabr.ru/post/13726/ я вот с разглядывания этого начал
(Offline)
 
Ответить с цитированием
Старый 18.01.2013, 19:17   #14
pie
ПроЭктировщик
 
Аватар для pie
 
Регистрация: 04.11.2011
Сообщений: 176
Написано 19 полезных сообщений
(для 64 пользователей)
Ответ: Вопрос-Ответ

Эмм, я вроде как специально поставил звездочки.
(Offline)
 
Ответить с цитированием
Старый 18.01.2013, 19:20   #15
dsd
Мастер
 
Аватар для dsd
 
Регистрация: 12.06.2011
Сообщений: 1,095
Написано 477 полезных сообщений
(для 1,820 пользователей)
Ответ: Вопрос-Ответ

а вот phpMyAdmin'ом ты в базу свою зайти можешь, где есть эта таблица в которую ты писать собрался?
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Часовой пояс GMT +1, время: 03:53.


vBulletin® Version 3.6.5.
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com