Svečių knygos scenarijus PHP. Web dizainas ir optimizavimas paieškos sistemoms Phoca svečių knygos įdiegimas ir rusifikavimas

» » @lexGuestbook

@lex Guestbook yra nemokamas PHP svečių knygos scenarijus svetainėms. Parašyta PHP kalba, @lexSvečių knyga Lengva įdiegti per kelias minutes, net pradedantiesiems bus lengva suprasti.

PHP svečių knyga Visiškai nemokamas scenarijus – pagrindinė sąlyga: nepašalinkite autorių teisių puslapio apačioje. PHP svečių knyga yra įdiegta jūsų serveryje ir yra visiškai nepriklausoma nuo kitų svetainių. Jūsų pageidavimu sukurkite atsarginę pranešimo atsarginę kopiją PHP svečių knygoje net kiekvieną dieną. Automatinis montavimas Alekso svečių knyga: duomenų bazėje esančių lentelių pavadinimai rašomi patys.

Scenarijaus pranašumai.
  • Skinų dėka galite pakeisti @lexGuestbook išvaizdą, kad ji atitiktų jūsų svetainės dizainą. (visi apvalkalai galioja XHTML 1.0 Transitional)
  • PHP svečių knygoje yra apie 20 kalbų.
  • Kiekviena šalis turi savo vėliavą.
  • Jaustukų palaikymas: galimybė pridėti savo jaustukus, ištrinti, redaguoti.
  • Rodoma simbolių statistika: galite nustatyti maksimalų raidžių skaičių vienoje žinutėje.
  • Vidinė paieškos sistema.
  • Galimybė įvertinti lankytojų. Įvertinkite 10 balų sistemą.
Palaikomos kalbos

Pilnas vertimas.
Prancūzų, anglų, lenkų, vokiečių, norvegų, italų, olandų, slovakų, persų, turkų.

Dalinis vertimas. Kai kurie žodžiai vis dar yra anglų kalba.
Ispanų, rusų, švedų, čekų, kroatų, portugalų, islandų, serbų, danų.

HTML kodams svečių knygos programavimas iš pradžių gali atrodyti nesudėtingas, ir teisingai. Kai matote svečių knygą, prašoma pagrindinės informacijos ir atrodo, kad kiekvienas, turintis esminių žinių apie HTML programavimo kalbą, gali rašyti svečių knygos HTML kodus. Tačiau svečių knygoms, nuo geriausių iki blogiausių, reikia šiek tiek daugiau įgūdžių, nei manote.

Kas yra Svečių knyga?

