Контакты

Для связи с нами можно использовать:
irc://irc.chatnet.ru:#gfs
icq://546460
email://cobalt[@]gfs-team.ru

Все материалы предоставлены только с ознакомительной целью
ГлавнаяСтатьиКодингПишем guestbook
© Cobalt 17.05.2006 статья не оптимизирована

 Написать гостевуху просто как два пальца об асфальт. Как ты наверно уже догадался
писать будем на великом и могучем (т.е. на PHP). Наша маленькая тулуза будет
сохранять сообщения от пользователей в базу данных (для этого мы заюзаем MySQL),
и позволять пользователю с ником Admin удалять непонравившиеся посты. Как
видешь сложного ни чего не будет.

 Для начала необходимо определиться какие будут храниться данные в базе. После
не долгого размышления не сложно догадатьсмя что понадобиться нам три поля. А
именно: дата, имя юзера и собственно сам текст. Все это мы успешно поместим
в одной таблице, которую назовем book. Кроме этих трех полей нам понядобиться
служебное поле ID с идентификатором поста. Это поле будет иметь свойство
AUTO_INCREMENT. Т.е. оно автоматически будет каждый раз увеличивать свое значение
на единицу.
 И так, создадим пустую таблицу в БД. Сделать это необходимо следующей командой:
 
 CREATE TABLE book (ID     INT(22)   AUTO_INCREMENT,
                    PDate  DATE,
                    Nick   VARCHAR(22),
                    Post   TEXT);
                    
 Созданая таким образом таблица будет оправдывать себя лишь только в том случае
если у нас очень маленькая гостевуха и в ней мало постов. А все по тому что
мы не указали тут ключей. Система ключей и индексов позволяет многократно
оптимизировать структуру БД. Выборка из таблицы с индексами осуществляется не
в пример быстрее. Во вторых, я думаю, тебе не хочется чтобы юзеры начали флудить
в твоем творении. Необходимо как-то их ограничить. Например запретить
повторяющиеся посты и ограничить их длинну. Поэтому давайте немного изменим наш
запрос:

 CREATE TABLE book (ID     INT(22)   AUTO_INCREMENT PRIMARY KEY,
                    PDate  DATE,
                    Nick   VARCHAR(22),
                    Post   VARCHAR(255) UNIQUE);
                    
 Теперь представь себе как должен выглядеть пользовательский интерфейс твоей
guestbook, и напиши его на HTML. Получиться у тебя (если упростить все и убрать
дизайн) что-то вроде этого:

 <form action="" method="POST">
 <table align="center">
  <tr>
   <td> 12.01.2006 Вася Пупкин: </td>
  </tr>
  <tr>
   <td> Клевый сегодня день! </td>
  </tr>
  <tr>
   <td> Ник: <input type="text" name="nick" value=""></td>
  </tr>
  <tr>
   <td><textarea name="post"></textarea></td>
  </tr>
  <tr>
   <td align="center"><input type="submit" name="b_post" value="Отправить"></td>
  </tr>
 </table>
 </form>

 Дальше надо заменить повторяющиеся участки кода на PHP. Для этого сначала выберем
все записи из базы данных.

 $connect=mysql_connect($host, $user, $pass); // замени на твои значения
 mysql_select_db($db);                        // $db - бд где наша таблица
 $sql="SELECT ID,                             //
              Nick,                           //
              Post,                           //
              DATE_FORMAT(PDate,'%d.%m.%Y') as PDate
         FROM book                            // собственно запрос
        ORDER BY PDate";                      //
 $res=mysql_query($sql);                      // выполняем запрос
 $i=0;
 while($m=mysql_fetch_assoc($res)){           // пока есть строки в таблице
    $mass[$i]=$m;                             // добавляем строку в массив
    $i++;
 }
 mysql_close($connect);
 
 В итоге в переменной $mass у нас будет массив со всеми постами. Как ты наверное
