Acesta este un script relativ simplu, prin care vizitatorii unui site pot adauga comentarii pe o pagina web (.php).
Poate fi folosit cu mai multe pagini din acelasi site.
Comentariile sunt pastrate in fisiere text, pe server, astfel nu este nevoie de lucru cu baze de date.
- Diferenta fata de celalat script similar (Script comentarii 2), pe care-l puteti gasi aici, este ca acesta afiseaza comentariile in ordine de sus in jos, adica ultimul comentariu adaugat este afisat jos, sub celelalte deja existente.
Scriptul e format din 3 fisiere principale (mai jos veti gasi codul pentru fiecare):
- Comentariile adaugate si afisate cu acest script vor apare in pagina similar cu cele din imaginea de mai jos.
<?php // Script comentarii de la https://marplo.net/php-mysql $dir = 'coment/'; // Directorul unde sunt stocate fisierele cu comentariile $file0 = strip_tags(basename($_SERVER['REQUEST_URI'])); // Preia adresa /numele paginii curente $file = str_replace(array('/','\\',':','*','|',"'",'"','@','?','='), '', $file0); // Sterge caracterele speciale din adresa // Defineste calea si numele fisierelor .txt de stocare a comentariilor $fisier = $dir. $file. '.txt'; // Defineste cale spre fisierul care va contine comentariile // Daca sun primite date din formular if (isset($_POST['nume']) && isset($_POST['comentariu']) && isset($_POST['hideanti_spam']) && isset($_POST['anti_spam'])) { // Daca e corect codul anti-spamm if($_POST['hideanti_spam']==$_POST['anti_spam']) { // Creaza directorul din $dir, daca nu exista if (!is_dir("coment")) { mkdir("coment", 0777); } // Creaza fisierul pt. pastrarea comentariilor (daca acesta nu exista) if (!file_exists($fisier)) { touch($fisier); // Creaza fisierul chmod($fisier, 0777); // Atribue fisierului permisiuni totale } // Preia datele din form $name = strip_tags($_POST['nume']); $data = date(" j-F-Y, g:i a "); $coment0 = strip_tags($_POST['comentariu']); // Elimina tag-urile HTML din comentariu // 'wordwrap' scurteaza cuvintele la maxim 35 caractere // 'nl2br' adauga <br /> la linie noua $coment = '<p class="comm">'. nl2br(wordwrap($coment0, 35, " ", true)). '</p>'; // Aranjeaza datele preluate din form $daten = "\r\n". '<p class="num_e"><span class="clasn"> ● '. $name. "</span>\r\n". '(<i>'. $data. "</i>)</p>\r\n"; // Daca adresa de e-mail e primita si este diferita de '@ptional' if (isset($_POST['email']) && $_POST['email']!="@ptional") { $datem = '<span class="clasem"> e-mail : '. strip_tags($_POST['email']). "</span>\r\n"; } else { $datem = ""; } $datec = '<div class="bloc_com">'. $coment. "</div><br /> \r\n"; $ad = $daten. $datem. $datec; if ($name == "") { $ad = ""; } // Pt. siguranta in caz de refresh gol // Sterge datele din fisier, adauga comentariul nou si cel din fisierul de rezerva if($fha = fopen($fisier, "ab")) { $fa = fwrite($fha, $ad); fclose($fha); } else echo "</h4<Fisierul pt. adaugare comentarii nu a putut fi deschis</h4>"; // Scriptul JS pt. fereastra Alert care apare dupa adaugarea datelor // Si face redirect la aceeasi pagina, pt. a evita re-adaugarea mesajului in caz de Refresh echo '<script type="text/javascript"> window.alert("Mesajul a fost adaugat cu succes"); window.location = "http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']. '"; </script>'; exit; } else { echo '<h4>Caractere anti-spamm incorecte</h4>'; } } // Preia intr-o variabila comenrariile ce vor fi afisate if(file_exists($fisier)) { $coment = file_get_contents($fisier); } else { $coment = '<span class="clasn"><i> - Nu exista nici un comentariu. Fii tu primul care adauga!</i></span>'; } $anti_spam = substr(md5(time()), 3, 5); // Se definesc caracterele antispam ?> <!-- Incepe locul comentariilor --> <div id="cm" align="left"> <h2>Comentarii :</h2><hr /> <?php echo $coment; // Afiseaza comentariile (continutul variabilei $coment) ?> <hr /> <script type="text/javascript" src="check.js"></script> <div id="fcom" align="center"> <h3>Adauga comentariu</h3> <form name="formc" onsubmit="return Validate()" method="post" action="<?php echo $file0; ?>"> <!-- https://marplo.net --> <input type="hidden" name="hideanti_spam" value="<?php echo $anti_spam; ?>" /> <label for="nume">Nume : </label> <input type="text" name="nume" id="nume" size="18" maxlength="40" /><br /> <label for="email">E-mail : </label> <input type="text" name="email" id="email" size="18" maxlength="40" value="@ptional" onclick="if(this.value=='@ptional')this.value='';" onblur="if(this.value.length<2)this.value='@ptional';" /><br /> <label for="comentariu">Scrie comentariu (<i> Maxim 500 caractere </i>) : </label><br /> <textarea name="comentariu" id="comentariu" cols="35" rows="6"></textarea> <br /><a href="https://marplo.net" style="font-size:8px; color:#dadafe;">cursuri jocuri anime</a><br /> Adaugati urmatorul cod: <b><?php echo $anti_spam; ?></b><br /> <label for="anti_spam"> Verificare </label> <input type="text" name="anti_spam" id="anti_spam" size="5" maxlength="6" /><br /> <input type="submit" value="Trimite" id="submit" /> </form> </div> </div>
function Validate() { var obj = document.forms.formc; if (obj.nume.value.length<2 || obj.nume.value.length>30) { alert('Numele trebue sa contina intre 2 si 30 caractere!'); obj.nume.focus(); return false; } else if (obj.email.value.indexOf("@")==-1 || obj.email.value.length<7 || obj.email.value.length>40) { alert('Introducei o adresa de e-mail corecta, cu maxim 40 caractere'); obj.email.focus(); return false; } else if (obj.comentariu.value.length<5 || obj.comentariu.value.length>500) { alert('Comentariul trebue sa contina intre 5 si 500 caractere!'); obj.comentariu.focus(); return false; } else if(obj.hideanti_spam.value!=obj.anti_spam.value) { alert('Caractere anti-spamm incorecte!'); obj.anti_spam.focus(); return false; } return true; }
#cm { margin:25px 155px 5px 180px; text-align:left; } #cm h2 { width:115px; height:19px; margin-top:1px; margin-bottom:-3px; padding-left:3px; font-family:Arial, sans-serif; font-size:17px; letter-spacing:1px; color:#ff2323; border-top:1px solid #aaaaaa; } #cm .num_e { margin-bottom:-2px; margin-top:2px; font-family:Arial, sans-serif; font-size:12px; text-align:left; } #cm .clasn { margin-bottom:-3px; padding-right:2px; font-family:Arial, sans-serif; font-size:14px; letter-spacing:1px; font-weight:bold; color:blue; } #cm .clasem { margin-bottom:1px; font-family:Arial, sans-serif; font-size:13px; color:green; } #cm .bloc_com { width:655px; background-color:#efeffe; margin-top:2px; margin-bottom:-15px; margin-left:45px; font-family:Arial, sans-serif; font-size:15px; padding:1px 2px; text-align:left; } #cm .comm { width:650px; margin:1px auto; text-indent:22px; text-align:left; } /* Grafica form-ului pt. adaugare comentarii */ #cm h3 { margin-top:0px; margin-bottom:7px; font-family:Arial, sans-serif; font-size:17px; text-decoration:underline; letter-spacing:1px; text-align:center; color:#010101; } #cm input, textarea { border:1px solid #101010; font-family:Arial, sans-serif; font-size:15px; letter-spacing:1px; color:#111111; background:#ffe0ff; } #cm input:focus, textarea:focus { background:#fffedd; } #cm label { padding:1px 0px 1px 0px; font-family:Arial, sans-serif; font-size:15px; color:blue; } #cm #submit { margin-top:2px; margin-bottom:2px; padding:0px; font-family:Arial, sans-serif; font-size:14px; color:#111111; } #cm #submit:hover { margin-bottom:0px; background:#fffedd; border:2px double #333333; cursor:pointer; }
Scriptul este gratuit, fara vreun suport supimentar, dar daca aveti intrebari sau probleme de instalare cu acest script, postati pe Forum-ul la sectiunea "PHP - MySQL".
<ul> <li>http://coursesweb.net/html/</li> <li>http://www.marplo.net/html/</li> </ul>
.some_class { display: list-item; }
var obj = { "courses": ["php", "javascript", "ajax"] }; var jsonstr = JSON.stringify(obj); alert(jsonstr); // {"courses":["php","javascript","ajax"]}
$strhtml = '<body><div id="dv1">CoursesWeb.net</div></body>'; $dochtml = new DOMDocument(); $dochtml->loadHTML($strhtml); $elm = $dochtml->getElementById("dv1"); echo $elm->nodeValue; // CoursesWeb.net
I`m living here. - Traiesc /Locuiesc aici.
Estoy viviendo aquĆ. - Traiesc /Locuiesc aici.