Bezdolny gästbok html. Webbdesign och sökmotoroptimering


Idag kommer jag att ge dig ett gästboksmanus i PHP, för det är ingen hemlighet att den här saken är ganska populär och om det inte finns något annat sätt att kommunicera med administrationen är en gästbok helt enkelt nödvändig. Och i den här artikeln kan du ladda ner gästboksskriptet i PHP, och jag kommer också att prata om processen att installera det.

Mycket ofta frågar folk efter ett gästboksmanus i html eller javascript. Tyvärr, detta händer aldrig och kommer aldrig att hända, eftersom för att gästboken ska fungera måste du åtminstone skriva meddelanden till en fil. Och detta är omöjligt att göra varken i JavaScript, eller, särskilt, i HTML.

Kopiera nu gästmappen till roten på din webbplats. Lägg sedan en länk till gästboken på din webbsida (http://din_webbplats/gäst).

Nästa steg är att skapa en gästbok. För att göra detta, gå till http://din_webbplats/gäst/admin.php. Ange lösenordet "admin" och efter framgångsrik auktorisering, gå till fliken "Konfiguration". Kort beskrivning av alla inställningar:

  • Skriptnamn - ange ditt namn för gästboken på din webbplats.
  • Välkomsttext – skriv vilken text som helst som du vill att dina besökare ska se när de besöker gästboken.
  • Annonsblock - om du vill placera en annons i gästboken, kopiera sedan dess kod i detta fält. Om det inte finns där, lämna det här fältet tomt.
  • Länk till webbplatsens huvudsida - placera en länk till din webbplatss huvudsida.
  • Administratörens e-post / skicka meddelanden - ange din e-post, och välj även om du vill ta emot meddelanden till din e-post eller inte.
  • Administratörslösenord - se till att ange ditt lösenord. Lämna inte "admin".
  • Vill du aktivera meddelandemoderering? - om du vill kontrollera varje meddelande innan du publicerar, aktivera det här alternativet.
  • Ska du aktivera ANTISPAM-funktionen? - här kan du inaktivera anti-spam-systemet, eller välja ett av tre alternativ: vanlig captcha, gåta eller matematisk operation. Om du väljer en vanlig digital captcha, ange då även längden på captcha i textfältet till höger.
  • Ska du använda ANTI-FLOOD-funktionen? - det här alternativet låter dig filtrera meddelanden utanför ämnet.
  • Aktivera länkar i texten? - om du sätter "Ja", kommer länkarna i texten i meddelandena att vara aktiva. Detta är bekvämt för användare, men din gästbok kommer att vara ett bra ställe för en spammare.
  • Aktivera/inaktivera grafiska uttryckssymboler? - om du ställer in "Ja", kommer användaren att kunna använda uttryckssymboler.
  • Max. namnlängd - det tillåtna antalet tecken i användarnamnet.
  • Max. meddelandelängd - det tillåtna antalet tecken i meddelandet.
  • Meddelanden per sida - antalet meddelanden som visas på en sida.
  • Meddelandesekvens - sortering i stigande eller fallande ordning efter datum då meddelandet skrevs.
  • Hud - utseende.

Faktum är att det finns ett stort antal olika gästboksmanus. Och när jag letade efter det gick jag igenom minst två dussin och bestämde mig för den här av följande skäl.

Jag fick nyligen ett mejl där jag bad om hjälp med ett manus till en gästbok eller en recensionsbok. Därför håller jag mitt löfte och dagens artikel kommer att handla om detta ämne.

Vad är en gästbok och varför behövs den på en webbplats?

En gästbok är en sorts bok med klagomål eller önskemål, där alla besökare på din sida kan lämna ett meddelande, som (om det godkänns av admin) kan läsas av alla. De där. Det här är de vanligaste kommentarerna, inte bara för ett enskilt inlägg, utan för hela webbplatsen!

En gästbok lägger till interaktivitet på din webbplats och är ett vanligt sätt att ge feedback.

Så låt oss först skapa en tabell i mysql-databasen där alla användarkommentarer kommer att lagras:

SKAPA TABELL OM INTE FINNS `gästbok` (`id` int(11) NOT NULL auto_increment, `user_ip` int(10) osignerad NOT NULL, `user_email` varchar(50) NOT NULL, `addtime` int(11) NOT NULL , `name` varchar(15) NOT NULL, `text` text NOT NULL, `admin_text` text NOT NULL, `image` varchar(40) NOT NULL, `sex` tinyint(1) NOT NULL default "1", PRIMARY KEY (`id`)) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;

  • id — meddelandets serienummer
  • user_ip — användarens IP-adress, representerad som ett heltal
  • user_email — användarens e-postadress
  • lägg till tid — meddelande lägg till tid
  • namn - användarnamn
  • text — meddelandetext
  • admin_text — text av administratörens svar på meddelandet
  • bild — användaravatar
  • kön — användarens kön (man/kvinna)

Som du kan se i skylten finns det ett fält för användarens IP-adress. Detta görs så att du sedan kan skapa en svartlista där du kan ange IP-adresserna till ”inte bra” användare som inte kommer att kunna lämna meddelanden i framtiden.

Sexfältet behövs för att visa "korrekt" avatar i händelse av att användare inte laddar upp sin.

Vi har sorterat ut databasen. Låt oss gå vidare till programmering. Eftersom vi arbetar med en databas är det första vi kommer att göra att skapa den enklaste klassen för att arbeta med databasen. För att göra detta, skapa filen DB.class.php och placera följande kod där:

Klass DB ( privat statisk $instans; privat $MySQLi; privat funktion __construct(array $dbOptions)( $this->MySQLi = @ new mysqli($dbOptions["db_host"],$dbOptions["db_user"], $dbOptions[ "db_pass"],$dbOptions["db_name"]); if (mysqli_connect_errno()) (kasta nytt undantag("Databasfel."); ) $this->MySQLi->set_charset("utf8") offentlig statisk funktion init (array $dbOptions)( if(self::$instance instansav self)( return false; ) self::$instance = new self($dbOptions); ) public static function getMySQLiObject())( return self::$ instans- >MySQLi; ) public static function query($q)( return self::$instance->MySQLi->query($q); ) public static function esc($str)( return self::$instance-> MySQLi- >real_escape_string(htmlspecialchars($str) )

Det är värt att säga att konstruktören för denna klass deklareras privat, så objektet kan inte skapas utanför klassen, och initiering är endast möjlig från den statiska init()-metoden. Det tar en array av MySQL-anslutningsparametrar och skapar en instans av klassen, som finns i den statiska variabeln self::$instance. Detta säkerställer att det bara finns en anslutning till databasen vid en given tidpunkt.

Resten av klassen utför databasfrågor baserat på static query()-metoden.

Om du vill kan du ändra denna klass efter behov!

Vid utvecklingen av gästboken kommer vi också att behöva hjälpfunktioner, som jag lägger i en separat fil och kallar den helper.php.

Nu har vi smidigt närmat oss den viktigaste filen i vårt skript - index.php. Det är här all skriptlogik kommer att exekveras.

Så det första du behöver göra är att initiera sessionen, ställa in grundinställningarna och ansluta till mysql-databasen. Sessionen kommer att lagra säkerhetskoden (captcha) för formuläret.

Session_start(); /* Databaskonfiguration. Lägg till dina data */ $dbOptions = array("db_host" => "localhost", "db_user" => "", "db_pass" => "", "db_name" => ""); //Anslut klassen för att arbeta med databasen kräver "DB.class.php" //Connect hjälpfunktioner kräver "helper.php" //Anslut till databasen DB::init($dbOptions); $appath = realpath(dirname(__FILE__))."/"; //Mapp på servern där avatarer kommer att laddas upp $uploaddir = "bilder/avatarer"; //Maximalt antal meddelanden på en sida $per_page = 10; //Antal sidor i sökning $num_sida = 2;

För att bygga navigering genom sidor i gästboken måste du ta reda på det totala antalet meddelanden. Detta kan göras så här:

//Hämta det totala antalet meddelanden $result = DB::query("SELECT COUNT(*) AS numrows from guestbook"); $total = $result->fetch_object()->numrows;

Låt oss nu bestämma sidnumret som måste visas. För att göra detta kommer vi att bearbeta variabeln $_GET["p"]

$start_row = (!empty($_GET["p"]))? intervall($_GET["p"]): 0; if($start_rad< 0) $start_row = 0; if($start_row >$total) $start_row = $total;

$result = DB::query("VÄLJ * FRÅN gästbok ORDER BY addtime DESC LIMIT ".$start_row.",".$per_page); //Listan över meddelanden kommer att lagras här $items = array(); while($row = $result->fetch_assoc())( $row["addtime"] = format_date($row["addtime"],"date")."|".format_date($row["addtime"] "tid"); $items = $rad;

Här har jag använt format_date()-funktionen för att arbeta med datum och tid som jag har skapat i helper.php-filen. Dess huvudsakliga uppgift är att visa datum och tid i ryskt format. Här är dess kod:

Funktion format_date($date,$format = "date")( if(empty($date)) returnerar ""; $months = array("1" => "Januari", "2" => "Februari", " 3" => "Mars", "4" => "April", "5" => "Maj", "6" => "Juni", "7" => "Juli", "8" => " Augusti", "9" => "September", "10" => "Oktober", "11" => "November", "12" => "December"); if($format == "tid") (returdatum("H:i",$datum); ) elseif($format == "datum")( $m = datum("n", $datum); $m = $månader[$m]; $ d = date("j",$date); $y = date("Y",$date); ".$m." ".$y; else("d.M.Y :i",$date); ) )

Denna funktion har bara 2 parametrar:

  • $date — datum i UNIX-format (antal sekunder som gått sedan natten den 1 januari 1970)
  • $format — datumutmatningsformulär.

Nu kan vi visa en lista med meddelanden på sidan. För detta använder jag följande html-kod:

Gästboksrecensioner lämna en recension







2024 gtavrl.ru.