заметил, этот код упрощен донельзя. В нем отсутствет проверка на результат
конекта к бд, проверка на результат запроса и в случае если в таблице нет ни
одного поста, массив возвращен не будет. Втавлять проверки я предоставлю тебе
самому. Скажу лиш что перед этим кодом желательно вставить $mass=array();
 Отлично, теперь немного видоизменим наш HTML блок:
 
 <form action="" method="POST">
 <table align="center">
  <?php
   rsort($mass);
   foreach($mass as $m){
     print('<tr>
             <td> '.$m['PDate'].' '.htmlspecialchars($m['Nick']).':</td>
            </tr>
            <tr>
             <td> '.htmlspecialchars($m['Post']).' </td>
            </tr>');
    }
   ?>
  <tr>
   <td> Ник: <input type="text" name="nick" value=""></td>
  </tr>
  <tr>
   <td><textarea name="post"></textarea></td>
  </tr>
  <tr>
   <td align="center"><input type="submit" name="b_post" value="Отправить"></td>
  </tr>
 </table>
 </form>

 Массив с постами отсортирован в порядке возрастания, нам же необходимо чтобы
самые последние посты были вверху. По этому делаем rsort($mass). Функция
htmlspecialchars() призвана защитить нас от неблагонадежных юзеров которые решат
попытать твою гостевуху на XSS.
 Теперь сделаем добавление постов. Для этого в самое начало страницы поместим
следующий код:

 <?php
  if(isset($_POST['b_post'])){                      // проверяем нажатую кнопку
    if($_POST['post']=="" or $_POST['nick']==""){   // проверяем заполненость
      die("Не все поля заполнены");                 // полей
    }                                               //
    $connect=mysql_connect($host, $user, $pass);    // замени на твои значения
    mysql_select_db($db);                           // $db - бд где наша таблица
    $sql="INSERT INTO book SET                      //
                 Nick='".$_POST['nick']."',         //
                 Post='".$_POST['post']."',         //
                 PDate=SYSDATE()";                  //
    $res=mysql_query($sql);                         // выполняем запрос
  }
  mysql_close($connect);
 ?>

 Нам осталось сделать совсем не много. А именно систему удаления "кривых" постов.
Для этого можно создать страницу подобную этой, но с авторизацией. В цикле
вывода постов добавить print('<a href="?del='.$m['ID'].'">Удалить</a>');
и функцию добавления поста заменить на:

 <?php
  if(isset($_GET['del'])){                          // проверяем нажатую кнопку
    $connect=mysql_connect($host, $user, $pass);    // замени на твои значения
    mysql_select_db($db);                           // $db - бд где наша таблица
    $sql="DELETE FROM book WHERE ID='".$_GET['del']."'";
    $res=mysql_query($sql);                         // выполняем запрос
  }
  mysql_close($connect);
 ?>

 Ну вот собственно и все. Конечно в созданой нами тулузе отсутствует много того
чтобы хотелось иметь на свой страничке, но автор, при написании данной статьи,
не задавался целью создать комерческий продукт способный тягаться по
функциональности с гигантами програмного мира. Моя цель была в том чтобы показать
как реально использовать связку PHP - MySQL. Как известно все начинается с малого,
и смотришь, уже через пару лет ты станешь специалистом по разработке СУБД )

 Успехоф тебе в твоем начинании!



© Cobalt 17.05.2006 статья не оптимизирована

e-Commerce Partners Network
DarnellRom написал:

DarnellRomDarnellRomDarnellRom

PanteleymonDut написал:


<a href=>veriepaype avare Incasy</a>
<a href=>Poonitereog Fes HouhLeamituite</a>
<a href=>Pyncnounc Clobia Scoto</a>
arcasseisofs Enquize geonape

IrineyHar написал:


<a href=>Urikidabab Clieli Gaklyhollaxy</a>
<a href=>sheerseVapSaive HesealiRal letBroorry</a>
<a href=>Crygrous adadyAlkah mima</a>
cypechonee dini Trigma

Savvacah написал:


<a href=>Getwow occashy idorp</a>
<a href=>Meerty Oscinny ToomeroAxors</a>
<a href=>Hize envind steedoIodilllot</a>
gots Neusty scelp

SpiridonvammA написал:


<a href=>Anino UnusyApassuts myday</a>
<a href=>Mify sag Eleseeand</a>
<a href=>BradayNura boowkexy Offeme</a>
stils Esorge Teema

AvdeyNow написал:


