В описанной ранее форме общества любителей енотов (см. форму про домашнее животное в конце сообщения) производится ввод имени и фамилии посетителя и выбор домашнего животного. Считаем, сколько выбрано енотов.
Для этого имя и фамилию записываем в один файл, а выбранное домашнее животное- в другой. Каждый раз при обработке информации читаем оба файла и подсчитываем количество посетителей вообще ( $n) и выбранных енотов ( $е), в частности.
Обратите внимание на особенность РНР: для того, чтобы корректно сравнить две строковые переменные, например $s1="Енот " и $s3=$file_array1[$n];, нужно завести другие переменные таким образом $s2=$s1[0]; и $s4=$s3[0]; и сравнить $s2 и $s4. Они сравниваются правильно. Исходные переменные - нет.
<?php
// Читаем файл, в котором находятся данные о посетителях, зафиксированных ранее
//эти данные заносятся в массив $file_array, затем к нему добавляем строку $dop о
// новом посетителе
//и отдельно читаем и храним данные о домашнем животном.
$file = "data1087.txt";
$fh = fopen($file, "r");
$file_array = file($file);
$dop=$_REQUEST["first_name"]." ".$_REQUEST["last_name"];
// новые данные подписываем в конец массива
$file_array[]=$dop;
fclose($fh);
$file1 = "data1088.txt";
$fh1 = fopen($file1, "r+");
$file_array1 = file($file1);
// к выбранному только что типу домашнего животного прибавляем пробел
// для единообразия, т.к.пробел потом автоматически появляется при чтении из файла
$dop1=$_REQUEST["kurs"]." ";
$file_array1[]=$dop1;
fclose($fh1);
// Печатаем информацию: Имя посетителя и выбранное домашнее животное
// с помощью цикла foreach
// и заодно их считаем с помощью переменной $n
// и отдельно в $e считаем выбравших енота
echo "Выбрали зверей:";
echo " <br>"; $n=0; $e=0;
// следующие операторы необходимы для сравнения
$s1="Енот "; $s2=$s1[0];
foreach ($file_array as $value)
{
// следующие операторы необходимы для сравнения
$s3=$file_array1[$n]; $s4=$s3[0];
echo " $n ",$value," ",$file_array1[$n],"!<br>";
// только так корректно сравниваются строковые переменные
if ($s2 = = $s4) $e++;
$n++;
}
echo " <br>Число енотов=",$e;
// Записываем в конец 1-го файла информацию о последнем посетителе и в конец 2-го
// -о животном
$fh = fopen($file, "a+");
$success= fwrite($fh, $dop);
$success= fwrite($fh, "\r"); $success= fwrite($fh, "\n");
fclose($fh);
$fh1 = fopen($file1, "a+");
$success= fwrite($fh1, $dop1);
$success= fwrite($fh1, "\r");
$success= fwrite($fh1, "\n");
fclose($fh1);
?>
Для этого имя и фамилию записываем в один файл, а выбранное домашнее животное- в другой. Каждый раз при обработке информации читаем оба файла и подсчитываем количество посетителей вообще ( $n) и выбранных енотов ( $е), в частности.
Обратите внимание на особенность РНР: для того, чтобы корректно сравнить две строковые переменные, например $s1="Енот " и $s3=$file_array1[$n];, нужно завести другие переменные таким образом $s2=$s1[0]; и $s4=$s3[0]; и сравнить $s2 и $s4. Они сравниваются правильно. Исходные переменные - нет.
<?php
// Читаем файл, в котором находятся данные о посетителях, зафиксированных ранее
//эти данные заносятся в массив $file_array, затем к нему добавляем строку $dop о
// новом посетителе
//и отдельно читаем и храним данные о домашнем животном.
$file = "data1087.txt";
$fh = fopen($file, "r");
$file_array = file($file);
$dop=$_REQUEST["first_name"]." ".$_REQUEST["last_name"];
// новые данные подписываем в конец массива
$file_array[]=$dop;
fclose($fh);
$file1 = "data1088.txt";
$fh1 = fopen($file1, "r+");
$file_array1 = file($file1);
// к выбранному только что типу домашнего животного прибавляем пробел
// для единообразия, т.к.пробел потом автоматически появляется при чтении из файла
$dop1=$_REQUEST["kurs"]." ";
$file_array1[]=$dop1;
fclose($fh1);
// Печатаем информацию: Имя посетителя и выбранное домашнее животное
// с помощью цикла foreach
// и заодно их считаем с помощью переменной $n
// и отдельно в $e считаем выбравших енота
echo "Выбрали зверей:";
echo " <br>"; $n=0; $e=0;
// следующие операторы необходимы для сравнения
$s1="Енот "; $s2=$s1[0];
foreach ($file_array as $value)
{
// следующие операторы необходимы для сравнения
$s3=$file_array1[$n]; $s4=$s3[0];
echo " $n ",$value," ",$file_array1[$n],"!<br>";
// только так корректно сравниваются строковые переменные
if ($s2 = = $s4) $e++;
$n++;
}
echo " <br>Число енотов=",$e;
// Записываем в конец 1-го файла информацию о последнем посетителе и в конец 2-го
// -о животном
$fh = fopen($file, "a+");
$success= fwrite($fh, $dop);
$success= fwrite($fh, "\r"); $success= fwrite($fh, "\n");
fclose($fh);
$fh1 = fopen($file1, "a+");
$success= fwrite($fh1, $dop1);
$success= fwrite($fh1, "\r");
$success= fwrite($fh1, "\n");
fclose($fh1);
?>
Комментариев нет:
Отправить комментарий