Svečių knyga yra internetinis būdas leisti svetainės lankytojams komentuoti arba prašyti informacijos. Dauguma svečių knygų skelbia tai, kas parašyta tinklalapyje, kad visi galėtų perskaityti svečių komentarus. Dažniausiai svečių knygoje matote šiuos elementus:

  • Vardas arba Vartotojo vardas
  • Kur jie gyvena (nors galite nustatyti HTML kodą, kad šis faktas būtų paslėptas)
  • El. paštas (vėlgi galite paslėpti šį faktą ir siųsti jį tik į jūsų el. paštą komunikacijos tikslais
  • Komentarai
  • Kai kuriose svečių knygose nėra komentarų skyriaus, kad būtų galima greitai atlikti apklausą. Paprastai galite rasti tokius klausimus kaip „Ką manai apie šią svetainę: gera, tinkama, bloga, nuostabi“ arba „Ar informacija buvo pateikta: pakankamai, nepakankamai, kaip tik?
  • Galimybės prašyti atsakymo ar kitos informacijos
susiję straipsniai

Svečių knygas galima suprogramuoti taip, kad ši informacija būtų siunčiama jūsų pasirinktu el. pašto adresu, kad jums nereikėtų nuolat prisijungti prie svetainės, kad galėtumėte peržiūrėti svečių knygos įrašus.

Kur rasti HTML kodus, svečių knyga

Nesvarbu, ar žinote HTML programavimą, esate pradedantysis interneto dizaineris, ar tiesiog norite, kad jūsų svetainėje būtų svečių knyga, naudodami iš anksto parašytus HTML kodus galite sutaupyti laiko. Kodai, kuriuos galite rasti internete, paprastai yra gerai patikrinti ir pateikia paprasčiausią programavimą, reikalingą lengvai naudojamoms svečių knygoms.

  • Kodas HTML komentarų laukelyje pateikia pagrindinius HTML kodo svečių knygos kontūrus. Viskas, ką jums reikia padaryti, tai pritaikyti tekstą pagal savo poreikius ir domeno pavadinimą. Instrukcijos pateikiamos puslapio pradžioje. Kode yra vardo ir adreso eilutės.
  • Norėdami rasti didelį HTML kodų ir scenarijų pasirinkimą, apsilankykite . Turėdami tokį įvairų ir didelį pasirinkimą, turėtumėte rasti tą, kuris tinka jūsų kuriamoje svetainėje. Galite pasirinkti nuo pagrindinių svečių knygų iki sudėtingesnio programavimo, kuriame yra išskleidžiamieji meniu ir kodas, skirtas Mac ir Linux įrenginiams. Kodai yra tik 30 dienų nemokamos bandomosios versijos, todėl jei rasite jums patinkančių kodų rinkinį, turėsite sumokėti už visą naudojimą.
  • „Freebok“ galite įvesti tam tikrą pagrindinę informaciją apie tai, kokio teksto norite į savo svečių knygą, ir svetainė sugeneruos kodą už jus. Vėliau galėsite dar labiau tinkinti svečių knygą, sukurdami šabloną ir redaguodami kodą „Freebok“ šablono išdėstymo režimu. Svetainėje rasite kitų instrukcijų, kurios padės jums rasti tam tikras nuorodas, kurių jums gali prireikti. Turite prisiregistruoti prie paskyros užsakyti naudotis Freebok.
  • Norėdami greitai pridėti svečių knygą tik su komentarų laukeliu, eikite į Svečių knygos kodą. Pradinis kodas jau sugeneruotas, tačiau yra penkios parinktys, kurias galite patikrinti ir panaikinti žymėjimą, kad kodą šiek tiek pakeistumėte:
    • Sutraukti svečių knygą. Tai apima nuorodą, kuri gali atidaryti ir uždaryti svečių knygą tinklalapyje, kuriame ją įdedate.
    • Įdėkite svečių knygą viršuje. Jei nepažymėta, svečių knyga ir komentarų laukelis atsiras po bet kuriais sąrašo įrašais.
    • Rodyti įrašų pateikimo datą. Taip bus pridėta data ir laikas. Laikas bus vartotojo vietinė, o ne jūsų laiko juosta.
    • Nešvankybių filtras. Ištrina bet kokią nešvankybę, kurią žmonės gali rašyti.
    • Taip pat galite pakeisti komentarų, kurie paskelbiami puslapyje, kad kiti galėtų skaityti, skaičių. Mažiausias skaičius yra vienas, o didžiausias - šimtas. Rekomenduojama nustatyti nuo penkių iki dvidešimt penkių.

Neseniai gavau el. laišką, kuriame prašoma padėti rengiant svečių knygos arba apžvalgų knygos scenarijų. Todėl aš laikausi savo pažado ir šiandienos straipsnis bus šia tema.

Kas yra svečių knyga ir kodėl ji reikalinga svetainėje?

Svečių knyga – tai savotiška nusiskundimų ar pageidavimų knyga, kurioje bet kuris Jūsų svetainės lankytojas gali palikti žinutę, kurią (jei pritaria administratorius) gali perskaityti visi. Tie. Tai yra dažniausiai pasitaikantys komentarai ne tik vienam įrašui, bet ir visai svetainei!

Svečių knyga suteikia jūsų svetainei interaktyvumo ir yra įprastas būdas pateikti atsiliepimus.

Taigi, pirmiausia sukurkime lentelę mysql duomenų bazėje, kurioje bus saugomi visi vartotojų komentarai:

KURTI LENTELĘ, JEI NĖRA „svečių knyga“ („id“ int(11) NOT NULL auto_increment, „user_ip“ int(10) unsigned NOT NULL, „user_email“ varchar(50) NOT NULL, „addtime“ int(11) NOT NULL , "vardas" varchar(15) NOT NULL, "text" tekstas NOT NULL, "admin_text" tekstas NOT NULL, "image" varchar(40) NOT NULL, "seksas" tinyint(1) NOT NULL numatytasis "1", PRIMARY KEY (`id`)) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;

  • id — pranešimo eilės numeris
  • user_ip – vartotojo IP adresas, vaizduojamas kaip sveikasis skaičius
  • user_email – vartotojo el. pašto adresas
  • addtime – žinutės pridėjimo laikas
  • vardas – vartotojo vardas
  • text — žinutės tekstas
  • admin_text – administratoriaus atsakymo į pranešimą tekstas
  • vaizdas – vartotojo avataras
  • lytis – vartotojo lytis (vyras / moteris)

Kaip matote ženkle, yra vartotojo IP adreso laukas. Tai daroma taip, kad galėtumėte sukurti juodąjį sąrašą, kuriame galėsite įvesti „negerų“ vartotojų, kurie ateityje negalės palikti pranešimų, IP adresus.

Sekso laukas reikalingas, kad būtų rodomas „teisingas“ avataras, jei naudotojai neįkeltų savo.

Sutvarkėme duomenų bazę. Pereikime prie programavimo. Kadangi dirbame su duomenų baze, pirmiausia sukursime paprasčiausią darbo su duomenų baze klasę. Norėdami tai padaryti, sukurkite failą DB.class.php ir įdėkite ten šį kodą:

DB klasė ( privati ​​statinė $instance; privati ​​$MySQLi; privati ​​funkcija __construct(masyvas $dbOptions)( $this->MySQLi = @ new mysqli($dbOptions["db_host"],$dbOptions["db_user"], $dbOptions[ "db_pass"],$dbOptions["db_name"]); if (mysqli_connect_errno()) (meskite naują išimtį ("Duomenų bazės klaida."); ) $this->MySQLi->set_charset("utf8"); ) viešas statinis function init(masyvas $dbOptions)( if(self::$instance of self)( return false; ) self::$instance = new self($dbOptions); ) vieša statinė funkcija getMySQLiObject())( return self::$ instance->MySQLi; ) vieša statinės funkcijos užklausa($q)( return self::$instance->MySQLi->query($q); ) viešoji statinė funkcija esc($str)( return self::$instance-> MySQLi->real_escape_string(htmlspecialieji simboliai($str)); ) )