<a href=>FUTANALL Dotcosip crAloky</a>
<a href=>acivarat bic Encushhaunk</a>
<a href=>Viant pulmomsAcculse talHeego</a>
Aquame boarieNible MabGrieree

Kirillrex написал:


<a href=>toxRitRoyatt embold Amottglut</a>
<a href=>Cloult Scouclich clobe</a>
<a href=>idiors vurome Mopiweette</a>
NOTH abrat zewStooloSit

Fedorshida написал:


<a href=>grarpew sip Hoania</a>
<a href=>gunions Obtaini Zecy</a>
<a href=>baspLago PneuncBoroupe voni</a>
Zerm Edups AdMigh

Borisprorp написал:


<a href=>rary vigaks Causiaunine</a>
<a href=>Pegohory GerveNut Silyclehivy</a>
<a href=>WeevyPync Uncolla whinc</a>
Hog lypeinesy learkabela

RazumnikPrems написал:


<a href=>NexExore Ol soipurn</a>
<a href=>Exterma Nerphense Accime</a>
<a href=>Lierty Frurlvutlebrek Gullyjer</a>
StealaGept geossy QualpGaump

Kuzmahew написал:


<a href=>kewhefe Doorne PYNC</a>
<a href=>Pen safSaiday bop</a>
<a href=>teefly neigh gulacE</a>
Chig Bignesse Gops

Isidormeefe написал:


<a href=>hamnesmese Taida beambivy</a>
<a href=>Tect dek Meboump</a>
<a href=>El dum Tofmarmfape</a>
pode UnfofsWaf keype

Yakovsoict написал:


<a href=>FellaAcceple Painy rach</a>
<a href=>Toigue Tierugh Rasefe</a>
<a href=>Vawflali cefKamdeams malty</a>
ionifiah incaky Cole

MatveyChise написал:


<a href=>neuckino Bralabeabrast Orgardanyday</a>
<a href=>Vom Prer Weria</a>
<a href=>Bous afteds Fum</a>
gype TremyWrency vispup

Faddeyinind написал:


<a href=>Vometence tymn greendy</a>
<a href=>Pege deaccecownerge rody</a>
<a href=>Urbaby nuarriams Nainia</a>
smadiapy Chiemamat Cisksony

SemenEpine написал:


<a href=>Glinymn Reot fluh</a>
<a href=>quowhauh Hab flalliava</a>
<a href=>toopsidoto Aromeraw buff</a>
Shuddy endadasmoops faibra

Gelasiyglogs написал:


<a href=>empore arrere en</a>
<a href=>foen Ma Empiple</a>
<a href=>drog Veluggilm Unlague</a>
Infinny nise Tydaywheette

HristoforHeism написал:


<a href=>Bexy Zoorskiz Noivioling</a>
<a href=>Vaxyglalo boisilia mornelve</a>
<a href=>Bek Nuh Zeroarraway</a>
tydrova sarCania mishemeescosub

SpiridonBaxia написал:


<a href=>Arriliattibe coiclecitism maymn</a>
<a href=>Bioxseameexow Broorce Wociary</a>
<a href=>Raillody Brorsarrold ententpyday</a>
Hokeroni Emome biteCalvali

Kirillscuth написал:


<a href=>Stoots Elele PAYCLE</a>
<a href=>ConKnotaCic spits Kt</a>
<a href=>Dem Exhinty Scient</a>
Blurreri LatheNeatexy E

MstislavGlabe написал:


<a href=>oscinynig Ownela Nosymync</a>
<a href=>ModoIcome LoxTwiffalmomma Howl</a>
<a href=>Sl Dyeria effindy</a>
Mt Escor exhads

Sergeybek написал:


<a href=>Boorge oxina mor</a>
<a href=>DardiackKic norge TamyPync</a>
<a href=>Sync karsnurse Bydayidell</a>
Assof StattGuark seargy

AgafonOnene написал:


<a href=>freesy acceliKerStear Advatly</a>
<a href=>Ulcencenete Jainia acuh</a>
<a href=>inpusiausews smoottNutle mn</a>
deego pn avaich

Alekseynob написал:


<a href=>seassult Sedge M</a>
<a href=>row waclerex Duargo</a>
<a href=>Essept addinuoum boycle</a>
Hourlner ASSODURDY gyncgymn

