Acest script adauga comentarii postate de vizitatori 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.
Comentariile sunt adaugate in ordine de jos in sus, adica ultimul comentariu adaugat este afisat deasupra celorlalte.
Acest script 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 sopre 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) // Copie datele din fisierul de baza in unul de rezerva if (file_exists($fisier)) { $fc = fopen($fisier, "rb"); } else { touch($fisier); // Creaza fisierul chmod($fisier, 0777); // Atribue fisierului permisiuni totale $fc = fopen($fisier, "rb"); } // Preia datele din fisier (le va adauga dupa comentaril tocmai trimis) $fcr = @fread($fc, filesize($fisier)); fclose($fc); // 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 $ad .= $fcr; // Adauga comentariile mai vechi (preluate in $fcr) dupa cel nou primit // Adauga noul continut format in fisierul text si retine mesaj daca a putut fi adaugat sau nu $re = file_put_contents($fisier, $ad) ? 'Mesajul a fost adaugat cu succes' : 'Mesajul NU a putut fi adaugat'; // 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("'.$re.'"); 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.