Verta pasakyti, kad šios klasės konstruktorius yra paskelbtas privačiu, todėl objektas negali būti sukurtas už klasės ribų, o inicijavimas galimas tik naudojant statinį init() metodą. Jis paima MySQL ryšio parametrų masyvą ir sukuria klasės egzempliorių, kuris yra statiniame kintamajame self::$instance. Taip užtikrinama, kad vienu metu prie duomenų bazės būtų tik vienas ryšys.

Likusi klasė atlieka duomenų bazės užklausas pagal statinį query() metodą.

Jei norite, galite pakeisti šią klasę pagal poreikį!

Taip pat kuriant svečių knygą mums reikės pagalbinių funkcijų, kurias įdėsiu į atskirą failą ir pavadinsiu helper.php.

Dabar sklandžiai priartėjome prie svarbiausio savo scenarijaus failo – index.php. Čia bus vykdoma visa scenarijaus logika.

Taigi, pirmas dalykas, kurį jums reikia padaryti, yra inicijuoti sesiją, nustatyti pagrindinius nustatymus ir prisijungti prie mysql duomenų bazės. Sesija išsaugos formos saugos kodą (captcha).

Session_start(); /* Duomenų bazės konfigūracija. Pridėkite savo duomenis */ $dbOptions = array("db_host" => "localhost", "db_user" => "", "db_pass" => "", "db_name" => ""); //Prijungti klasę darbui su duomenų baze reikalauja "DB.class.php" //Prijungti pagalbinėms funkcijoms reikia "helper.php" //Prisijungti prie duomenų bazės DB::init($dbOptions); $appath = realpath(dirname(__FILE__))."/"; //Serverio aplankas, kuriame bus įkeliami avatarai $uploaddir = "images/avatars"; //Maksimalus pranešimų skaičius viename puslapyje $per_page = 10; //Puslapių skaičius puslapiuose $num_page = 2;

Norėdami sukurti naršymą svečių knygos puslapiuose, turite sužinoti bendrą pranešimų skaičių. Tai galima padaryti taip:

//Gauti bendrą pranešimų skaičių $result = DB::query("SELECT COUNT(*) AS numrows FROM svečių knygoje"); $iš viso = $rezultatas->paimti_objektas()->skaičiai;

Dabar nustatykime puslapio numerį, kurį reikia rodyti. Norėdami tai padaryti, apdorosime kintamąjį $_GET["p"]

$start_row = (!tuščias($_GET["p"]))? intval($_GET["p"]): 0; if($start_row< 0) $start_row = 0; if($start_row >$iš viso) $pradžios_eilutė = $iš viso;

$result = DB::query("SELECT * FROM Svečių knygos ORDER BY addtime DESC LIMIT ".$start_row.",".$per_page); //Čia bus saugomas pranešimų sąrašas $items = array(); while($row = $result->fetch_assoc())( $row["addtime"] = format_date($row["pridėjimo laikas"],"data")."|".format_date($row["pridėjimo laikas"] "laikas"); $elementai = $eilutė; )

Čia aš panaudojau format_date() funkciją, kad galėčiau dirbti su data ir laiku, kuriuos sukūriau helper.php faile. Pagrindinė jo užduotis yra rodyti datą ir laiką rusišku formatu. Štai jo kodas:

Funkcija format_date($data,$format = "data")( if(tuščia($data)) return ""; $months = array("1" => "sausis", "2" => "vasaris", " 3" => "kovas", "4" => "balandis", "5" => "gegužė", "6" => "birželis", "7" => "liepa", "8" => " rugpjūtis", "9" => "rugsėjis", "10" => "spalis", "11" => "lapkritis", "12" => "gruodis"); if($format == "laikas") ( grąžinimo data("H:i",$data); ) elseif($format == "data")( $m = data("n", $data); $m = $mėnesiai[$m]; $ d = data("j",$data); $y = data("Y",$data); return $d." ".$m." ".$y; ) else( return date("d.M.Y H :i",$data); ) )

Ši funkcija turi tik 2 parametrus:

  • $date – data UNIX formatu (sekundžių skaičius nuo 1970 m. sausio 1 d. nakties)
  • $format – datos išvesties forma.

Dabar puslapyje galime rodyti pranešimų sąrašą. Tam naudoju šį html kodą:

Svečių knyga Atsiliepimai palikti atsiliepimą

mob_info