Salut
Se poate adauga la script-ul tau fara baza de date o calasa de paginare ?
Multumesc.
Paginare la Script comentarii 3
-
- Mesaje: 61
Paginare la Script comentarii 3
MarPlo
Mesaje: 4343
Salut
Se poate asa:
1. Copie fisierul "class.pagination.php" cu clasa de paginare de la adresa Clasa Paginare in acelasi loc unde e "coment.php".
2. Inlocuieste continutul din "coment.php" cu acest cod:
Se poate asa:
1. Copie fisierul "class.pagination.php" cu clasa de paginare de la adresa Clasa Paginare in acelasi loc unde e "coment.php".
2. Inlocuieste continutul din "coment.php" cu acest cod:
Cod: Selectaţi tot
<?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('/','\\',':','*','|',"'",'"','@','?','='), '', preg_replace('/pg=[0-9]*/', '', $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 = '<p class="num_e"><span class="clasn"> ● '. $name. "</span>". '(<i>'. $data. "</i>)</p>";
// 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>";
}
else { $datem = ""; }
$datec = '<div class="bloc_com">'. $coment. "</div><br />". PHP_EOL;
$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(!file_put_contents($fisier, $ad, FILE_APPEND | LOCK_EX)) 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 = str_ireplace(PHP_EOL, '', file_get_contents($fisier));
preg_match_all('/\<p class="num_e"\>(.*?)\<\/div\>\<br \/\>/i', $coment, $cm);
include('class.pagination.php');
$objPg = new Pagination();
$coment = $objPg->getArrRows($cm[0]);
}
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 .'<hr />'; // Afiseaza comentariile (continutul variabilei $coment)
if(isset($objPg)) echo $objPg->getLinks(); // linkuri paginare
?>
<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>
dim
Mesaje: 61
Multumesc pt ajutor
dar poti sa imi explicit si mie urmatoarea line pe care nu o inteleg??
daca ii elimin class nu imi mai afiseaza nimic
multumesc inca o data pt raspunsurile date
dar poti sa imi explicit si mie urmatoarea line pe care nu o inteleg??
Cod: Selectaţi tot
if(file_exists($fisier)) {
$coment = str_ireplace(PHP_EOL, '', file_get_contents($fisier));
preg_match_all('/\<p class="num_e"\>(.*?)\<\/div\>\<br \/\>/i', $coment, $cm);
multumesc inca o data pt raspunsurile date
MarPlo
Mesaje: 4343
Daca fisierul din $fisier exista, functia str_ireplace() sterge caracterele de randuri noi (PHP_EOL inlocuit cu nimic '') in continutul preluat cu file_get_contents(); ca sa fie tot continutul intr-o singura linie (sa nu incurce expresia regulata din : preg_match_all() ).
Functia preg_match_all() e folosita sa preia ce e intre tagurile: "<p class="num_e">" si primul "</div><br />" (notatia exact asa cum e la adaugarea comentariilor in $fisier). Asta ca sa adauge comentariile intr-un array ca sa poata fi paginate cu clasa Pagination.
- Daca mai sunt ate coduri /functii care nu stii ce fac, gasesti in manualul php (php.net) explicatii si exemple.
Functia preg_match_all() e folosita sa preia ce e intre tagurile: "<p class="num_e">" si primul "</div><br />" (notatia exact asa cum e la adaugarea comentariilor in $fisier). Asta ca sa adauge comentariile intr-un array ca sa poata fi paginate cu clasa Pagination.
- Daca mai sunt ate coduri /functii care nu stii ce fac, gasesti in manualul php (php.net) explicatii si exemple.
Subiecte similare
-
Problema ordonare in script paginare
PHP - MySQL - XML
Primul mesaj
Buna, am urmatorul script de paginare, insa nu reusesc sa-l setez sa-mi returneze inregistrariile din mysql ordonate descendent dupa ID.Ultimul mesaj
Am...
Multumesc mult de ajutor, functioneza perfect!!! -
Script rasturnare imagine
JavaScript - jQuery - Ajax
Primul mesaj
O idee de un script cum as putea face ca atunci cand am o imagine rasturnata sa apas de exemplu pe sageti si sa mi-o aduca in ce pozitie vreau eu?...Ultimul mesaj
Salut,
Ca idee ar fi urmatoarea:
1. Adaugi imaginea intr-un element canvas.
2. Cu sgetile /butoanele apelezi o functie javascript care roteste... -
Cerere: Script si cod calculator calorii
Cereri si Oferte
Buna ziua
Va rog sa ma ajutati cu un script calculator calorii, vreau sal pun pe saitul meu. va rog daca e posibil in limba romana -
script si cod html calculator calorii
Cereri si Oferte
Buna ziua
Va rog sa ma ajutati cu un script calculator calorii, vreau sal pun pe saitul meu. va rog daca e posibil in limba romana -
Intrebare script simple-backup-manager
Scripturi de pe site
Primul mesaj
un update la mysqli pentru scriptul asta?Ultimul mesaj
Salut,
Acel script poate fi setat sa lucreze cu PDO sau MySQLi.
In mod initial e deja setat pentru MySQLi, in proprietatea $conn_mod.
Vezi... -
Caut Script magazin vanzari licente
Cereri si Oferte
Primul mesaj
Salut, stii cumva un script de magazin vanzari licente?Ultimul mesaj
Ceva gen g2a.com sau rexsoft.ro?
Nu caut clone sau ceva, vreau doar un script.
Salut,
Nu cunosc nici un cript de magazin vanzari licente.
Poate este si stie altcineva; eu de ceva timp nu mai sunt in domeniul de...