Как их всех посчитать?

Sash [None]

Новичок
Как их всех посчитать?

Ну вот, теперь и я решил влиться в РНР клуб... но не знаю, получится ли. Купил пару книжек, скачиваю мануалы... но что-то не особо получается.:confused:
Теорию понимаю, а как на практике сделать - не пойму.
Вот вроде бы простая задача: создать простое голосование.
Опять же, понимаю, что нужно создать форму с выбором возможного ответа (от 1 до 5 баллов) и знаю как это сделать. А вот с РНР частью проблемы.:confused: Нужно создать в файле массив: имя переменной + переменная, и таких строк (или ещё чего) должно быть произвольное количество... При голосовании должно считываться соответствующее значение и инкрименироваться на значение выбранное в форме.
ПОМОГИТЕ ИДИОТУ.
 
> ПОМОГИТЕ ИДИОТУ.

Только не надо устраивать аутодафе, плиз. Просто составь алгоритм работы скрипта и реализуй его. Будут конкретные проблемы - спрашивай.

> Нужно создать в файле массив: имя переменной + переменная, и таких строк (или ещё чего) должно быть произвольное количество...

Просто определись с форматом хранения данных в файле (или в БД) и напиши функции чтения, записи (обновления) данных.
 
для чтения, например, можешь использовать функции [m]file[/m] и [m]explode[/m], для записи данных - функции [m]implode[/m] и [m]fwrite[/m] ([m]fputs[/m])
 
Sash давай так напиши простую форму из одного текстового поля - firstname! action ее поставь имя твоего скрипта и введенное значение этого поля запиши в файл. и выведи в браузер добро пожаловать firstname на наш сайт.
сможешь?
<form action="myfirst.php">
<input type="text" name="firstname">
</form>
реализуй
myfirst.php
многое для себя прояснишь.
 
Спасиба ребята. Вот только одна проблема. Если присваиваю переменной массив и пытаюсь записать его в файл, то он в файле записывает array :(
Как мне вот эту проблему решить? (вроде бы вопрос конкретный) :)
 
В файл можно записать только текст.
Вот придумай, как представить твой массив в виде текста.
 
RomikChef, это ты хорошо придумал. Я РНР три дня изучаю, а ты уже во какие задачи ставишь :) Садист!!
 
для того, чтобы придумать, как должен выглядеть массив виде текста, не нужно знать вообще ни одного языка программирования.
надо просто придумать пример такого текста.
а потом спросить - как реализовать такое преобразование на РНР
 
RomikChef спасибо тебе, за дельный совет. ну допустим я хочу, что бы у меня был примерно такой массив:
m1w1b => 7 //сумма баллов (инкримен. от 1 до 5 )
m1w1h => 7 //сколько голосов (+1 каждый раз)
.......и так несколько раз.
Я уже вроде бы и с массивами разобрался. Знаю как сделать массив и вызвать из него нужное число.
Я так пологаю что алгоритм примерно такой:
Создаём файл с пустым массивом. Потом при получении данных из формы читаем этот файл, записываем его данные во временный массив, инкриминируем определённую часть, записываем этот массив обратно в файл и закрываем его. Больше в принципе ни чего не нужно. Хорошо бы конечно ещё выводить данные из этого файла в виде "Средний балл ="$m1w1b/$m1w1h" или что-то в этом духе.
P,S только не ругайтесь на меня. Я честное слово хочу всё это изучить!!! И я ИЗУЧУ!!! Чего бы мне это ни стоило. Но вот только помогите немножко. Ок? :)
 
Sash давай так... мы будем записывать твой массив в файл в одну строку
то есть my_file.dat
ключ1##значение1##ключ2##значение2##ключ3##значение3##...........ключN##значениеN
То есть нужен какой то уникальный разделитель наших элементов чтобы потом можно было их разделить.
вот для того чтобы прочитать все это в твой массив что надо?
PHP:
$fp=fopen("my_file.dat","rb");
$fcontents=fread($fp,filesize("my_file.dat"));

//теперь в нашей переменной $fcontents содержимое файла
//используем функцию explode()
$arr=explode("##",$fcontents);
// в $arr у нас теперь элементы ключ1, элемент1, ....
//но нам надо восстановить ассоциативный массив
// для этого пройдемся по массиву еще раз в цикле
$c=count($arr);
for($i=0,$i<$c;$i+=2)
{
   $arr_assoc[$arr[$i]]=$arr[$i+1];
}
//ну вот и все - получили исходный массив!
//догадайся как его туда записать!

PHP:
//А знаешь как еще проще???
//чтение
$fp=fopen("my_file.dat","rb");
$fcontents=fread($fp,filesize("my_file.dat"));
$arr_assocc=unserialize($fcontents);
$fclose($fp);

//запись
$fp=fopen("my_file.dat","wb");
$fcontents=serialize($arr_assocc);
fwrite($fp,$fcontents);
$fclose($fp);

описания ко всем функциям, которые я привел ПРОЧИТАТЬ В МАНЕ ЕСЛИ ДЕЙСТВИТЕЛЬНО ПРАВДА
только не ругайтесь на меня. Я честное слово хочу всё это изучить!!! И я ИЗУЧУ!!! Чего бы мне это ни стоило. Но вот только помогите немножко. Ок?
 
.des. - Спасибо большое. Щас начну разбираться... ага... вот я в книжулке знакомые буковки нашел... значит разберусь! СПАСИБО!!! :) :) :)
Какие же вы хорошие :) :) :)
 
Сверху