Pagina de start a forumului Forum PHP Romania - Discutii despre PHP, MySQL, Javascript, AJAX, etc Forum PHP Romania - Discutii despre PHP, MySQL, Javascript, AJAX, etc
Comunitatea PHP Romania
 

Remove post?
Vezi mesajul original

 
       Pagina de start a forumului Forum PHP Romania - Discutii despre PHP, MySQL, Javascript, AJAX, etc -> PHP Incepători
Subiectul anterior :: Subiectul următor  
Autor Mesaj
bld



Data înscrierii: 01/Sep/2004
Mesaje: 284
Locație: Alaska

Trimis: Dum Ian 23, 2005 4:29 pm    Titlul subiectului: Remove post?  

Bine...deci...
Se acceseaza pagina mesaje.php (pagina unde se gasesc toate mesajele postate de useri preluate din baza de date)...la accesarea paginii scriptul php verifica nivelul utilizatorului din sesiune...daca este 0 include un fisier php cu un anumit design si scripturi daca este 1 include altul.
Eu vreau ca utilizatorii obisnuiti sa nu ai acc la butonul de stergere a unui post...nici sa nu-l vada...de aceea folosesc 2 fisiere separate prentru includere...problema este urmatoarea...sa ziceam ca utilizatorii obisnuiti vad doar mesajele postate iar moderatorii vad si botunul de remove post...cum fac ca acel post in dreptul caruia se afla butonul remove post sa fie sters...cum fac afisarea din baza de date pentru a reusi acest lucru?
Voi avea cate un buton/link remove post la fiecare post nu? cum trebuie facut? nu cunosc solutia buna...
Exista si o solutie mai buna decat cu include? daca da, care este daca nu...cum se poate rezolva restul problemei...multumesc!
Sus  
carco



Data înscrierii: 27/Mai/2004
Mesaje: 2796
Locație: Bucuresti

Trimis: Dum Ian 23, 2005 5:17 pm    Titlul subiectului:  

Pai sa vedem. In primul rand in tabela mesaje ar trebui sa ai un id (un autoincrement).
Sa zicem ca ai tabela mesaje cu campurile id,data,nume,mesaj
Algoritmul ar fi urmatorul:
an style="color: #000000"><?php ......verificare drepturi user.... require("conectareDB.php"); .... $query="SELECT * FROM mesaje;"; $result=mysql_query($query) or die("Eroarea select <br />".mysql_error()); echo "<table>\n"; while ($row=mysql_fetch_array($result)) { echo "<tr><td>$row['nume'] in $row['data'] a scris:</td></tr>\n"; echo "<tr><td>$row['mesaj']"; if ([conditie moderator])    echo "<hr /><a href='delete.php?id=$row['id']' title='Stergere'>Sterge</a> | <a href='edit.php?id=$row['id']' title='Editare'>Edit</a>"; echo "</td></tr>"; } echo "</table>"; } 

Acum in delete.php ai $_GET['id'] ca fiind id-ul mesajului ce doresti sa-l stergi.
an style="color: #000000"><?php .....autentificare.... if (isset($_GET['id']) && is_numeric($_GET['id']) {   $query="DELETE FROM mesaje WHERE id=$_GET['id'];"    .... } else echo "Nice try!"; 
P.S. nu am testat codul, posibil sa fie erori
Sus  
bld



Data înscrierii: 01/Sep/2004
Mesaje: 284
Locație: Alaska

Trimis: Dum Ian 23, 2005 7:56 pm    Titlul subiectului:  

<?php  include ('objects/conectaredb.php'); $query = ("SELECT id,nume,mail,mesaj,data,ip FROM questbook order by data desc"); $result = mysql_query($query) or die ('Eroare la vizionarea posturilor:'.mysql_error()); while ($row = mysql_fetch_array ($result)) { $id = $row["id"]; $nume=$row["nume"]; $mail=$row["mail"]; $mesaj=$row["mesaj"]; $data=$row["data"]; $ip=$row["ip"];  if ($_SESSION['logat'] != 'DA') { $id = $id++; echo '<div style="position:relative; top:10px; left:10px; width:700px; height:auto;" id="sus">'.$nume.'in data de:'.$data.' a scris:</div>'; echo '<div style="position:relative; top:10px; left:10px; width:700px; height:auto;" id="mesaj">'.stripslashes(nl2br($mesaj)).'</div>'; } else { $id = $id++; echo '<div style="position:relative; top:10px; left:10px; width:700px; height:auto;" id="sus">'.'&nbsp;'.$nume.'&nbsp;'.'in data de:&nbsp;'.$data.'&nbsp;a scris:<div style="float:right"><a href="php/delete.php?id='.$id.'">Sterge</a> | <a href="php/edit.php?id='.$id.'">Edit</a></div></div>'; echo '<div style="position:relative; top:10px; left:10px; width:700px; height:auto;" id="mesaj">'.stripslashes(nl2br($mesaj)).'</div>'; }} ?>


Multumesc pentru sfaturi...de mers merge...dar...funtia(date) de fiecare daca imi afiseaza 000-00-00...de ce? am gresit formatul sau care e problema? cum trebuie sa fac...in scriptul php am folosit $data = date('jS F Y');
Sus  
carco



Data înscrierii: 27/Mai/2004
Mesaje: 2796
Locație: Bucuresti

Trimis: Dum Ian 23, 2005 9:29 pm    Titlul subiectului:  

pai daca in baza de date ai pus data de tip DATE nu merge sa bagi valoare furnizata de date in acea forma. Cand faci INSERT-ul poti folosi functia mysql now():
INSERT INTO numetabela (data,mesaj) VALUES (now(),"sdfsdds");
Daca vrei sa formezi manual data date('YmdHis') ar trebui sa genereze formatul asteptat de MySQL, adica: AAAALLZZHHMMSS
Sus  
PHPRomania Bot
Bot Member


Data înscrierii: 27/Dec/2007
Mesaje: 1
Locaţie: Server Google
Trimis: Mie Dec 26, 2007 7:01 pm   Titlul subiectului: Ad  

Sus  
 
       Pagina de start a forumului Forum PHP Romania - Discutii despre PHP, MySQL, Javascript, AJAX, etc -> PHP Incepători
Pagina 1 din 1


Powered by phpBB 2.0.22 © 2001, 2002 phpBB Group
Varianta în limba română: Romanian phpBB online community