|
|
|
| 1. делаю голосование
2. два скрипта первый golosovanie.php
<?php
$arr_variants=file("variants.txt");
$arr_opros=file("opros.txt");
echo "<form action=add_golos.php method=post>";
$variants=0;
echo $arr_variants[$variants]."<BR>";
$variants=1;
$opros=1;
while ($variants<count($arr_variants)){
echo "<input type='radio' name='oprosi' value='$opros'>"."$arr_variants[$variants]<BR>";
$variants++;
$opros++;
}
echo "<input type='submit' name='enter' value='голосовать'>";
echo "</form>";
?>
3. фаил обработчик
<?php
$arr_data=file("opros.txt");
$d=$_POST['oprosi'];
//echo $d."<br>";
$arr_data[$d]=$arr_data[$d]+1;
//echo $arr_data[$d];
//print_r($arr_data);
$fp=fopen("opros.txt","w");
foreach ($arr_data as $d){
echo $d."\n";
fputs($fp,$d);//пиши в фаил построчно с переносом строки
//unset ($arr_data);
//print_r($arr_data);
}
fclose($fp);
?>
структура фаила opros.txt
1. РЕЗУЛЬТАТЫ ГОЛОСОВАНИЯ
2. (ОСЕЛ)
3. (МАЗИЛА)
4. (ОПЕРА) | |
|
|
|
|
|
|
|
для: kvn
(19.11.2007 в 13:44)
| | так вот как то криво начинает в фаил писать неправильно как будто что то ни так сделанно( | |
|
|
|
|
|
|
|
для: kvn
(19.11.2007 в 13:44)
| | например при шелчке на 2 вариант на мазилу получаем
Варианты ответа
0
10
было
варианты ответа
0
0
0
должны были получить
варианты ответа
0
1
0
ну а вышло что выше написал отстой( | |
|
|
|
|
|
|
|
для: kvn
(19.11.2007 в 13:44)
| | Предлагаю иначе написать
<?php
$arr_variants=file("variants.txt");
$arr_opros=file("opros.txt");
echo "<form action=add_golos.php method=post>";
echo $arr_variants[0]."<BR>";
$variants=1;
while ($variants<count($arr_variants)){
echo "<input type='radio' name='oprosi' value='$variants'>{$arr_variants[$variants]}<BR>";
$variants++;
}
echo "<input type='submit' name='enter' value='голосовать'>";
echo "</form>";
?>
|
<?php
$arr_data=file("opros.txt");
$d=$_POST['oprosi'];
//echo $d."<br>";
$arr_data[$d] = intval($arr_data[$d]) + 1;
//echo $arr_data[$d];
//print_r($arr_data);
$fp=fopen("opros.txt","w");
foreach ($arr_data as $d){
echo $d."\n";
fputs($fp,$d."\n");//пиши в фаил построчно с переносом строки
//unset ($arr_data);
//print_r($arr_data);
}
fclose($fp);
?>
|
| |
|
|
|
|
|
|
|
для: bronenos
(19.11.2007 в 14:21)
| | так тоже не пишеться как надо кто нибудь помогите | |
|
|
|
|
|
|
|
для: KVN
(19.11.2007 в 16:19)
| | Дело тут в том, что после арифметической операции сложения с единицей, соответствующий элемент массива становится чисто числовым. от остальных элементов он отличается тем, что нет перевода строки справа. Надо его туда присобачить. Например, так:
$v=$arr_data[$d];
$v=$v+1;
$arr_data[$d]=$v."\n"; | |
|
|
|
|
|
|
|
для: Петров
(20.11.2007 в 12:53)
| | я ему уже исправил )) с этим переносом | |
|
|
|
|
|
|
|
для: bronenos
(20.11.2007 в 13:13)
| | Не совсем так, Вы присобачиваете перевод строки к каждому элементу массива, а надо только к тому,который меняется. В остальных он уже есть и будут в выходном файле появляться лишние строки.
В дополнение: в первом скрипте файл "opros.txt" не нужен. Нужно ведь только вывести варианты ответов, которые в файле "variants.txt". | |
|
|
|
|
|
|
|
для: Петров
(20.11.2007 в 15:02)
| | нее.... я ему в асе ответил (исправив эту ошибку) | |
|
|
|