Avatar billede mr-xmas Nybegynder
13. juli 2005 - 00:12 Der er 26 kommentarer

Kun slet sine beskeder

jeg har en community hvor alle bruger har sin gb men jeg har et problem for jeg vil gerne have så man kan slette sine ejene beskeder
men hvordan laver man så slet kun kommer ved sin ejen gb?
Avatar billede jaw Nybegynder
13. juli 2005 - 00:14 #1
Enten skal du have, så brugerne kun kan tilgå ét bibliotek pr. bruger, eller definere egerskabet af filerne i en database.
Avatar billede mr-xmas Nybegynder
13. juli 2005 - 00:15 #2
hvis jeg skriver koden til min gb altså php kode
vil du prøve at se?
Avatar billede jaw Nybegynder
13. juli 2005 - 00:16 #3
Tjoh, det kan jeg da måske nok...
Avatar billede mr-xmas Nybegynder
13. juli 2005 - 00:21 #4
Avatar billede jaw Nybegynder
13. juli 2005 - 00:27 #5
Så skal du vel ud i noget a'la:

if($_GET['id'] == $_SESSION['brugernavn']) {
  echo "[ <a href='delete.php?id=$id'>Slet</a> ]";
}

delete.php:
select den igen, og krydscheck på samme måde som ovenfor. Derefter deletes den bare...
Avatar billede mr-xmas Nybegynder
13. juli 2005 - 00:36 #6
det virker ikke helt det der :( den skriver ikke slet selv om det er min gæstebog
Avatar billede jaw Nybegynder
13. juli 2005 - 00:38 #7
Nå nej:

if($felt-fra-databasen-der-indeholder-brugernavn == $_SESSION['brugernavn']) {
Avatar billede mr-xmas Nybegynder
13. juli 2005 - 00:41 #8
nu er det jo sådan min gb køre på id så hvis en bruger skulle skifte brugernavn så beholder den beskederne så må den jo skal hente id eller?
Avatar billede jaw Nybegynder
13. juli 2005 - 00:43 #9
Ja, ja, hvis du har en session med brugerid'et og et felt i tabellen med forfatterens id, så vil det være ret naturligt at bruge de 2.
Avatar billede mr-xmas Nybegynder
13. juli 2005 - 00:49 #10
ja men jeg ved ikke hvordan jeg får fat i brugerid gennem session:(
Avatar billede jaw Nybegynder
13. juli 2005 - 00:55 #11
Den må du jo så enten sætte den endnu en session med hans brugerid når han logger ind, eller du må lave en forespørgsel i din database og få id'et ud.
Avatar billede mr-xmas Nybegynder
13. juli 2005 - 01:32 #12
synttes ikke rigtig jeg kan få det til at virke :(
Avatar billede jaw Nybegynder
13. juli 2005 - 01:34 #13
Så må du vente til i morgen hvis jeg skal hjælpe dig. Jeg er ikke klar nok til at skulle læse hele din kode igennem for at gennemskue hvor og hvordan der skal ændres...

Synes ellers jeg gav dig nogen gode ledetråde/ideer :) Natter...
Avatar billede mr-xmas Nybegynder
13. juli 2005 - 01:35 #14
:) ja du er nu god til at hjælpe andre det skal du have :) os glad for det
Avatar billede kack Nybegynder
13. juli 2005 - 11:55 #15
Jeg har lavet det på denne måde:

if($_GET['slet'] == "besked") {
if($_GET['id']) {
  mysql_query("DELETE FROM com_gb WHERE ID = '".$_GET['id']."' LIMIT 1");
}
}




Og så formen:

<form action="?side=profil/gb.php&bruger='.$HTTP_GET_VARS[bruger].'" method="post" name="slet"><INPUT TYPE="hidden" name="id" value="' .$row["id"].'"><input class="inp1"type="submit" value="Slet" name="slet"></form>
Avatar billede kack Nybegynder
13. juli 2005 - 11:56 #16
Også skriver jeg noget forkert :S

Det her er min form:

if($_SESSION['bruger'] == $HTTP_GET_VARS[bruger]) {
echo '


<form action="?side=profil/gb.php&bruger='.$HTTP_GET_VARS[bruger].'" method="post" name="slet"><INPUT TYPE="hidden" name="id" value="' .$row["id"].'"><input class="inp1"type="submit" value="Slet" name="slet"></form>';
}
echo "</tr></table><br />";
}
?>
Avatar billede mr-xmas Nybegynder
13. juli 2005 - 12:04 #17
kack den køre jo over id det er det som er problemet for hvis den ikke køre over id så kan man jo ikke skift brugernavn
Avatar billede mr-xmas Nybegynder
13. juli 2005 - 20:44 #18
jaw kunne du hjælpe mig med det :)
Avatar billede jaw Nybegynder
14. juli 2005 - 08:42 #19
Jep, kan jeg godt. Men et par spørgsmål og kommentarer først:

