Vianoce v ITnetwork sú tu! Dobí si teraz kredity a získaj až 80 % extra kreditov na e-learningové kurzy ZADARMO. Zisti viac.
Hľadáme nové posily do ITnetwork tímu. Pozri sa na voľné pozície a pridaj sa k najagilnejšej firme na trhu - Viac informácií.

4. diel - Návštevná kniha cez WebSocket - Šablóna programu

V minulej lekcii, Návštevná kniha cez WebSocket - Sprevádzkovanie komunikácie , sme sprevádzkovali komunikáciu:

Klient -> PHP server -> Node.js server -> Klienti.

Dokážeme teda z PHP obnovovať stránky klientom, ktorí ich majú otvorené. Náš systém preposiela správy v reálnom čase. Poďme z neho teraz urobiť skutočnú knihu návštev / chat.

Dnes vytvoríme pre aplikáciu nejakú rozumnú šablónu, aby sme HTML a CSS kódom zbytočne nezaťažovali ostatné články, kde sa vysvetľuje fungovanie aplikácie. Tento článok teda obsahuje iba HTML a CSS kód šablóny. Veríme, že ho netreba nijako viac popisovať. Náš testovací script si môžeme zmazať a rovnako tak zmažeme aj div.messages a vo triede MainClass.php odstránime naše testovaní.

Php / css / style.css

Pripravil som si pre vás jednoduchý dizajn tu je css.

* {
    padding: 0 0 0 0;
    margin: 0 0 0 0;
    box-sizing: border-box;
    outline: none;
}
body {
    background-color: #f5f5f5;
    color: black;
    font-size: 14px;
    font-family: Helvetica Neue, Helvetica, Arial;
}

section.wrapper {
    width: 840px;
    margin: 60px auto;
}
section.wrapper div.background {
    background-color: white;
    border-radius: 2px;
    float: left;
    box-shadow: 0 2px 5px 0 rgba(0,0,0,.26);
}
section.wrapper h1 {
    font-family: Roboto;
    width: 100%;
    float: left;
    height: 200px;
    line-height: 250px;
    text-align: center;
    font-size: 60px;
    border-top-left-radius: 2px;
    border-top-right-radius: 2px;
    color: white;
    background-color: #4aa3df;
}
section.wrapper article {
    padding: 20px 20px 20px 20px;
    float: left;
    width: 100%;
}

label.label {
    width: 100%;
    float: left;
    margin-bottom: 5px;
    cursor: pointer;
}

.input {
    width: 100%;
    padding: 10px 10px 10px 10px;
    text-align: left;
    border-radius: 2px;
    float: left;
    border: 1px solid #DDDDDD;
    margin-bottom: 10px;
    transition: border-color .2s;
}
.input:focus {
    border-color:  #0b97c4;
}

.hide {
    display: none;
}

textarea.input {
    max-width: 100%;
    min-height: 60px;
    max-height: 120px;
}

button.button {
    background-color: #0b97c4;
    text-align: center;
    color: white;
    cursor: pointer;
    padding: 10px 20px 10px 20px;
    border: none;
    float: right;
    border-radius: 2px;
    box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12);
    transition: box-shadow .5s, background-color .5s;
}
button.button:hover {
    background-color: #0bb9e7;
    box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
}

.clear {
    clear: both;
}

.messages {
    width: 100%;
    float: left;
}

.message {
    width: 100%;
    border-bottom: 1px solid #DDDDDD;
    float: left;
    margin-bottom: 25px;
}
.message:last-child {
    margin-bottom: 0;
}
.message > .message-name {
    font-family: Roboto;
    font-weight: 600;
}
.message > .message-text {
    padding-top: 5px;
    word-break: break-all;
    padding-bottom: 10px;
}
.message > .message-date {
    float: right;
}
.message > .message-email {
    float: left;
}

Php / template.phtml

A tu html:

<!DOCTYPE html>
<html>
<head lang="cs-cz">
    <meta charset="UTF-8">
    <meta name="author" content="Patrik Smělý(SogoCZE)">
    <meta http-equiv="Content-Type" content="text/html;charset=utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="description" content="Realtime Kniha návštěv">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Realtime Kniha návštěv</title>
    <base href="localhost">
    <link rel="stylesheet" type="text/css" href="/css/style.css">
    <link rel="stylesheet" type="text/css" href="//maxcdn.bootstrapcdn.com/font-awesome/4.2.0/css/font-awesome.min.css">
    <link href='https://fonts.googleapis.com/css?family=Roboto:100' rel='stylesheet' type='text/css'>
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js" charset="UTF-8"></script>
    <script src="https://cdn.socket.io/socket.io-1.2.0.js" charset="UTF-8"></script>
</head>
<body>
    <section class="wrapper">
        <div class="background">
            <h1>Realtime Kniha návštěv</h1>
            <article class="form">
                <form method="post" id="form">
                    <label class="label" for="form-name">Vaše jméno</label>
                    <input class="input" type="text" id="form-name" name="form_name" placeholder="Vaše jméno (Patrik Smělý)">

                    <label class="label" for="form-email">Váš email</label>
                    <input class="input" type="email" name="form_email" id="form-email" placeholder="Vaš email ([email protected])">

                    <label class="label" for="form-text">Vaše zpráva</label>
                    <textarea class="input" name="form_text" id="form-text" placeholder="Váše zpráva"></textarea>

                    <button type="submit" class="button" id="form-action" name="forn_action">Odeslat <i class="fa fa-arrow-circle-right"></i></button>
                </form>
            </article>
            <article class="messages">
                <div class="message">
                    <h2 class="message-name">Patrik Smělý</h2>
                    <div class="message-text">
                        Testing Testing Testing Testing Testing Testing Testing Testing Testing Testing Testing Testing Testing Testing Testing Testing
                        Testing Testing Testing Testing Testing Testing Testing Testing Testing Testing Testing Testing
                    </div>
                    <div class="message-email">[email protected]</div>
                    <div class="message-date">30.10.2015 12:02</div>
                </div>
            </article>
        </div>
        <div class="clear"></div>
    </section>
    <script src="js/index.js" type="application/javascript"></script>
</body>
</html>

Teraz by ste mali dostať nasledujúce výsledok:

Šablóna pre real-time chat v PHP a Node.js - Návštevná kniha cez WebSocket

Nabudúce, v lekcii Návštevná kniha cez WebSocket - javascriptový klient , sa opäť vrátime k programovaniu.


 

Predchádzajúci článok
Návštevná kniha cez WebSocket - Sprevádzkovanie komunikácie
Všetky články v sekcii
Návštevná kniha cez WebSocket
Preskočiť článok
(neodporúčame)
Návštevná kniha cez WebSocket - javascriptový klient
Článok pre vás napísal Patrik Smělý
Avatar
Užívateľské hodnotenie:
Ešte nikto nehodnotil, buď prvý!
Autor miluje filosofii, sci-fi, technologie, hry a hlavně svobodu. Aktivně se věnuje programování, designu, 3D grafice, správě sítí a trochu méně hardwaru. Mimo technologické zaměření se velice zajímá o politiku a psychologii.
Aktivity