• Dizaino ir programavimo pamokos

  •  
    Thread Rating:
    • 0 Votes - 0 Average
    • 1
    • 2
    • 3
    • 4
    • 5
    Darome paprastą šaukyklą [PHP/SQL]

    Member


    ***
    78

    0
    Post: #1
    RE: Darome paprastą šaukyklą [PHP/SQL]
    Labą dieną,

    po biški pradėsim daryti pokalbių dežutę su administravimu!

    [small]1.[/small] Susikuriame failus index.php, config.php, rasyti.php

    [small]2.[/small] Atsidarome failą config.php ir prisijungiame prie MySQL

    [geshi=php]<?php
    mysql_connect("localhost", "root", "") or die("mysql_connect : 0"); // prisijungiame prie serverio
    mysql_select_db("tvs") or die("mysql_connect : 1"); // pasirenkame duomenų bazę, pas mane ji bus tvs
    ?>[/geshi]

    [small]3.[/small] Atsidarome failą rasyti.php ir pasidarome gražią HTML formą:

    Code:
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <title>Pokalbiu dezute &bull; musLiz</title>

    <style>
    body { background:#eeeeee; font-family:Tahoma; color:#585858; font-size:13px; }
    a { color:#585858; text-decoration:none; }
    a:hover { color:#c8c8c8; text-decoration:none; }
    .logo { background:#fff; border:#585858 dotted 1px; border-radius:3px; padding:5px; color:#585858;}
    .input { background:#fff; border:#c8c8c8 solid 1px; border-radius:3px; padding:5px; color:#585858;}
    .submit { background:#fff; border:#c8c8c8 solid 1px; border-radius:3px; padding:5px; color:#585858; }
    .zinute { background:#585858; border-radius:3px; border:#eeeeee solid 1px; padding:5px; color:#fff; }
    </style>

    </head>

    <body>
    <div class="logo" align="center"><b>musLiz</b> &bull; pokalbių dežute</div>
    <form action="" method="POST">
    <input class="input" type="text" name="vardas" placeholder="Įveskite savo vardą"><br />
    <textarea class="input" rows="4" cols="32" placeholder="Įveskite žinutės tekstą" name="zinute"></textarea><br />
    <input class="submit" type="submit" name="testi" value="Rašyti">
    </form>
    </body>
    </html>

    [small]4.[/small] Praleidžiame eilutę po </html> ir rašome PHP kodą:

    [geshi=php]<?php

    require_once("config.php"); // includinam MySQL duomenis, kad prisijungti prie serverio ir įdėtu žinutes į duomenų bazę

    $vardas = htmlspecialchars(mysql_real_escape_string($_POST['vardas'])); // darome saugesnį input'ą
    $zinute = htmlspecialchars(mysql_real_escape_string($_POST['zinute'])); // taip pat darome saugesnį input'ą


    if (isset($_POST['testi'])) // tikriname ar buvo paspaustas mygtukas ,,Rašyti"
    {
    if(empty($_POST['vardas']) && empty($_POST['zinute'])) { // pradedam if'ą kuris tikrina ar yra įvesta į laukelius(input'us) kažkas
    echo "<b>Klaida!</b> Neįvestas vardas arba žinutė, prašome patikrinti!"; // jei nėra įvesta išvedame, klaidą, jog kažkas neįvesta, ir prašome patikrinti, tai yra false
    } else { // gražinam į true
    $dedam = mysql_query("INSERT INTO `zinutes` (vardas, zinute) VALUES ('$vardas', '$zinute')"); // jei viskas tvarkingai įvesta dedame duomenis į duomenų baze
    $result = mysql_query($dedam); // gauname rezultatą
    echo "<b>Vardas:</b> " . $_POST['vardas'] . " || <b>Pranešimas:</b> " . $_POST['zinute'] . ""; // paspaudus ,,Rašyti" jei viskas tvarkingai išvedame asmeniškai Jums, ką parašėte
    } // uždarome true
    } // baigiame if'ą
    ?>[/geshi]

    htmlspecialchars, mysql_real_escape_string ir dar galima naudoti preg_replace, bet kol kas dabar užteks ir tiek

    [small]5.[/small] Atsidarome index.php pasidarome HTML vaizdą:

    Code:
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <title>Pokalbiu dezute &bull; musLiz</title>

    <style>
    body { background:#eeeeee; font-family:Tahoma; color:#585858; font-size:13px; }
    .logo { background:#fff; border:#585858 dotted 1px; border-radius:3px; padding:5px; color:#585858;}
    .input { background:#fff; border:#c8c8c8 solid 1px; border-radius:3px; padding:5px; color:#585858;}
    .submit { background:#fff; border:#c8c8c8 solid 1px; border-radius:3px; padding:5px; color:#585858; }
    </style>

    </head>

    <body>
    <div class="logo" align="center"><b>musLiz</b> &bull; pokalbių dežute</div>
    </body>
    </html>

    [small]6.[/small] Praleidžiame vieną eilutę po </html> ir rašome PHP kodą

    [geshi=php]<?php

    require_once("config.php");

    $gaunam = mysql_query("SELECT * FROM `zinutes` ORDER by id DESC LIMIT 5");
    if(mysql_num_rows($gaunam)) {
    while($row = mysql_fetch_array($gaunam)) {
    echo "<div class='zinute'><b>Vardas:</b> " . $row['vardas'] . " || <b>Pranešimas:</b> " . $row['zinute'] . "</div>\n";
    }
    } else {
    echo "<div class='zinute'>Žinučių nėra!</div>";
    }
    ?>[/geshi]

    Reikia susikurti 3 laukelius duomenų bazėje, atsidarome phpmyadmin(pma) einame į jūsų sukurta duomenų bazę pas mane ji tvs ir žiūrime paveiksliuką!

    [Image: 7715591e744eeab7946fd87c514e032a360.png]

    Pamoka kurta musLiz(Andrius), norint kopijuoti pamoką, prašau prirašyti autorių!
    2013-03-24 12:02
    Find Quote

    Senior Member


    ****
    300

    0
    Post: #2
     
    Puiku! laukiam tęsinio Tongue

    Tinklapio programuotojas!
    2013-03-24 12:04
    Find Quote

    Member


    ***
    78

    0
    Post: #3
     
    Nu ką tęsiam pamoką Smile
    2013-03-24 12:36
    Find Quote

    Senior Member


    ****
    300

    0
    Post: #4
     
    Laukiam laukiam, tik failo pilno neprisek, tegul patys kodą rašosi jei norės naudotis Smile

    Tinklapio programuotojas!
    2013-03-24 12:37
    Find Quote

    Senior Member


    ****
    265

    0
    Post: #5
     
    Quote:MariukasR parašė:

    Laukiam laukiam, tik failo pilno neprisek, tegul patys kodą rašosi jei norės naudotis Smile

    Nevisi moka rašyti Wink Laukiam pratesimo
    2013-03-24 12:50
    Find Quote

    Senior Member


    ****
    291

    0
    Post: #6
     
    Quote:nicki parašė:

    Quote:MariukasR parašė:

    Laukiam laukiam, tik failo pilno neprisek, tegul patys kodą rašosi jei norės naudotis Smile

    Nevisi moka rašyti Wink Laukiam pratesimo
    Tam ir skirtas šis tinklapis, kad mokintumėtės.
    2013-03-24 12:55
    Find Quote

    Member


    ***
    78

    0
    Post: #7
     
    Pamoka baigta! Sekmės bandant

    Šią pamoką vis tobulinsiu, darysime ir administravimą!

    [Image: d74e6a32a2cd6ec9afc474bb4b9b0e51939.png]

    štai kaip atrodo visas bendras vaizdas! Kam negaila +rep Smile
    2013-03-24 13:07
    Find Quote

    Senior Member


    ****
    265

    0
    Post: #8
     
    Galėtum padaryt kad automatiškai kurtu lenteles
    2013-03-24 13:55
    Find Quote

    Member


    ***
    78

    0
    Post: #9
     
    Quote:nicki parašė:

    Galėtum padaryt kad automatiškai kurtu lenteles

    Ką turėjai omeny automatiškai?
    2013-03-24 14:08
    Find Quote

    Senior Member


    ****
    300

    0
    Post: #10
     
    Na su PHP kodu kad sukurti table mysql, čiuju tą turėjo omeny Smile

    Tinklapio programuotojas!
    2013-03-24 14:12
    Find Quote

    Member


    ***
    78

    0
    Post: #11
     
    Tai lengva gi CREATE TABLE f-ja Smile Bet tai nėra būtina, dauguma daro savom rankomis, nes man asmeniškai patogiau Smile Geriau pakomentuokit šią pamoką, ką dar norėtumėt ir panašiai Smile

    Greitu metu sukursiu registracijos pamoką Smile
    2013-03-24 14:28
    Find Quote

    Senior Member


    ****
    291

    0
    Post: #12
     
    bbcodes dar įdėk. Gali ri su ajax pažaist, kaip pvz refresh mygtukas.
    2013-03-24 16:55
    Find Quote

    Member


    ***
    78

    0
    Post: #13
     
    Na manau čia dar per anksti to mokyti, reikia bent padaryti įžanga normalią žaliems Smile
    2013-03-24 17:35
    Find Quote

    Member


    ***
    78

    0
    Post: #14
     
    Atnaujinu kodą biški, padariau gražesnį stilių Big Grin
    2013-03-24 20:36
    Find Quote

    Senior Member


    ****
    291

    0
    Post: #15
     
    Kai ką nors atnaujinsi, parodyk vizualų variantą visad Tongue
    2013-03-24 21:06
    Find Quote

    Member


    ***
    78

    0
    Post: #16
     
    Štai viskas šiuo metu bus live http://l2off.eu/php/index.php
    2013-03-24 21:15
    Find Quote

    Junior Member


    **
    6

    0
    Post: #17
     
    Taip pat dar vienas pastebejimas, gali su strlen funkcija padaryti varda, kad nick normalaus ilgio butu, o ne koks vien simbolis rodmuo :)

    +

    Pirmame atvaizdavime nera funkcijos su apsauga,

    bandyk idet taip:

    PHP Code:
    <?php
    require_once 'connect.php';

    if (isset(
    $_POST['testi'])) {

    $vardas $_POST['vardas'];
    $zinute $_POST['zinute'];
    //-------------------------
    $vardas htmlspecialchars($vardas);
    $zinute htmlspecialchars($zinute);

        if(empty(
    $vardas) && empty($zinute)) {

            echo 
    "<b>Klaida!</b> Neįvestas vardas arba žinutė, prašome patikrinti!"// jei nėra įvesta išvedame, klaidą, jog kažkas neįvesta, ir prašome patikrinti, tai yra false

        
    } else { // gražinam į true

            
    $dedam mysql_query("INSERT INTO `zinutes` (vardas, zinute) VALUES ('$vardas', '$zinute')"); // jei viskas tvarkingai įvesta dedame duomenis į duomenų baze
            
    $result mysql_query($dedam); // gauname rezultatą 

                
    echo "<b>Vardas:</b> ".$vardas." || <b>Pranešimas:</b> ".$zinute.""// paspaudus ,,Rašyti" jei viskas tvarkingai išvedame asmeniškai Jums, ką parašėte

        
    // uždarome true

    // baigiame if'ą

    ?>

    nes su pirmuoju kodu gaunas taip:
    [Image: 37f97b86a1ceb6fd7595b4c6e0e797f9798.PNG]
    2013-03-24 21:20
    Find Quote

    Member


    ***
    78

    0
    Post: #18
     
    Galima ir su preg_replace uždrausti nebutinai su strlen Smile
    2013-03-24 21:44
    Find Quote


    Possibly Related Threads...
    Thread: Author Replies Views: Last Post
      Darome paprastą laukelį [PHP/SQL] Factor 14 7625 2013-05-24 08:30
    Last Post: Generic-
      Darome paprastą registracija [PHP/SQL] Factor 9 4902 2013-03-26 23:07
    Last Post: Factor


    About DESCO

    Mes esame ne komercinis projektas, norime, jog Lietuvos jaunimas vis sparčiau brautųsi į technologijų amžių. Negalima sėdėti vietoje, reikia kažką veikt, todėl mūsų projektas tam puikiai tinka. Galima pas mus išmokt kažko naujo, taip pat nepamirškite, kad ir jūs galite mokyti kitus! Žinių dalinimasis geriną lietuvių mentalitetą, todėl nesmerk kito, o pamokyk!