1. Har du brugerens id liggende i en session? Er det $_SESSION['senderid'], $_SESSION['bruger'] eller hvad?

2. Det vil gøre det nemmere, pænere og bedre at bruge $_POST[], $_GET[] og $_SESSION[] i stedet for bare at smide $_REQUEST[] ind.
Avatar billede jaw Nybegynder
14. juli 2005 - 08:47 #20
Mit forsøg vil være:

<?php
include("dbconnect.php");

$result = mysql_query("SELECT id FROM users WHERE id = '".$_GET['id']."'");
while ($row = mysql_fetch_array($result)){
extract($row);

}
$result = mysql_query("SELECT brugernavn FROM users WHERE brugernavn = '$_SESSION[brugernavn]'");
while ($rows = mysql_fetch_array($result)){
extract($rows);
?>
<form  method="post" action="?side=bruger/gb.php&id=<?php echo("$id"); ?>">
  <p align="center">
      <input name="sender" type="hidden" value="<?php echo("$brugernavn"); ?>">
            <input name="senderid" type="hidden" value="<?php echo("$id"); ?>">
      <br>
      <textarea name="besked" cols="45" rows="7" value="besked"></textarea>
      <br>
      <input type="submit" name="opret" value="Opret besked">
      <input type="hidden" name="bruger" value="<?php echo("$id"); ?>">
</p>
  </form>
 
<?php
require("config.php");
$opret = $_REQUEST['opret'];
if(empty($opret)) {
  print "Du skal skrive en besked før du sender :-)"
  ?>
  <?php
  } else {
$kon = $_REQUEST['kon'];
$sender = $_REQUEST['sender'];
$bruger = $_REQUEST['bruger'];
$senderid = $_REQUEST['senderid'];
$besked = $_REQUEST['besked'];
$besked = str_replace("  "," &nbsp;", nl2br(htmlentities(addslashes($besked))));
    $dato = date("Y-m-d");
    $tid = date("H:i ");
if(empty($sender) OR empty($besked)) {
    echo 'Du skal skrive noget :-) ';} 
    else {
mysql_connect($mysql_host, $mysql_user, $mysql_pw);
mysql_select_db($mysql_db);
mysql_query("insert into gb (sender, bruger, besked, dato, tid, kon, senderid, opret) values ('$sender', '$bruger', '$besked', '$dato', '$tid', '$kon', '$senderid', '$opret')")
or die(mysql_error());
print "Din besked er nu skrevet :-)";
?>
<?php
}
}
?>
<div align="center"><br>
    <?php
    $result = mysql_query("SELECT * FROM users WHERE id = '".$_GET['id']."'");
while ($row = mysql_fetch_array($result)){
extract($row);

    ?>
    <?php
$eialt1 = mysql_result(mysql_query("SELECT COUNT(*)  FROM gb WHERE bruger='".$_GET['id']."'"),0);
$eialt2 = mysql_result(mysql_query("SELECT COUNT(*)  FROM gb WHERE sender='".$_GET['id']."'"),0);
echo "Der er skrevet $eialt1 beskeder i ".$_GET['brugernavn']."'s gæstebog. ".$_GET['brugernavn']." har skrevet $eialt2 beskeder i andres gæstebøger.<br/>";
?>
<?php
$resultat = mysql_query("SELECT * FROM gb WHERE bruger = '".$_GET['id']."' ORDER BY id DESC");
while ($rows = mysql_fetch_array($resultat)){
extract($rows);
    $besked = $besked;
    $besked = str_Replace(";)","<img src='smiley/wink.gif'>",$besked);
    $besked = str_Replace(":D","<img src='smiley/smil.gif'>",$besked);
    $besked = str_Replace(":-D","<img src='smiley/smil.gif'>",$besked);
    $besked = str_Replace(":)","<img src='smiley/glad.gif'>",$besked);
    $besked = str_Replace(":-)","<img src='smiley/glad.gif'>",$besked);
    $besked = preg_replace("/\[b\](.*)\[\/b\]/isU","<b>\\1</b>", $besked);
    $besked = preg_replace("/(\s|\")?([a-z0-9][a-z0-9.-_]*[a-z0-9]@[a-z0-9]([a-z0-9.-]*[a-z0-9])?\.[a-z]{2,4})/i","\\1<a href=\"mailto:\\2\">\\2</a>",$besked);
    $besked = preg_replace("/(\s)?((f|ht)tp:\/\/[a-z0-9]([a-z0-9.-]*[a-z0-9])?\.[a-z]{2,4}(\/?[^<>\s]*[^\s<>.,])?)/i","\\1<a href=\"\\2\">\\2</a>",$besked);
    $besked = preg_replace("/(\s)(www\.[a-z0-9]([a-z0-9.-]*[a-z0-9])?\.[a-z]{2,4}(\/?[^<>\s]*[^\s<>.,])?)/i","\\1<a href=\"http://\\2\">\\2</a>",$besked);
?>

  </p>
    <table width="400" border="1" bgcolor="#FFFFFF" cellspacing="0" cellpadding="0" bordercolorlight="#C0C0C0" bordercolordark="#C0C0C0">
    <tr>
      <th bgcolor="#CCCCCC"><div align="left"><?php echo("$dato"); ?> Kl. <?php echo("$tid"); ?> - <a href="?side=bruger/profil.php&id=<?php echo("$sender"); ?>"><?php echo("$sender"); ?></a></div></th>
    </tr>
    <? if($sender == $_SESSION['brugernavn']) {
        echo"<tr><td>[ <a href='slet.php?id=".$id."'>slet</a> ]";
    }
    ?>
    <tr>
      <td height="50" valign="top"><?php echo stripslashes($besked); ?></td>
    </tr>
    </table>
</div>
<?php
}
}
}
?>
Avatar billede mr-xmas Nybegynder
14. juli 2005 - 12:23 #21
nu kan man kun slette dem beskeder man selv har skrevet i alles gæstebog :)
Avatar billede jaw Nybegynder
14. juli 2005 - 14:49 #22
Var det ikke det der var meningen? At man kunne slette de indlæg, man selv har skrevet?
Avatar billede mr-xmas Nybegynder
15. juli 2005 - 19:48 #23
nej.. :)
det skulle være ham som ejede gæstebogen der skulle kunne slette dem..
nu kan man slette de beskeder man selv har skrevet :D
Avatar billede jaw Nybegynder
16. juli 2005 - 13:00 #24
så ret denne:

<? if($sender == $_SESSION['brugernavn']) {

til:

<? if($bruger == $_SESSION['brugernavn']) {

...så tror jeg det bliver lidt bedre...
Avatar billede jaw Nybegynder
22. juli 2005 - 12:16 #25
Hvad er du så kommet frem til???
Avatar billede jaw Nybegynder
22. august 2005 - 00:23 #26
Hallo?
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