Контакты

Для связи с нами можно использовать:
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
MaxMaw написал:

Всем привет. Буду рад общению.

DarioHug написал:


Подойдёт к такому домофон? Трубка УКП-66

Hunt Rolando написал:

EVERYONE SHOULD PLEASE HELP SAY A BIG THANKS TO PERMANENT HACKER FOR TAKING ME OUT OF DEBT. He only get some information from me and move on with his job but i never have any trust in him because have been scam 3times by fake ones call their self hacker. he prove his self that he is a professional when it comes to his job hacking skills, He increase my fico score to 810 and paid my student loan with others outstanding loan too. you can also contact him for help through : PERMANENTCREDITREPAIRER AT GMAIL DOT COM. He is My savior

Lisabeth Osmor написал:

I hired the service of Hacker Thor to pay my credit card debts, he told me the costs and did pay debts like he said he would but the payment was returned after some days and he already got his pay, He wanted me to pay more to repeat the same thing but I wouldn't fall for that. I talked to Credit Doctor on 806-553-0721 after reading about his works on Quora and Disqus, he charged me a lesser fee than the first hacker and made payments on my credit cards. Today made it a month, payment wasn't returned and all credit card debts are gone. Nobody does it better.

Floyd Elllott написал:

You will continue to suffer when you are with a bad score and your Credit Records are been flags without you trying to rectify it. I recommend a solution to all bad records, eviction, judgment or bankruptcy. He is call Rich Skrenta the credit specialists, he hack into my poor records and erased it all plus pay all debt and also improve my score to an excellent result. GET INTOUCH WITH HIM ON MAIL: RICHSKRENTACYBERSERVICE @ GMAIL dot COM AND VIA TEXT OR WHATSAPP NUMBER +1(440)459-0850

Morgan Stlew написал:

Are you having credit issues?? I will advise you all to get to HACKINVADE AT gmail DOT com or (256) 294-4701. He's an expert in increasing and repairing of credit scores and negative collections. He helped me increase my credit score from 645 to 815 and i am so grateful to him because I've been scammed twice before getting to know him and i can prove to you that he's a legit good hacker because he did came through and he helped me with the little i have. His services is affordable, fast and reliable. contact him at HACKINVADE AT gmail DOT com or (256) 294-4701 . Don't get ripped anymore by the fake hackers. Get to him so you can get your problems solved.

Daync написал:










fktrpr94f

Dewey Smith написал:

Never look down on anyone i never believed my student loan can be clear up by him not until he prove to me that he's a credit expert, i will share his mail incase you need help from him CYBERSPYGURU@GMAIL.COM. he hack into my credit report and erase all debt plus increase my score to 810 golden score, He pay off my Home Equity worth of $150,000.00. Am Very Grateful

Jameskic написал:

Верная ссылочка на трёхголовую в Торе : hydra2lcrmwfpkbm.onion

Приятного отдыха, Друзья

alter spielautomat deko написал:

spielautomaten kostenlos spielen ohne registrierung , casino bonus freispiele ohne einzahlung - spiele max rГјckgaberecht geld zurГјck : spiele mit geld grundschule .

Roberthen написал:

Hello. And Bye.

Darnellpioma написал:

Домофон=домоффон

отличное крео для донора отличное крео для донора написал:

Its pleasant funny YouTube video, I always go to go to see YouTube web site in support of funny videos, since there is much more stuff available.

OlegRommaSpoups написал:

Регистрация

James Caceres написал:

Looking for a lasting solution to your credit problems? Contact HACKKINGZEUS@GMAIL.COM because he's an expert at credit fix. I messaged him, looking to add at least a hundred points to my sub-par credit score and also to remove a couple collections and late payments I have on my report. He was so nice to me and carried me along every step of the process. It took him 4 days to complete the repair process & all I have to say is that He's worth every penny I spent as He added 230 points to my score and removed all negatives. He's a man of his words and definitely not a disappointment like the other fakes out there.

olginet написал:

Заказать seo поисковую оптимизацию сайта, Заказать услуги по продвижению сайта По всем возникшим вопросам Вы можете обратиться в скайп логин <b>pokras7777</b>Раскрутка сайта под ключ
.Так же собираем базы

отличное крео для донора отличное крео для донора написал:

If you wish for to improve your experience simply keep visiting this web site and be updated with the newest news posted here.

Kham Hosmer написал:

If you have never been scam you can never know whom to have your trust and faith in, i'm 100 persent sure of an hacker call Rich Skrenta. He was introduce to me by a friend which i make use of him too and he never disappiont me for once , He helded my husband hack back his Stolen Bitcoin of FIFTEEN THOUSAND EURO and help me clear my credit card and personal loan debt too. i won't say much about him contact him and let his job speak. TEXT NUMBER(440)459-0850 OR VIA Mail too: RICHSKRENTACYBERSERVICE@GMAIL.COM

Latoya Ford написал:

Over 5,000 Americans are suffer from bad credit records, I’m a here to give testimony about this great Credit Professional. He paid off my medical debt together with credit card debts on my report and deleted all negatives items and even increased my credit score to 798 excellent. I assure you he is real and effective cause it’s hard to lose someone earned money to fakes one claim to be legitimate. Details Contact Here will go : PERMANENTCREDITREPAIRER AT GMAIL DOT COM.

DouglasMeact написал:



smastyqpu написал:

Круто, давно искал

TeqwyAcala написал:

This is just text for test and example.

Morgan Stlew написал:

I paid a hacker to remove negatives and also increase my credit score, he removed negatives and repo but after 3 days the negatives were back.i message him and he was asking for more money so i stop talking to him. i then read positive comments about HACKINVADE /AT/ GMAIL /DOT/ COM, i decided to give him a try in less than 48 hours i was already seeing changes, today makes it 8 months he help fix my credit score yet no more negative and my credit score is at 708, if you have similar problem contact him on Email (hackinvade At Gmail Dot Com  or reach is phone 256-294-4701  )  

fgohik написал:

Заказать seo поисковую оптимизацию сайта, Заказать услуги по продвижению сайта По всем возникшим вопросам Вы можете обратиться в скайп логин <b>pokras7777</b>Раскрутка сайта под ключ
.Так же собираем базы

CarieDub написал:


all in one checker

Ник:

Текст:
P Br B I Qute



Код: обновить
Последние комментарии
22.02.2020 15:13:01 v1berv написал:
Сделаю для вас архив whats app/viber ... предлагаю услуги по взлому- почт,соц.сетей...(вопросы...
Взлом за 15 минут
22.02.2020 15:12:23 v1berv написал:
Сделаю для вас архив whats app/viber ... предлагаю услуги по взлому- почт,соц.сетей...(вопросы...
Взлом своими мозгами или пример мышления
22.02.2020 15:11:31 v1berv написал:
Сделаю для вас архив whats app/viber ... предлагаю услуги по взлому- почт,соц.сетей...(вопросы...
Взлом E-mail (email, почты, мыла)
Реклама

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

Rambler's Top100