22. december 2004 - 21:29
Der er
35 kommentarer og 2 løsninger
slette besked i gæstebog
I mit community har brugerne hver sin gæstebog. Men hvordan kan man lave det sådan at brugerne kan slette beskeder i deres egen gæstebog? F.eks at de bare trykker på et link der f.eks. hedder [SLET] i beskeden. På forhånd tak :D
Annonceindlæg tema
Cloud & AI
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
22. december 2004 - 21:36
#1
Kopier koden ind, hvor du lister beskederne op for brugeren, så er det lettere at tilføje :) (men kun de linier, ikke hele dokumentet!)
22. december 2004 - 21:37
#2
Hov sorry.. Glemte lige I nok også skal have noget kode :) : Dette er min gæstebog kode: <?php if($_POST['skriv']){ if(!$_POST['navn']) { echo "Du skal skrive et navn!"; } elseif(!$_POST['kom']) { echo "Du skal skrive en besked!"; } else{ $_POST["kom"] = str_replace("<", "<", $_POST["kom"]); $_POST["kom"] = str_replace(">", ">", $_POST["kom"]); $_POST["kom"] = str_replace("\\", "\\\\", $_POST["kom"]); mysql_query("INSERT INTO gbog (id, bruger, name, mail, comment) VALUES ('".$_POST['id']."','".$_GET['bruger']."','".$_POST['navn']."','".$_GET['email']."','".$_POST['kom']."')"); } } ?> <? $query = mysql_query("SELECT * FROM gbog WHERE bruger='".$_GET['bruger']."' ORDER BY id DESC") or die(mysql_error()); while($row = mysql_fetch_array($query)) { $row["COMMENT"] = str_replace(" ", "<br />", $row["COMMENT"]); $row["COMMENT"] = preg_replace( "#\[url=(.+?)\](.+?)\[/url\]#is", "<a target='_blank' href='\\1'>\\2</a>", $row["COMMENT"]); $row["COMMENTt"] = preg_replace( "#\[url\](.+?)\[/url\]#is", "<a target='_blank' href='\\1'>\\1</a>", $row["COMMENT"]); $row["COMMENT"] = preg_replace( "#\[img\](.+?)\[/img\]#is", "<img src='\\1' alt='' border='0' />", $row["COMMENT"]); $row["COMMENT"] = preg_replace( "#\[b\](.+?)\[/b\]#is", "<b>\\1</b>", $row["COMMENT"]); $row["COMMENT"] = preg_replace( "#\[i\](.+?)\[/i\]#is", "<i>\\1</i>", $row["COMMENT"]); $row["COMMENT"] = preg_replace( "#\[u\](.+?)\[/u\]#is", "<u>\\1</u>", $row["COMMENT"]); echo "<table> <tr> <td class='comment'><b><a href='?side=profil/bruger.php&bruger=" .$row["name"]."'>".$row["name"] ."</a></b> <a href='?side=profil/gbog.php&bruger=" .$row["name"]."'>SVAR</a> <hr>".$row["COMMENT"] ."</td></tr></table><br />"; } ?>
22. december 2004 - 21:38
#3
Altså.. Det er: <? $query = mysql_query("SELECT * FROM gbog WHERE bruger='".$_GET['bruger']."' ORDER BY id DESC") or die(mysql_error()); while($row = mysql_fetch_array($query)) { $row["COMMENT"] = str_replace(" ", "<br />", $row["COMMENT"]); $row["COMMENT"] = preg_replace( "#\[url=(.+?)\](.+?)\[/url\]#is", "<a target='_blank' href='\\1'>\\2</a>", $row["COMMENT"]); $row["COMMENTt"] = preg_replace( "#\[url\](.+?)\[/url\]#is", "<a target='_blank' href='\\1'>\\1</a>", $row["COMMENT"]); $row["COMMENT"] = preg_replace( "#\[img\](.+?)\[/img\]#is", "<img src='\\1' alt='' border='0' />", $row["COMMENT"]); $row["COMMENT"] = preg_replace( "#\[b\](.+?)\[/b\]#is", "<b>\\1</b>", $row["COMMENT"]); $row["COMMENT"] = preg_replace( "#\[i\](.+?)\[/i\]#is", "<i>\\1</i>", $row["COMMENT"]); $row["COMMENT"] = preg_replace( "#\[u\](.+?)\[/u\]#is", "<u>\\1</u>", $row["COMMENT"]); echo "<table> <tr> <td class='comment'><b><a href='?side=profil/bruger.php&bruger=" .$row["name"]."'>".$row["name"] ."</a></b> <a href='?side=profil/gbog.php&bruger=" .$row["name"]."'>SVAR</a> <hr>".$row["COMMENT"] ."</td></tr></table><br />"; } ?> Der viser beskeden..
22. december 2004 - 21:58
#4
måske sådan her: <? if ($_GET[mode] == "slet" && isset($_GET[slet])) mysql_query("delete from gbog WHERE bruger = '$_GET[bruger]' AND id = '$_GET[slet]'") or die(mysql_error()); $query = mysql_query("SELECT * FROM gbog WHERE bruger='".$_GET['bruger']."' ORDER BY id DESC") or die(mysql_error()); while($row = mysql_fetch_array($query)) { $row["COMMENT"] = str_replace(" ", "<br />", $row["COMMENT"]); $row["COMMENT"] = preg_replace( "#\[url=(.+?)\](.+?)\[/url\]#is", "<a target='_blank' href='\\1'>\\2</a>", $row["COMMENT"]); $row["COMMENTt"] = preg_replace( "#\[url\](.+?)\[/url\]#is", "<a target='_blank' href='\\1'>\\1</a>", $row["COMMENT"]); $row["COMMENT"] = preg_replace( "#\[img\](.+?)\[/img\]#is", "<img src='\\1' alt='' border='0' />", $row["COMMENT"]); $row["COMMENT"] = preg_replace( "#\[b\](.+?)\[/b\]#is", "<b>\\1</b>", $row["COMMENT"]); $row["COMMENT"] = preg_replace( "#\[i\](.+?)\[/i\]#is", "<i>\\1</i>", $row["COMMENT"]); $row["COMMENT"] = preg_replace( "#\[u\](.+?)\[/u\]#is", "<u>\\1</u>", $row["COMMENT"]); echo "<table> <tr> <td class='comment'><b><a href='?side=profil/bruger.php&bruger=" .$row["name"]."'>".$row["name"] ."</a></b> <a href='?side=profil/gbog.php&bruger=" .$row["name"]."'>SVAR</a><a href='?side=profil/gbog.php&bruger=" .$row["name"]."&mode=slet&slet=$row["id"]'>[SLET]</a> <hr>".$row["COMMENT"] ."</td></tr></table><br />"; } ?>
22. december 2004 - 22:09
#5
Parse error: parse error, unexpected '\"', expecting T_STRING or T_VARIABLE or T_NUM_STRING in /customers/kack.dk/kack.dk/httpd.www/kackcommunity2/profil/gbog.php on line 46 Line 46: echo "<table> <tr> <td class='comment'><b><a href='?side=profil/bruger.php&bruger=" .$row["name"]."'>".$row["name"] ."</a></b> <a href='?side=profil/gbog.php&bruger=" .$row["name"]."'>SVAR</a><a href='?side=profil/gbog.php&bruger=" .$row["name"]."&mode=slet&slet=$row["id"]'>[SLET]</a> <hr>".$row["COMMENT"] ."</td></tr></table><br />";
22. december 2004 - 22:17
#6
echo "<table> <tr> <td class='comment'><b><a href='?side=profil/bruger.php&bruger=" .$row["name"]."'>".$row["name"] ."</a></b> <a href='?side=profil/gbog.php&bruger=" .$row["name"]."'>SVAR</a><a href='?side=profil/gbog.php&bruger=" .$row["name"]."&mode=slet&slet=" . $row["id"] . "'>[SLET]</a> <hr>".$row["COMMENT"] ."</td></tr></table><br />"; prøv det, må tilstå det er utestet! så vær venlig lige at tage en backup af din db inden også! så er vi sikker på det ikke forsvinder :)
22. december 2004 - 22:35
#7
du laver et link der hedder noget i stil med <a href="dinside.php?slet=besked&id='.$row['id'].'">Slet besked</a> så på din side i starten inden alt det andet gøgl skriver du if($_GET['slet'] == "besked") { if($_GET['id']) { mysql_query("DELETE FROM gbog WHERE ID = '".$_GET['id']."' LIMIT 1"); } }
22. december 2004 - 22:41
#8
elskermad.dk > Hvordan laver man backup af en database?
22. december 2004 - 22:46
#9
bruger du phpmyadmin? for så siger du bare exporter. Så får du en text fil med al info. Du skal gøre det for hver tabel.
22. december 2004 - 22:48
#10
altså hvis jeg f.eks har en table til mine gæstebogs beskeder som hedder GBOG skal jeg bare exporte den?
22. december 2004 - 22:48
#11
ja
22. december 2004 - 22:49
#12
så burde den lave en text som indeholder struktur og alt "indmaden".
22. december 2004 - 22:51
#13
Det virker vidst nu :D Men det skal jo kun være brugeren som ejer gæstebogen der kan slette beskeder. Hvordan kan man lave det?
22. december 2004 - 22:53
#14
hvis du f.eks. har lagt brugerens navn ned i en variable $navn. fx. if($navn == "peterhansen") { <a href="dinside.php?slet=besked&id='.$row['id'].'">Slet besked</a> }
22. december 2004 - 22:59
#15
Gider du flette det ind i den anden kode? Ville være dejligt!
22. december 2004 - 23:00
#16
kan jeg godt... 2 sek.
22. december 2004 - 23:02
#17
k.. Nice!
22. december 2004 - 23:04
#18
<?php if($_GET['slet'] == "besked") { if($_GET['id']) { mysql_query("DELETE FROM gbog WHERE ID = '".$_GET['id']."' LIMIT 1"); } } if($_POST['skriv']){ if(!$_POST['navn']) { echo "Du skal skrive et navn!"; } elseif(!$_POST['kom']) { echo "Du skal skrive en besked!"; } else{ $_POST["kom"] = str_replace("<", "<", $_POST["kom"]); $_POST["kom"] = str_replace(">", ">", $_POST["kom"]); $_POST["kom"] = str_replace("\\", "\\\\", $_POST["kom"]); mysql_query("INSERT INTO gbog (id, bruger, name, mail, comment) VALUES ('".$_POST['id']."','".$_GET['bruger']."','".$_POST['navn']."','".$_GET['email']."','".$_POST['kom']."')"); } } ?> <? $query = mysql_query("SELECT * FROM gbog WHERE bruger='".$_GET['bruger']."' ORDER BY id DESC") or die(mysql_error()); while($row = mysql_fetch_array($query)) { $row["COMMENT"] = str_replace(" ", "<br />", $row["COMMENT"]); $row["COMMENT"] = preg_replace( "#\[url=(.+?)\](.+?)\[/url\]#is", "<a target='_blank' href='\\1'>\\2</a>", $row["COMMENT"]); $row["COMMENT"] = preg_replace( "#\[url\](.+?)\[/url\]#is", "<a target='_blank' href='\\1'>\\1</a>", $row["COMMENT"]); $row["COMMENT"] = preg_replace( "#\[img\](.+?)\[/img\]#is", "<img src='\\1' alt='' border='0' />", $row["COMMENT"]); $row["COMMENT"] = preg_replace( "#\[b\](.+?)\[/b\]#is", "<b>\\1</b>", $row["COMMENT"]); $row["COMMENT"] = preg_replace( "#\[i\](.+?)\[/i\]#is", "<i>\\1</i>", $row["COMMENT"]); $row["COMMENT"] = preg_replace( "#\[u\](.+?)\[/u\]#is", "<u>\\1</u>", $row["COMMENT"]); echo "<table> <tr> <td class='comment'><b><a href='?side=profil/bruger.php&bruger=" .$row["name"]."'>".$row["name"] ."</a></b> <a href='?side=profil/gbog.php&bruger=" .$row["name"]."'>SVAR</a> <hr>".$row["COMMENT"] ."</td> if($navn == $row[bruger]) { /* <---- Hvor $navn så er navnet på den bruger man er fx Peter. og $row[bruger] er navnet på den person hvis gæstebog peter kigger på. */ <a href="dinside.php?slet=besked&id='.$row['id'].'">Slet besked</a> } </tr></table><br />"; } ?>
22. december 2004 - 23:11
#19
Bude godt selv kunne løse dette.. Men er for træt til det :S Der er en fejl i denne linie: <a href="dinside.php?slet=besked&id='.$row['id'].'">Slet besked</a> Fejlen er: Parse error: parse error, unexpected T_CONSTANT_ENCAPSED_STRING, expecting ',' or ';' in /customers/kack.dk/kack.dk/httpd.www/kackcommunity2/profil/gbog.php on line 53
22. december 2004 - 23:20
#20
aaaah... nu burde den være her: <?php if($_GET['slet'] == "besked") { if($_GET['id']) { mysql_query("DELETE FROM gbog WHERE ID = '".$_GET['id']."' LIMIT 1"); } } if($_POST['skriv']){ if(!$_POST['navn']) { echo "Du skal skrive et navn!"; } elseif(!$_POST['kom']) { echo "Du skal skrive en besked!"; } else{ $_POST["kom"] = str_replace("<", "<", $_POST["kom"]); $_POST["kom"] = str_replace(">", ">", $_POST["kom"]); $_POST["kom"] = str_replace("\\", "\\\\", $_POST["kom"]); mysql_query("INSERT INTO gbog (id, bruger, name, mail, comment) VALUES ('".$_POST['id']."','".$_GET['bruger']."','".$_POST['navn']."','".$_GET['email']."','".$_POST['kom']."')"); } } ?> <? $query = mysql_query("SELECT * FROM gbog WHERE bruger='".$_GET['bruger']."' ORDER BY id DESC") or die(mysql_error()); while($row = mysql_fetch_array($query)) { $row["COMMENT"] = str_replace(" ", "<br />", $row["COMMENT"]); $row["COMMENT"] = preg_replace( "#\[url=(.+?)\](.+?)\[/url\]#is", "<a target='_blank' href='\\1'>\\2</a>", $row["COMMENT"]); $row["COMMENT"] = preg_replace( "#\[url\](.+?)\[/url\]#is", "<a target='_blank' href='\\1'>\\1</a>", $row["COMMENT"]); $row["COMMENT"] = preg_replace( "#\[img\](.+?)\[/img\]#is", "<img src='\\1' alt='' border='0' />", $row["COMMENT"]); $row["COMMENT"] = preg_replace( "#\[b\](.+?)\[/b\]#is", "<b>\\1</b>", $row["COMMENT"]); $row["COMMENT"] = preg_replace( "#\[i\](.+?)\[/i\]#is", "<i>\\1</i>", $row["COMMENT"]); $row["COMMENT"] = preg_replace( "#\[u\](.+?)\[/u\]#is", "<u>\\1</u>", $row["COMMENT"]); echo "<table> <tr> <td class='comment'><b><a href='?side=profil/bruger.php&bruger=" .$row["name"]."'>".$row["name"] ."</a></b> <a href='?side=profil/gbog.php&bruger=" .$row["name"]."'>SVAR</a> <hr>".$row["COMMENT"] ."</td>"; if($navn == $row[bruger]) { /* <---- Hvor $navn så er navnet på den bruger man er fx Peter. og $row[bruger] er navnet på den person hvis gæstebog peter kigger på. */ echo '<a href="dinside.php?slet=besked&id='.$row['id'].'">Slet besked</a>'; } echo "</tr></table><br />"; } ?>
22. december 2004 - 23:24
#21
hmm.. Nu mangler linket til at slette?
22. december 2004 - 23:29
#22
Mig der lavede en dum fejl.. Havde glemt at skrive: $navn = $_SESSION['bruger']; i filen.
22. december 2004 - 23:30
#23
hehe
22. december 2004 - 23:34
#24
du kan også bare skrive if($_SESSION['bruger'] == $row[bruger]) istedet. Så er det nemmere at holde styr på i længden. Da man ikke har for mange variabler der indeholder detsamme.
23. december 2004 - 00:05
#25
der er stadig et problem :( Det der link komemr kun frem nogle gange :( Ved du hvorfor?
23. december 2004 - 01:23
#26
kommer det kun frem nogle gange?, altså ikke ved alle indlæg? eller er det nogle gange når man går ind på siden?
23. december 2004 - 01:37
#27
et lille råd, mens i roder med det... Brug ' ' i array-keys, uanset hvilke: $row['blah'] $_GET['blah'] $_SERVER['blah'] $_SESSION['blah'] ...det er sådan det skal skrives! :) ...god lille-juleaften
23. december 2004 - 10:41
#28
stefmeiser: et kommer kun frem ved nogle beskeder. Ikke alle sammen. Og så kan en anden bruger også f.eks slette mine beskeder.
23. december 2004 - 16:04
#29
skriver du sådan her: if($_SESSION['bruger'] == $row[bruger]) eller sådan her: if($navn == $row[bruger]) ???
23. december 2004 - 21:34
#30
if($_SESSION['bruger'] == $row[bruger]) {
24. december 2004 - 00:02
#31
hmm.... det lyder da mystisk... prøv at lave et dump af din tabel, så jeg kan prøve på min egen maskine hvad der kan være galt.
24. december 2004 - 13:24
#32
lave en hvad for noget? :D Sorry.. Skal jeg bare kopire alle mine data fra min mysql tabel herind eller hvad? :D Go' jul! ;)
24. december 2004 - 16:23
#33
ja... exportere den. Når man exportere en database, så får man et dump. Et dump fra databasen :D
25. december 2004 - 12:40
#34
# # Struktur dump for tabellen `gbog` # CREATE TABLE `gbog` ( `id` int(11) NOT NULL auto_increment, `bruger` text NOT NULL, `name` text NOT NULL, `tid` text NOT NULL, `COMMENT` longtext NOT NULL, `dato` text NOT NULL, PRIMARY KEY (`id`) ) TYPE=MyISAM AUTO_INCREMENT=12 ; # # Data dump for tabellen `gbog` # INSERT INTO `gbog` VALUES (9, 'Klubba', 'klubba', '11:12', 'dgdfgdgdfgsdgdfsgsdfgaglæjaglækjagl ajgæ kljg alkgjfl gkjafklgjaklæ dfgjlæakgjkladfjg læakfjgajækljdfgæiodfj goijdgiogjædojgiodrjgtadkogjjoæagiaioøå godf hgæaldhgæadklfhglæakdfhgoæadkgjoaidgj æaodgjækladfgj læakj flægkjadægijrjl asknfioHE FIHSAOFHSAÆGHAØOGIHIODHG DFLØHGLAKGJDFOIG AIOGD AKLDJGKLJOIAJG ØÅO', '23/12/2004'); INSERT INTO `gbog` VALUES (5, 'Mr-Xmas', 'kack', '00:32', 'Heh.. iorden :D\r\n\r\nSnakkes ;) ', '23/12/2004'); INSERT INTO `gbog` VALUES (10, 'Klubba', 'klubba', '11:12', 'Det var alle sammen tests :D', '23/12/2004'); INSERT INTO `gbog` VALUES (11, 'Kack', 'mr-xmas', '14:41', 'Jeg har magt over kack haha :D hehe :) ej hvad så kack :D', '23/12/2004');
25. december 2004 - 21:31
#35
Jeg er lige kommet hjem fra julefrokost, og skal på arbejde her om lidt, så kigger lige på det imorgen.
26. december 2004 - 15:57
#36
prøv at poste hele din kode...
05. april 2005 - 20:29
#37
Har droppet det community, så i får begge point :)
Vi tilbyder markedets bedste kurser inden for webudvikling