Problema adaugare si afisare comentarii in Script Comentarii

Aici prezentati probleme, intrebari, sau orice subiecte legate de scripturi si tutoriale de pe site.
Avatar utilizator
ionatan
Mesaje: 94

Problema adaugare si afisare comentarii in Script Comentarii

Buna ziua!
am instalat acest script de comentarii...
am 2 probleme, si va rog sa ma ajutati,
am modificat liniile : 52-53, 48, 105, si 115 asa cum ati explicat in Citeste.html
Totul e bine, doar ca atunci dupa ce adaug un comentariu ( deja fiind paginate) dupa adaugarea lui nu mi-l afiseaza.....fiind ultimul adaugat, ci imi afiseaza pe primul... Doar dupa ce dau refresh la pagina imi afiseaza ultimul comentariu postat fiind primul
si a doua problema ce nu reusesc...
am setat cu valoarea 0, $addcomm = 1; pt a-mi retine numele utilizatorului... treaba e ca da,imi retine numele....dar chiar daca nu e autentificat, tot poate adauga comentariul....
as dorii, doar sa citeasca comentariile, nu sa si adauge....
Va multumesc,
Cu stima, Ionatan
Cumpără adevărul, şi nu-l vinde, înţelepciunea, învăţătura şi priceperea.
https://www.crestinmultimedia.com/

MarPlo Mesaje: 4343
Salut
La prima problema, inlocuieste in fisierul: "functions.js" (in directorul "commincls/"), la linia 329, unde e codul:

Cod: Selectaţi tot

var datasend = 'isajax=1&pg='+url_pag+'&nrp=99999';
In loc de 99999 pune 1 . Sa fie asa:

Cod: Selectaţi tot

var datasend = 'isajax=1&pg='+url_pag+'&nrp=1';
La a doua problema, am testat, si nu adauga formularul daca utilizatorul nu e logat, iar $addcomm = 0;
Poate cauza o fi de la alt script care foloseste sesiunea de logare, nu stiu.
Cand nu e logat, ce nume adauga in formular?
Nu stiu care e cauza, si nici rezolvare, fiindca la teste functioneaza bine in privinta asta. Oricum, incearca sa modifici in: "form_add.php" din "commincls/", codul (linia 3):

Cod: Selectaţi tot

$namec = isset($nameusr) ? '<input type="hidden" name="namec" value="'.$nameusr.'" /><label>'.$lsite['name'].'</label> &nbsp; &nbsp; &nbsp;&nbsp; <b>'.$nameusr.'</b><br/>':  '<label for="namec">'.$lsite['name'].'</label> &nbsp; &nbsp; &nbsp;&nbsp; <input type="text" name="namec" id="namec" size="20" maxlength="32" /><br/>';
Cu acesta:

Cod: Selectaţi tot

$namec = isset($_SESSION['username']) ? '<input type="hidden" name="namec" value="'.$_SESSION['username'].'" /><label>'.$lsite['name'].'</label> &nbsp; &nbsp; &nbsp;&nbsp; <b>'.$_SESSION['username'].'</b><br/>' : '<label for="namec">'.$lsite['name'].'</label> &nbsp; &nbsp; &nbsp;&nbsp; <input type="text" name="namec" id="namec" size="20" maxlength="32" /><br/>'; 
- "username" trebuie sa fie numele sesiunii folosit de scriptul de logare, depinde ce script de inregistrare /autentificare folosesti. Daca tot nu merge, nu cunosc cauza.

ionatan Mesaje: 94
Va multumesc pt raspuns, nu ma asteptam asa repede....
Da, la prima problema s-a rezolvat inlocuind linia 329 din fisierul: "functions.js"
la a doua .... tot asa e.....mentionez ca scriptul de inregistrare /autentificare are original numele sesiunii "username" , iar comentariul apare ca si cum ai fi autentificat.... doar ca e cu numele "vizitator" pt cei neautentificati.... si bineinteles cu numele de utilizator in cazul in care e autentificat.... daca nu are rezolvare... as putea separa linkul "Adauga comentariul" de zona unde apar comentariile si eventual sa il adaug

Cod: Selectaţi tot

<?
if($session->logged_in) {
  aici sa pun link-ul
}
else {
  echo "<h3>  trebuie sa fiti Autentificat pt a posta comentariul..</h3>";
}
?>
Si atunci doar celor care sunt autentificati vor putea sa dea clik pe "Adauga comentariul"
CU respect, Ionatan
Cumpără adevărul, şi nu-l vinde, înţelepciunea, învăţătura şi priceperea.
https://www.crestinmultimedia.com/

MarPlo Mesaje: 4343
Problema e ca nu se potrivesc scriptul de logare cu cel de comentarii, trebuie studiat cel de logare ca sa stii cum functioneaza; dar asta ma depaseste.
Link-ul "Adauga comentariu" e in "comments.php", linia 43, unde e codul:

Cod: Selectaţi tot

if($addcomm !== 1 && !isset($nameusr)) echo '<h3 id="adcomm">'.$lsite['comments']['allowcmm'].'</h3>';
Daca vrei sa modifici cum ai mentionat (desi este ineficient, formlarul tot e inclus, chiar daca nu apare) incearca sa inlocuiesti acea linie cu asta (nu stiu daca merge, daca apar erori poate le rezolvi):

Cod: Selectaţi tot

if($addcomm !== 1) {
  if($session->logged_in) echo '<h3 id="adcomm">'.$lsite['comments']['allowcmm'].'</h3>';
  else echo "<h3>  trebuie sa fiti Autentificat pt a posta comentariul..</h3>";
}
Sau poate, mai bine, in "config.php", linia 22, in loc de:

Cod: Selectaţi tot

if(isset($_SESSION['username'])) $nameusr = $_SESSION['username'];
Sa fie:

Cod: Selectaţi tot

if($session->logged_in) $nameusr = $_SESSION['username'];
Daca nu merge, incearca si alte variante.

ionatan Mesaje: 94
Va multumesc pt raspuns... si REZOLVARE !!
Am inlocuit in "config.php", linia 22 , asa cum ati spus, si s-a rezolvat. daca nu esti autentificat, in loc de Aadauga comentariu" apare "Pentru a putea adauga comentarii trebuie sa va autentificati" acuma e Ok
Multumesc,

Cu tot respectul , Ionatan
Cumpără adevărul, şi nu-l vinde, înţelepciunea, învăţătura şi priceperea.
https://www.crestinmultimedia.com/

Subiecte similare