Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

Программируем на PHP - вопросы и ответы. 6 Кирпичиков - Дело-то житейское...


Информация от Владельца Рассылки...
http://virtual.brest.by - портал Виртуальный Брест

http://bel-host.info - Хостинг для ваших сайтов




Познавательная рассылка "Программируем на PHP - вопросы и ответы."
Уважаемый подписчик!
PHP есть скриптовый язык, позволяющий делать много полезностей Web-дизайнеру. Рассылка дает ответы на многие вопросы и учит правильно использовать это мощное средство. Вся работа построена на опубликовании шаг за шагом ряда статей с примерами, а кроме этого будет раздел вопросов и ответов, где Вы получите исчерпывающий ответ на свои вопросы.

А.Ю. Фоменко

"6 Кирпичиков - Дело-то житейское..."



Добрый день, PHP Любитель!

После двухнедельного перерыва рассылка "Программируем на PHP. Вопросы и ответы" продолжает свою работу. Чем вызвана такая задержка в выпусках?

Дело в том, что я обычный человек и ничто житейское мне не чуждо. Как говорил Карлсон, "Спокойствие. Только спокойствие. Дело-то житейское!"

У меня был переезд с одной арендуемой квартиры на другую. Вся сложность заключалась в том, что тех условий, которые были на предыдущей квартире найти так и не удалось. А это евроремонт, бойлер, горячая вода, мебель, утюг, посуда, столы...

Поэтому мы с супругой приняли радикальное решение и переехали в пустую такую же квартиру, но только без описанного выше комфорта. Сами понимаете, на новом пустом месте пришлось на своей шкуре испытать, что такое полигон для испытаний. В общем обставили мы квартиру и подключили интернет и компьютер.

И теперь я снова с Вами и готов представить Вам очередной седьмой выпуск рассылки. Да, кстати, прошу прощения за столь длительный перерыв. Надеюсь, вы ждали Выхода этой рассылки также, как ждал его я. Ни слова больше. Переходим к самому Выпуску:

"Подступы К "6 Кирпичикам", Или
Если Вы Решили Начать
Изучать Программирование На PHP,
То Самый Простой Вариант
Стартовать - Это Применить "6 Кирпичей"
(Стартовать не глядя)


Лично я не знаю ни одного другого разумного способа применения PHP языка (и интерпретатора) кроме использования для построения и "начинки" сайтов.

Александр (winbond)

Здравствуйте А.Ю.,

В последнем выпуске Вы опубликовали письмо spacer'а, в котором он предлогает свой скрипт(ы) "кирпичей". Хочу отметить преимущества моей технологии:

1. Строение сайта несколько проще (меньше файлов), что вытекает из п.2

2. Все включения (includ'ы) выполняются только в файле index.php (хотя никто не запрещает выполнить include() в любом другом файле), т.е. он генерирует все страницы (даже счетчик легче разместить в одном файле).

3. Для добавления фала нужно добавит только один файл (а не два файла page.php и page.inc), что экономит место

4. Даже при такой технологии тэг title различен на каждой странице (создавая новую страницу нужно в первой строке файла вставить (без кавычек) "<title>заглавие</title>", а затем писать содержимое страници, между тэгов <body></body> без самого тэга <body>)

Недостатки:

1. Файлы включений имеют расширение ".htm", хотя могут содержать PHP-код, что делает серьезную прореху в безопасности. Это можно исправить, но я этого специально не стал делать.

2. Если присмотреться к "исходному тексту" страницы, полученной браузером (уже после обработки интерпрататором), то можно увидеть в середине странице тэг title. Этот тэг игнорируется браузером, но его все же лучше убрать. Тоже не стал этого делать.

--
С уважением, Александр (winbond)




Вот пока и все варианты кирпичей. Которые с помощью технологии PHP помогут Вам вступить на увлекательную тропу программирования на PHP. Напомню, мой Вариант кирпичей называется "6 Кирпичиков", а его описание находится по этому адресу: http://sitesozdat.com/saitphpsait.php

Кстати, мой вариант - это Ваш персональный старт в результативное программирование на php, если Вы новичок и у Вас, как и у меня в своё время, никак не получается данную технологию освоить. Проверено!

Применяйте на практике кирпичи. Присылайте мне свои отзывы, мнения о них. Практические примеры работы... Пишите



P.S.
Приветствую всех и особливо хозяина рассылки, к которому имеются вопросы.

1. Изрядно погуляв на вашем сайте мне, к большому сожалению, так и не удалось найти страничку с 6-ю кирпичами.

2. Из диспутов рассылки поняла, что данная разработка является платной. В связи с чем вопрос: намерены ли вы разработать и выложить на сайт бесплатную демо-версию программы?

=-=-=-=-=-=-=-
С наилучшими пожеланиями Заря


По поводу первого вопроса. Вот прямая ссылка: http://sitesozdat.com/saitphpsait.php

Второй вопрос. Напомню, название данной рубрики "Подступы К "6 Кирпичикам", Или Если Вы Решили Начать Изучать Программирование На PHP, То Самый Простой Вариант Стартовать - Это Применить "6 Кирпичей"

Рубрика появилась с подачи Александра. Вот после этого письма:

Здравствуйте А.Ю.,

Ваша рассылка мне начинает постепенно нравиться, особенно раздел "Вопрос-ответ". Единственный минус - отсутствие материала для начинающих, а вместо этого реклама "кирпичей".

Использование чужого кода для изучения языка программирования обычно НЕ дает ожидаемых результатов, тому примером есть мои долгие попытки изучить java2MobileEdition таким образом; в результате я начал писать на MIDletPascal'e :)

Поэтому предлагаю Вам выложить Ваши "кирпичи" на какой-нибудь сайт (я имею в виду не архив с исходниками, а рабочий демо-сайт на "кирпичах") для просмотра их работы, а подписчикам предложить написать такой же скрипт или лучше.

А потом сравнить результаты работ. Все равно за 6$ их мало кто купит, а вести рассылку (/выпускать учебник/содержать сайт/ и пр.) гораздо приятнее не ради материальной выгода, а ради возможности помочь тем, кто в этом нуждается. Мне, даже, интересно КАК выглядит Ваш "кот в мешке" ("кирпичи") в работе.

Надеюсь на опубликование моих ответов (а особенно задачи) в следующем выпуске (не зря же я столько времени их набирал). Спасибо

--
С уважением, Александр (winbond)


Поэтому, Заря, ответ на Ваш вопрос таков: Технология достаточно проста. А демоверсии этой технологии - это варианты технологий, которые присылают в ответ на письмо Александра подписчики рассылки.

Осталось только призвать подписчиков активно включиться в работу над своими вариантами кирпичей и посулить полезный приз самому оригинальному технологу. Что я незамедлительно и делаю.

Итак, самому оригинальному кирпичному технологу достанется приз. Присылайте свой вариант кирпичей. Заря и я ждём (-:

"Вопрос-ответ"


Вопрос 4


Я думаю многие нуждаются в хороших учебниках по php. Если вам не трудно дайте посоветуйте хорошие учебники (дайте ссылки или сайт где скачать)

Ответ 4


http://pv.bstu.ru/?topic=web - страничка кафедры ПО ВТиАС БГТУ им. В.Г. Шухова (что это и где это, я не знаю, просто случайно нашел) - там есть книжки по php,html,jscript

http://www.knizhek.net/catalog/php - есть неплохие книжки по теме, но для скачивания надо регистрироваться, да и сами книжки лежат зачастую где-нибудь на rapidshare, откуда так просто не скачаешь

--
Humor(?): PCI-ный GPS-приемник

С уважением, Malefix



Вопрос 10


Здравствуйте.
Я начинающий пользователь PHP средств, так что может вопрос глупый, если не очень, тогда опубликуйте его в рассылке, если можно, т.к. почта до меня иногда почему то не доходит.

Вопрос:
Есть у меня html-страница, с формой:

<FORM ACTION="sendmail.php" method="post">
Ф.И.О.: <INPUT TYPE="Text" size="30" maxlength="40" NAME="user">
<INPUT type="Submit" value="Отправить">
<INPUT type="Reset" value="Очистить"> </FORM>

А так же есть сам файл sendmail.php со следующим содержимым:

<html><body>
<?
$Mail = "email@mail.com";
$Tema = "test";
$Body = $user;
mail($Mail, $Tema, $Body);
?>
</body></html>

Так вот вопрос - При нажатии на кнопку "Отправить" на мой E-mai приходит письмо с Темой - test, но в теле письма написано user... Как сделать так, что бы Ф.И.О., введеные пользователем в форме, прислались на мое мыло в теле письма.

-------------------------------------
С уважением,Алексей.
Написано 27.06.2006.

Ответ 10


<html><body>
<?
$Mail = "email@mail.com";
$Tema = "test";
$Body = $HTTP_POST_VARS["user"];
mail($Mail, $Tema, $Body);
?>
</body></html>

--
С уважением, Aleksey A.



Вопрос 13


Кто сталкивался с автоматизацией доставки цифровых файлов после оплаты через Rupay.com поделитесь опытом.

Интересует код работающего скрипта доставки и описание как запустить его в работу.

Я в php полный ламер поэтому как можно более подробнее расписанные ответы только приветствуются.

\\\\\\\\\\\\
Лекс

Ответ 13


После того как Вы удостоверились в оплате выдаете пользователю ссылку типа mysite.com/getfile.php?secretcode=fjghkfjvnjsfdbgjfdjffvf Если код (secretcode) верен, то скрипт выдает пользователю файл, иначе - выдает сообщение об ошибке.

Смотрите мою задачу из предыдущего выпуска. Цитата:"предлагаю всем решить такую задачу: изучите страницу (особенно ссылки на рисунок) http://066.jino-net.ru/demo/image.htm и расскажите как ЭТО работает (ps Если не получится, покажу правильный ответ)"

Другие ответы напишу позже (может на выходных)... :(

--
С уважением, Александр (winbond)



Вопрос 14


Здравствуйте, уважаемые.
В предыдущем выпуске вашей рассылки были очень обстоятельные ответы на мои два вопроса:
1 Как сосчитать файлы.
2 Как изменять окончание в сосчитанных файлах.

По отдельности - все ответы работают классно!

Но совместить что-то не получается..

То есть: есть сосчитанные с помощью РНР файлы в директории

...(окончание):
closedir ($dDir);
// подсчет количества файлов
$iNumFiles=count($aFileList);
// вывод значения
echo $iNumFiles;
...
и есть предложение Strange_V:

$poch= "дета"; //начало ед. измирения
$num= "143"; //само число
$len= strlen ($num)-1;
//выбор окончания
if ( $num[$len]==1 ) $kon= "ль";
else if ( $num[$len]>1 & $num[$len]<=4 ) $kon= "ли";
else if ( $num[$len]>4 & $num[$len]<=9 | $num[$len]=0 ) $kon= "ей";
echo $num.$poch.$kon;

Для работы (по-моему..) надо как-то вставить результат подсчета кол-ва файлов
$iNumFiles
в
$num= "143"; //само число
(вместо 143...)

За подсказку - большое спасибо.
Владимир.

Ответ 14


Вообщето, предложение Strange_V не совсем правильное.

Если деталей будет, например 11 или 113, то его пример не сработает :(

В любом месте программы, вставте этот код:

function os($num,$w0,$w1,$w2){
$ret=$w0;
if (substr($num,-1,1)==1) $ret=$w1;
if (substr($num,-1,1)>=2 and
substr($num,-1,1)<=4) $ret=$w2;
if (strlen($num)>=2){
if (substr($num,-2,1)==1) $ret=$w0;
}
return $ret;
}

А в нужном Вам месте пишите:

print "Сосчитанно: ".$iNumFiles." ";
print os($iNumFiles,"файлов","файл","файла");

=-=-=-=
"Fedos"



В скрипте от Strange_V, на который сылается автор вопроса ОШИБКА! Если количество деталей 143, то все работает нормально, но если $num="113" или $num= "14", или аналогичные значения, то скрипт выдаст 143 деталей !!! Чтобы такого не было нужно учитывать и предпоследнюю цифру (для многозначных чисел). И, если она равна "1", то будет "деталей" (например: 11 деталей, 14 деталей, 19 деталей, 112 деталей, но 131 деталь). Предлагаю использовать мою функцию. Хоть она и великовата из-за использования конструкции switch, но зато показывает альтернативное решение задачи (я имею в виду использование switch)

<?
function okonchaniya($data)
{
/*
Автор скрипта: Щербаков Александр
e-mail для связи: winbond@inbox.ru
*/
settype($data,"string");
$lastdigit=substr($data,strlen($data)-1,1);
switch ($lastdigit)
{
case "1":
$result="файл";
break;
case "2":
$result="файла";
break;
case "3":
$result="файла";
break;
case "4":
$result="файла";
break;
default:
$result="файлов";
}
if (strlen($data)==1)
{
$prelastdigit="0";
}
else
{
$prelastdigit=substr($data,strlen($data)-2,1);
}
if ($prelastdigit=="1")
{
$result="файлов";
}
return $result;
} ?> А дальше:

~~~текст-текст-код-текст~~~
Всего у нас
<?
$iNumFiles=count($aFileList);
// вывод значения
echo $iNumFiles;
echo(okonchaniya($iNumFiles));
?>
~~~текст-текст-код-текст~~~

Да, и еще, в вопросе прозвучала фраза:

"Для работы (по-моему..) надо как-то вставить результат подсчета кол-ва файлов $iNumFiles
в
$num= "143"; //само число
(вместо 143...)
"

Вы вообще не знакомы с программированием? Для того, чтобы присвоить переменной значение используется оператор присвоения, в PHP он совпадает с математически равно "=". Например:

занести в переменную $a заначение 5:
$a=5;
занести в переменную $a заначение 5+3:
$a=5+3;
занести в переменную $a заначение переменной $b:
$a=$b;
занести в переменную $a ее прежнее заначение плюс 1:
$a=$a+1;
ИЛИ
$a+=1;

Для строковых значений дела обстоят несколько иначе:

"+" заменяется на "." (все без кавычек), а сами значания указываются в кавычках (одинарных или двойных - на выбор программиста, но тут есть боьшая разница какие использовать!)

--
С уважением, Александр (winbond)



Вопрос 15


Здравствуйте, saitkakprizvanie.

Объясните, пожалуйста, на нижнем примере, как умножить два числа с выводом итого?
Спасибо.

<? if (isset($submit)):

????????????????????????????????

print "Итого = 3.84";
endif;
?>

<form action="dvachisla.php" method="post">
<input type="text" name="a" value="1.6"><br>
<input type="text" name="b" value="2.4"><br>
<input type="submit" name="submit" value="Умножить">
</form>

--
С уважением, Виктор

Ответ 15


<form action="1.php" method="post">
<input type="text" name="a" value="1.6"><br>
<input type="text" name="b" value="2.4"><br>
<input type="submit" name="submit" value="Умножить">
</form>
<? if (isset($_POST[submit])){
$res=$_POST[a]*$_POST[b];
echo "Итого: $res";}
else {
echo "Итого: 3.84";}?>

С уважением, Владимир Руденко.



<? if (isset($submit)):

$result=$_POST['a'] * $_POST['b'];

print "Итого = ".$result;
endif;
?>

<form action="dvachisla.php" method="post">
<input type="text" name="a" value="1.6"><br>
<input type="text" name="b" value="2.4"><br>
<input type="submit" name="submit" value="Умножить">
</form>

Значения полей a и b будут передаваться в скрипт в массиве $_POST

=-=-=-=
"Fedos"



Если в файле php.ini есть строка "register_globals=On", то переменные $a и $b будут иметь значения, введенные в форму. Если вместо этого есть строка "register_globals=Off", то значения из формы будут только в $_POST['a'] и $_POST['b'] (они там будут и в первом случае). Для вывода результата умножения используйте <? echo($a*$b);?> или <?= $a*$b?> Почитайте лучше учебник по PHP, Вы ведь спрашиваете слишком элементарные вещи.

Почему нельзя изменять переносы в скрипте.

В прошлой рассылке я увидел такой скрипт: function os($num,$w0,$w1,$w2){ //okonchanie slova $ret=$w0; if (substr($num,-1,1)==1) $ret=$w1; if (substr($num,-1,1)>=2 and substr($num,-1,1)<=4) $ret=$w2; if (strlen($num)>=2){ if (substr($num,-2,1)==1) $ret=$w0; } return $ret; }

Красиво, непонятно, НО НЕ РАБОТАЕТ. Почему? - Все очень просто: видимо, в первой строке после сочетания "//okonchanie slova" должен был быть переход на другую строку. Его нет, а значит интерпретатор игнорирует ВЕСЬ текст после "//" до конца строки, а не только "okonchanie slova". Я не смотрел есть ли там еще ошибки, но этого достаточно, чтобы "испортить" скрипт. Как вкралась сюда такая ошибка я не знаю, на за такими ошибками нужно внимательно следить.

Кстати вместо "//" можно использовать "#" - действует точно так. А так же "/* любая чушь */" - игнорируется только то, что находится между символов "/*" и "*/" вне зависимости от переходов на другие строки.

--
С уважением, Александр (winbond)



Вопрос 16


Мне нужно собрать максимум информации о пользователе, который открыл мою страничку (IP, браузер, OS и пр. и как можно больше). Узнавать его IP и браузер в куче с OS я могу, а что еще можно добыть. Мне нужно собрать максимум информации, что потом иметь возможность идентифицировать пользователя. Cookies и сессии здесь не подходят, поскольку пользователь их может запретить или удалить. Желательно бы заполучить какую-нибудь уникальную информацию (серийный номер видиокарты, например). Спасибо.

--
С уважением, Александр (winbond)

Ответ 16


Кто знает ответ на этот вопрос, присылайте свои письма сюда: Принять участие в формировании рубрики Вопрос - Ответ!



Вопрос 17


Может быть глупый вопрос, но никак не удается использовать перевод строки "\n"и "\n". При его вставке текст выводится без перехода на новую строку. echo ("Привет !!!\n Как дела?"), выводит "Привет !!! Как дела?"

=-=-=-=-=-=-=-
osadchij87

Ответ 17


Кто знает ответ на этот вопрос, присылайте свои письма сюда: Принять участие в формировании рубрики Вопрос - Ответ!
Подошёл к концу 7 выпуск рассылки. Ещё раз прошу прощения за 2х недельный перерыв в выпуске рассылки. Надеюсь, этого удастся избежать в дальнейшем.

И не уставаю призывать Вас стартовать в изучении PHP с моей технологии "6 Кирпичиков". Узнать стартовые подробности прямо сейчас

-=-=-=-=-=-==-=-=-=-=-=-=-=-=
Удачного Вам PHP СайтоСоздания!

А.Ю. Фоменко Принять участие в формировании рубрики Вопрос - Ответ!
Инструктор по созданию своего любительского сайта...
в Сети

P.S.
За дополнительной информацией Сердечно Приглашаю Вас на Глобальный Портал СайтСоздат http://sitesozdat.com


P.S.S. Инструкция по ликвидации подписки

Если Вы по каким-то причинам больше не хотите получать эту рассылку, то Вам следует сделать следующее:

Шаг 1. Зайти на главную страницу сервиса бесплатных рассылок, с помощью которого Вы подписались на мою рассылку.

Шаг 2. Войти в свой аккаунт подписчика, введя свои логин и пароль на данном сервисе.

Шаг 3. На открывшейся странице появится список рассылок, на которые Вы подписаны. В этом списке найти название моей рассылки «Построй Свой Бизнес В Сети» и убрать галочку, расположенную в строке названия.

Шаг 4. Обновить свои подписные данные.

Всё. Ваша подписка на мою рассылку Ликвидирована.

Желаю удачи…




Информация от Владельца Рассылки...
http://virtual.brest.by - портал Виртуальный Брест

http://bel-host.info - Хостинг для ваших сайтов

В избранное