Avatar billede henrik_nielsen Nybegynder
19. april 2005 - 13:12 Der er 3 kommentarer og
1 løsning

admins - slet beskederne 2

Hej eksperter :-).

Jeg har en tagwall hvor jeg gerne ville have lavet sådan at hvis man er admin (ejer, redaktør) kan slette hver enkelt besked, og osse tømme hele tagwallen. Kan det ladde sig gøre?

Mit script ser således ud:

<?
session_start();
if (session_is_registered("brugernavn") AND ("kodeord")) {
include "config.php";
$hent = mysql_query("SELECT * FROM community_avis WHERE brugernavn = '$_SESSION[brugernavn]'") or die(mysql_error());
$vis = mysql_fetch_array($hent);
?>

<?
include("drop.php");
?>
<hr>
<?
if($_POST[action] == "skriv") {
if($_POST[tekst] == "") {
print "<font color=red>Du mangler at skrive en besked!</font><br><br>";
}else{
include "config.php";
$admin = mysql_query("SELECT * FROM community_avis WHERE brugernavn = '$_SESSION[brugernavn]'") or die(mysql_error());
$vis_admin = mysql_fetch_array($admin);

$navn = $_SESSION[brugernavn];
$farve = $_POST[farve];
$tekst = htmlspecialchars($_POST[tekst]);
$dato = date('d/m/Y H:i:s');
$ip = $_SERVER[REMOTE_ADDR];
mysql_query("INSERT INTO tagwall_avis (navn, dato, tekst, farve, ip) VALUES ('$navn', '$dato', '$tekst', '$farve', '$ip')");
}
}
?>

<b>Besked:</b><br>
<form action="index.php" method="post">
<input type="hidden" name="action" value="skriv">
<?
include "config.php";
$admin = mysql_query("SELECT * FROM community_avis WHERE brugernavn = '$_SESSION[brugernavn]'") or die(mysql_error());
$vis_admin = mysql_fetch_array($admin);
if($vis_admin[status] == "ejer") {
print "<input type='hidden' name='farve' value='BLUE'>";
}
if($vis_admin[status] == "redaktør") {
print "<input type='hidden' name='farve' value='#3C607E'>";
}
if($vis_admin[status] == "chef reporter") {
print "<input type='hidden' name='farve' value='GREEN'>";
}
if($vis_admin[status] == "reporter") {
print "<input type='hidden' name='farve' value='RED'>";
}
if($vis_admin[status] == "prøve reporter") {
print "<input type='hidden' name='farve' value='ORANGE'>";
}
if($vis_admin[status] == "reklamør") {
print "<input type='hidden' name='farve' value='77A07D'>";
}
if($vis_admin[status] == "normal") {
print "<input type='hidden' name='farve' value='BLACK'>";
}
if($vis_admin[status] == "supporter") {
print "<input type='hidden' name='farve' value='#4BB130'>";
}
?><input type="text" name="tekst" size="20" style="border: 1px solid #000000"><br>
<input type="submit" name="submit" value="Tag it" style="border:1px solid #000000; font-size:12; background-color:#FFFFFF">
<input type="reset" name="reset" value="Forfra" style="border-style: solid; border-width: 1px; font-size:12; background-color:#FFFFFF">&nbsp;
<button class="button" onclick="window.location='index.php'" style="font-size: 12; border: 1px solid #000000; background-color: #FFFFFF">
Opdater
</button></form>
<a href="index.php?vis=nyeste">Vis 20 nyeste</a> - <a href="index.php?vis=50nyeste">Vis 50 nyeste</a> - <a href="index.php?vis=alle">Vis alle</a>
<br>
<?

$num = mysql_query("SELECT * FROM tagwall_avis ORDER BY id DESC");
$all_tags = mysql_num_rows($num);
echo("Tags ialt <b>".$all_tags."</b>.");
?>
&nbsp;
<?
$query = mysql_query("SELECT * FROM tagwall_avis WHERE navn = '$_SESSION[brugernavn]'") or die(mysql_error());
$you_tags = mysql_num_rows($query);
echo("Du har skrevet <b>".$you_tags."</b> tags.");
?>
<br><br>
<?
if($_GET[vis] == "" OR $_GET[vis] == "nyeste") {
include("config.php");
$hent_beskeder = mysql_query("SELECT * FROM tagwall_avis ORDER BY id DESC LIMIT 20") or die(mysql_error());
while($vis_beskeder = mysql_fetch_array($hent_beskeder)) {
?>
<hr>
<a href="seprofil.php?brugernavn=<? echo $vis_beskeder[navn]; ?>"><b><font color="<? echo $vis_beskeder[farve]; ?>"><? echo $vis_beskeder[navn]; ?></font></b></a>
- D. <? echo $vis_beskeder[dato]; ?><br>
<? echo $vis_beskeder[tekst]; ?><br>
<?
}
}
if($_GET[vis] == "alle") {
include "config.php";
$hent_beskeder = mysql_query("SELECT * FROM tagwall_avis ORDER BY id DESC") or die(mysql_error());
while($vis_beskeder = mysql_fetch_array($hent_beskeder)) {
?>
<hr>

<a href="seprofil.php?brugernavn=<? echo $vis_beskeder[navn]; ?>"><b><font color="<? echo $vis_beskeder[farve]; ?>"><? echo $vis_beskeder[navn]; ?></font></b></a>
- D. <? echo $vis_beskeder[dato]; ?><br>
<? echo $vis_beskeder[tekst]; ?><br>
<?
}
}
if($_GET[vis] == "50nyeste") {
include "config.php";
$hent_beskeder = mysql_query("SELECT * FROM tagwall_avis ORDER BY id DESC LIMIT 50") or die(mysql_error());
while($vis_beskeder = mysql_fetch_array($hent_beskeder)) {
?>
<hr>

<a href="seprofil.php?brugernavn=<? echo $vis_beskeder[navn]; ?>"><b><font color="<? echo $vis_beskeder[farve]; ?>"><? echo $vis_beskeder[navn]; ?></font></b></a>
- D. <? echo $vis_beskeder[dato]; ?><br>
<? echo $vis_beskeder[tekst]; ?><br>
<?
}
}
?>

</html><?
}else{
print "<link rel='stylesheet' HREF='style.css' type='text/css'><font color=red>Du skal være logget ind for at kunne skrive i tagwallen!</font>";
}
?>