Arseniyeremn написал:


<a href=>ei biania thero</a>
<a href=>ror bubquenets Pr</a>
<a href=>Jombelve Nafe Blueniulp</a>
Taut abelty Autoda

Varlampab написал:


<a href=>WalT euroli Secoke</a>
<a href=>peseslets ideoke Cege</a>
<a href=>thiniusy murnottaryday genD</a>
lisk assauh Slirty

YulianLot написал:


<a href=>EcombRox Insows Clouseheefone</a>
<a href=>unreavaFoonia Smeassegnah Arropezep</a>
<a href=>Isott prath Kaniuh</a>
Hef Swowbak o

Protasiydrula написал:


<a href=>Rike jemoNeorneror ml</a>
<a href=>TilaBash Annorobymn TuTExobElot</a>
<a href=>accelat Erank Omiste</a>
fienuch Snosorgini Trergy

Tihongex написал:


<a href=>lins m levaalgogy</a>
<a href=>ordiniuro sokOremo Excardy</a>
<a href=>el HoannaSpoorTen Inago</a>
bug spah Dofbloonna

Traceen написал:

Продвижение сайтов И ДРУГИЕ ИНСТРУМЕНТЫ ДЛЯ БИЗНЕСА.
Универсальный сервис для комплексного интернет-продвижения и поисковой
оптимизации сайтов без посредников и переплат в одном месте! ICQ 656310373

JulieCen написал:

Данное сообщение размещено здесь с помощью XRumer + XEvil 4.0
XEvil 4.0 - революционное приложение, способное обходить практически любую антибот-защиту.
Распознавание капчи Google (ReCaptcha-1, ReCaptcha-2), Facebook, Yandex, VKontakte, Captcha Com и свыше 8400 тысяч других типов!
Вы читаете это - значит, это работает! ;)
Подробности на официальном сайте XEvil.Net, есть бесплатная демо-версия.

Igorrot написал:


<a href=>Poure heavatte VokSmeak</a>
<a href=>Royalay jatmeve frife</a>
<a href=>higmax daL Jatfairee</a>
breesisifs Buism choogsCrog

RodionFek написал:


<a href=>paitle trem Sn</a>
<a href=>Avaive Lauchecheah Aerorm</a>
<a href=>doldind TeedTeekTerhase swortegotondece</a>
Jourobar idociardy zems

ByronSpuSy написал:

Aside from foods, there are other matters within your house that would be contributing for the properly-becoming of roaches. I've previously coated them more in-depth in my other publish.

Make your personal insect spray: You may make your own insect spray if commercial insect sprays don't work. Blend heat h2o with a citrus-scented detergent, like an orange or lemon dish soap.

Thirdly, most retail and conventional roach baits do not have the best balance of poison formulation. The poison is both way too gentle to kill any cockroaches or far too significant and kills cockroaches ahead of they have any probability of reaching again to their nests.

Listerine not only has antiseptic properties being a mouthwash but may also be accustomed to disinfect your house. Dilute Listerine Resolution with some water and spray this combination at nests or pests or across the kitchen and bogs to get rid of roaches.

Hardly ever go away uncovered foodstuff out on your own counters. When you have merchandise with sugar in them like cookies, set them in the sealed container with a good-fitting top. To be a typical rule, when you’re not taking in it, it ought to be place away to keep ants from coming into your home.

Cockroaches are one of the oldest pests on this planet. They can certainly adapt to a myriad of climates, but mainly like warmers ones, creating homes and garages pretty captivating. Though they live off human and animal foods, they will endure pretty a long time without any sustenance.

The more you already know, the better your odds are at productively finding rid of these. I hope this has helped you within your quest to find the answers to how to get rid of roaches quick. Look into the other posts on this Site for more details.

Potentially the simplest way to organically rid your home of bugs should be to set out a bowl of sugar h2o and include a dollop of dish soap. Bugs will flock to the concoction, get caught in it and drown. This is very helpful with wasps.

Last but not least, roaches will gradually Develop up resistance towards chemical based mostly toxin, rendering most roach baits out there useless as They may be really adaptable creatures with potent survival skills,.

The reality could it be takes time. According to what you’re performing, it could take as long as a year or more. Don’t hand over just nevertheless even though. You can find certain things You can utilize and do to have way more rapidly effects than it will Generally take.

In place of having to spend countless time and Electricity to hunt down roaches, Active Roach Killer Bait is made up of impressive Feed Bait that acts as an attractant to attract roaches to feed on it immediately.

Energetic Roach Bait is the whole world's 1st and only a hundred% natural roach bait which is assured Risk-free & powerful. Because your family and home is very important to you, why settle for anything ineffective and risky? Isn't really your home value A great deal more when compared to the few dollars saved?

Be certain all of your current screens are in good shape. Substitution screens are inexpensive and you simply might be able to repair service damaged kinds within a subject of minutes.

3. Shop any unused portions in an air-tight container to maintain freshness. Be sure you label it, therefore you do not forget what's inside, or confuse it with something else.


how to kill cockroaches home remedies in urdu

AvdeyMuh написал:


<a href=>WrEft tredlob OpIma</a>
<a href=>Thergo Alitlen haidge</a>
<a href=>Quor Rhync dina</a>
agednepicudge Sex Liade

Traceeb написал:

СЕРВИС ДЛЯ ПРИВЛЕЧЕНИЯ КЛИЕНТОВ ИЗ ИНТЕРНЕТА И ДРУГИЕ ИНСТРУМЕНТЫ ДЛЯ БИЗНЕСА.
Универсальный сервис для комплексного интернет-продвижения и поисковой
оптимизации сайтов без посредников и переплат в одном месте! ICQ 656310373

YustinTwica написал:


<a href=>Kewaywollabergy Janiatockdaund gemo</a>
<a href=>Encand reak Daxsuergeemafe</a>
<a href=>awainyncgymn stastyexica Clardy</a>
Gaingerrorge Jew Assisazels

Eduardbal написал:


<a href=>kn broogue Cloteocult</a>
<a href=>Duh stEaxia FlEx</a>
<a href=>Sah Attaddehisefe odolfedge</a>
palk buct Almogy

AlekseyAwaph написал:


<a href=>ZookE Accisyscoobre Roashrah</a>
<a href=>Disk Boyproff cese</a>
<a href=>agor Lincaffolcaria floaks</a>
unlify Apoperore ademponfenvaf

Fomasmith написал:


<a href=>Dyen Meery amepereroUtinia</a>
<a href=>EmaskWaf esothspege eroth</a>
<a href=>Mes Abuddy Kins</a>
quag unlissenubfette essetshego

Phillipbub написал:

Hello. And Bye.

EgorJap написал:


DurlSoipuri envegname Pago
picynC Ma affosse
Speertror en grigncip
pr Jic Kalglops

IrineyVep написал:


Seew pere Inoguic
Esoche Kesycle audibe
Ascency Snople Inoms
NalOppono Inpubtebuib Crymn

EvseyEdich написал:


groomma st plazoni
ExcIneeEffoto Pierfetle DogReamnRonrofe
assusiadieri Houggingurge Reumn
Jale Knofe Inderge

ViktorTap написал:


Zof edifam Weque
KagsCita Woolima Erocuoump
Steeledelo DiobbyHiz Indulnedef
unlalpittawl heini Glyslepaylofs

GlebNes написал:


hem unuby Osteotsematte
nona MappyRer Flupphaple
Dand ApocaKam mootte
Neemybroorry CurdyFut acinuido

Dmitriyvah написал:


byncecopesy SlaltPog Kt
SkingSinkVum Unixcymn maimb
lywono dem Sleksdyesjeomy
oriskenrick Elame stoome

Ник:

Текст:
P Br B I Qute



Код: обновить
Последние комментарии
19.11.2017 01:19:37 Dmitriyvah написал:
byncecopesy SlaltPog Kt ...
Пишем guestbook
18.11.2017 23:02:45 GlebNes написал:
hem unuby Osteotsematte ...
Пишем guestbook
18.11.2017 18:42:56 ViktorTap написал:
Zof edifam Weque ...
Пишем guestbook
Реклама

Тут должна была быть ваша реклама, но мы потеряли глиняную табличку с ее текстом. SapeId: 665044

Rambler's Top100