Håber nogen kan hjælpe. Det må gerne stå sådan her vedsiden af navnet f.eks. Dounie - d. 18/04/2005 - Slet besked

Tak på forhånd.
Avatar billede Daniel.E Praktikant
19. april 2005 - 13:19 #1
Nu samler jeg ikke på points, man hvis man gør tror jeg ikke at nolge gider at hjælpe med dit problem for 15 points.

Koden du viser er ikke specielt godt vist, og ikke særlig overskuelig.


Men det kan godt lade sig gøre det du snakke om.  Jeg kan komme med et par forslag som du nemt selv kan kode ind.

For at slette en besked skal du have den Unique ID fra databasen med.

<a href="delete.php?id=2">Delete</a>


delete.php
----------
if(isset($_GET["id"]) && $_GET["id"]) {
  mysql_query("DELETE FROM table WHERE id='".$_GET["id"]."'") or die("Mysql ERROR");
} else if(isset($_GET["del_all"]) && $_GET["del_all"]) {
  mysql_query("TRUNCATE <DIT_TABLE>")or die("Mysql ERROR");
}

header("Location:index.php");




Hvis du vil slette alle beskeder på en gang skal du sende noget ligende:

<a href="delete.php?del_all">Delete ALL</a>


Det er sådan set de basale, så skal du bare selv klippe klistre det ind.

Hvis du kan bruge min kommentar, skal du ikke give mig points.  Jeg samler ikke, giv mig hellere noget karma :)


Håber du finder en løsinng.
Avatar billede henrik_nielsen Nybegynder
19. april 2005 - 13:27 #2
hvad skal jeg ændre ved TRUNCATE <DIT_TABLE> ?
Avatar billede henrik_nielsen Nybegynder
19. april 2005 - 17:44 #3
dooh, ikke flere svar...
Avatar billede Daniel.E Praktikant
20. april 2005 - 08:45 #4
--> hvad skal jeg ændre ved TRUNCATE <DIT_TABLE> ?

hehe... det er så ligetil som det kan være... DIT_TABLE...  :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester