Avatar billede jens12 Nybegynder
05. december 2005 - 21:34 Der er 30 kommentarer og
1 løsning

Erstat :D Med smiley-billede

Hej i eksperter...Jeg har et bruger system,hvor vær bruger har vær deres gæstebog...Nu vil jeg så gerne tilføje en funktion som erstatter :D med et smiley-billede...Ved godt det skal kodes med str_replace,men jeg ved ikke hvordan det skal gøres...Og så kommer mit andet spørgsmål,Hvordan kan jeg lave en funktion,hvor brugeren kan slette de beskeder som bruger har fået fra andre brugere?
Database taqwall:
CREATE TABLE `taqwall` (
  `id` int(11) NOT NULL auto_increment,
  `til` varchar(255) NOT NULL default '',
  `fra` varchar(255) NOT NULL default '',
  `besked` varchar(255) NOT NULL default '',
  `dato` varchar(255) NOT NULL default '',
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=11 ;

Koden til gæstebogen:


<?php
include("menu.php");
?>
<?php
include_once("connect.php");
$db_profil = mysql_query("select * from brugere where brugernavn = '$_GET[b]'");
$profil = mysql_fetch_array($db_profil);
if($_GET['admin'] == "1"){
if($_SESSION['Rang'] == "Admin"){
mysql_query("UPDATE brugere SET status= '". mktime() ."' WHERE brugernavn = '$_SESSION[brugernavn]'");
mysql_query("UPDATE brugere SET Rang = 'Admin' where id = '$_GET[bruger]'");
print "Brugeren blev gjort til admin!";
}
}
?>
<html>
<head>
<title>Profil</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link rel="stylesheet" href="http://www.mvf.frac.dk/sty1e2.css" type="text/css" />
<style type="text/css">
<!--
.style3 {font-size: large}
-->
</style>
</head>

<body>
<table width="100%" border="0">
  <tr>
    <td width="253" height="164" valign="top"><?php if($profil['billede'] != ""){ ?>
      <a href="<?php print $profil['billede'] ?>"><img src="<?php print $profil['billede'] ?>" width="100" height="100" border="0"></a>
    <?php }else{ ?>(Intet billede!)<?php } ?></td>
    <td width="732" valign="top"><div align="left">
      <table width="100%" border="0">
        <tr>
          <td width="14%">Brugernavn:  </td>
          <td width="28%"><?php print $profil['brugernavn'] ?></td>
          <td width="58%"><span class="style3">Point: <?php print $profil['point'] ?> </span></td>
          </tr>
        <tr>
          <td>Navn:</td>
          <td><?php print $profil['navn'] ?></td>
          <td>&nbsp;</td>
          </tr>
        <tr>
          <td>K&oslash;n:</td>
          <td><?php print $profil['kon'] ?></td>
          <td>&nbsp;</td>
          </tr>
        <tr>
          <td>Civilstatus</td>
          <td><?php print $profil['civilstatus'] ?></td>
          <td>&nbsp;</td>
          </tr>
        <tr>
          <td>Alder:</td>
          <td><?php print $profil['alder'] ?> &aring;r.</td>
          <td>&nbsp;</td>
          </tr>
        <tr>
          <td>Fritid:</td>
          <td><?php print $profil['fritid'] ?></td>
          <td>&nbsp;</td>
        </tr>
        <tr>
          <td>Landsdel:</td>
          <td><?php print $profil['landsdel'] ?></td>
          <td>Status:<?php
          session_start();
include_once("connect.php");
$online = mysql_query("SELECT * FROM brugere WHERE brugernavn = '[brugernavn]'");

while($row = mysql_fetch_array($online))
    {
    print "Denne profil er:";
    if($row['status']>mktime(-300))
      {
      print "Online";
      }
      else
        {
        print "Offline";
            }
   
   
    }
?>
        </td>
        </tr>
      </table>
      </div>
    </td>
  </tr>
</table>
<table width="100%" height="154" border="1">
  <tr>
    <td height="111" valign="top"><?php print $profil['navn'] ?>&acute;s Profil: </td>
  </tr>
  <tr>
    <td valign="top"><a href="http://mwf.frac.dk/community/redigerProfil.php"></a></td>
  </tr>
</table>
<br>
<p><strong>G&aelig;stebog:</strong></p>
<table width="400" border="0">
<?php
$q2 = mysql_query("select * from taqwall where til = '$profil[id]'");
while($taqwall = mysql_fetch_array($q2)){
$q3 = mysql_query("DELETE FROM taqwall WHERE id = '$_GET[besked]'");
?>
  <tr>
    <td width="195" bgcolor="#4D73C3">&nbsp;</td>
    <td width="195" bgcolor="#4D73C3">Dato: <?php print $taqwall['dato'] ?></td>
  </tr>
  <tr bgcolor="#CCCCCC">
    <td colspan="2" bgcolor="#FFFFFF">Brugernavn: <?php print $taqwall['fra'] ?></td>
  </tr>
  <tr bgcolor="#CCCCCC">
    <th colspan="2" bgcolor="#FFFFFF"><?php print $taqwall['besked'] ?>    th>
  </tr>
<?php
}
?>
</table>
<p> <a href="taqwall.php?do=skriv&id=<?php print $profil['id'] ?>&bruger=<?php print $profil['brugernavn'] ?>">Skriv
  i denne g&aelig;stebog! </a></p>
<?php
if($profil['brugernavn'] == $_SESSION['Brugernavn']){
?>
<p><a href="editprofil.php?id=<?php print $profil['id'] ?>">Ret profil!</a></p>
<?php
}
?>
</body>
</html>
Avatar billede jakobdo Ekspert
05. december 2005 - 21:53 #1
Selve din replace kan du lave med:
$tekst = str_replace(":D","<img src=\"smiley1.gif\">",$tekst);
$tekst = str_replace(":o)","<img src=\"smiley2.gif\">",$tekst);

Eller sådan:

$search = array (":D",
                ":o)");

$replace = array ("<img src=\"smiley1.gif\">",
                "<img src=\"smiley2.gif\">");

$text = preg_replace($search, $replace, $document);

Selve det med at slette, er hvis den indloggede bruger kigger i sin egen gæstebog, så skal der laves en SLET knap ved hvert indlæg.

Når så der trykkes på SLET, skal du lave en funktion som sletter det indlæg, f.eks.
slet.php?id=3 (hvor 3 er id på det indlæg som skal slettes)
Inden det slettes, skal der igen tjekkes om den som forsøger slette også må slette det, altså det er hans gæstebog han forsøger slette i.
Avatar billede ajenbo Nybegynder
05. december 2005 - 21:54 #2
# text smilys
$match=array(":/",";-F");
# billed smilys
$replace=array(    "<img src=\"emoticons/71_71.gif\">",
                "<img src=\"emoticons/smily2.gif\">"
                );

str_replace($match,$replace,$text);
Avatar billede jens12 Nybegynder
05. december 2005 - 22:08 #3
Til Jakobdo og ajenbo...Ingen af jeres forslag virker.... Ved ajenbo kommer der den fejl her :

Warning: preg_replace() [function.preg-replace]: No ending delimiter ':' found in /web/www/frac/users/mwf/community/profil.php on line 114

Warning: preg_replace() [function.preg-replace]: No ending delimiter ':' found in /web/www/frac/users/mwf/community/profil.php on line 114
  Dato: 05/12/05 21:59:38
Brugernavn: test
test:D

Warning: preg_replace() [function.preg-replace]: No ending delimiter ':' found in /web/www/frac/users/mwf/community/profil.php on line 114

Warning: preg_replace() [function.preg-replace]: No ending delimiter ':' found in /web/www/frac/users/mwf/community/profil.php on line 114
Kan i ikke skrive hvor jeg skal indsætte koden som i har givet mig ? eller er det ligemeget?
Avatar billede ajenbo Nybegynder
05. december 2005 - 22:57 #4
<?php
$taqwall['besked'] = "test :D";

$match=array(':D');
$replace=array('<img src="http://boomtown.net/da_dk/fora/smileys/3.gif">');
echo str_replace($match,$replace,$taqwall['besked']);
?>
Avatar billede jens12 Nybegynder
05. december 2005 - 23:13 #5
Til ajenbo .Den viser bare bare teksten : test :D
Når jeg så går ind og tilføje en besked til gæstebogen med smileyen står der bare min tekst :D og den viser ikke billedet....Håber du forstår..
Avatar billede ajenbo Nybegynder
06. december 2005 - 00:14 #6
Du må implementere den forkert på en eller ande måde for hvis du tager og laver en fil med kun den kode jeg har givet dig dere kommer der test og et smily billed.

umildbart vilde jeg sige at du bare skal indsætte

$match=array(':D');
$replace=array('<img src="http://boomtown.net/da_dk/fora/smileys/3.gif">');

lidt før hvor $taqwall['besked'] er nu og skifte $taqwall['besked'] ud med str_replace($match,$replace,$taqwall['besked'])
Avatar billede jens12 Nybegynder
06. december 2005 - 15:58 #7
Til Ajenbo...Det virker ajenbo:D..Hvordan tilføjer jeg så flere smileys? Og kan du hjælpe mig med det andet spørgsmål jeg stillede?
Avatar billede jakobdo Ekspert
06. december 2005 - 16:00 #8
Har du læst hvad jeg skrev i første indlæg?
Det tyder det ikke på!
Avatar billede jens12 Nybegynder
06. december 2005 - 16:04 #9
Jeg har læst det du skrev jakobdo...Men ved sku ikke lige hvordan jeg skal lave det...For mig er det mega langt ude at lave sådan en funktion...Jeg er ikke en den store php nørd:P
Avatar billede jakobdo Ekspert
06. december 2005 - 16:09 #10
Hvorfor så gå i gang med sådan et projekt? :o/
Avatar billede jens12 Nybegynder
06. december 2005 - 16:35 #11
Til jakobdo,Vil du hjælpe mig eller vil du ikke?
Avatar billede jakobdo Ekspert
06. december 2005 - 17:05 #12
Når du skriver hjælpe, mener du så lave din kode, eller give dig hints?
Avatar billede ajenbo Nybegynder
06. december 2005 - 17:07 #13
//Tekst smilys.
$match=array(
':D',
':)',
':(',
';)'
);

//billed smilys
$replace=array(
'<img src="http://boomtown.net/da_dk/fora/smileys/3.gif">',
'<img src="http://boomtown.net/da_dk/fora/smileys/1.gif">',
'<img src="http://boomtown.net/da_dk/fora/smileys/6.gif">',
'<img src="http://boomtown.net/da_dk/fora/smileys/2.gif">'
);

(læk mærke til at den sidste smily ikke ar , ved enden af linjen.
Avatar billede jens12 Nybegynder
06. december 2005 - 17:26 #14
1000 tak. For smiley funktionen...Kan du hjælpe mig med en slette funktion sån at brugeren(som er logget ind) kan slette de beskeder som han har fået af en anden bruger?
Avatar billede jens12 Nybegynder
06. december 2005 - 17:32 #15
Til jakobdo,Jeg tror jeg er god nok til at lave koden færdig,hvis du bare giver mig nogle hints/oplysninger hvordan det skal laves..Men hvis du synes at de 90 point er nok til at lave min kode..Så må du da gerne lave min kode...Det er dit valg?
Avatar billede jakobdo Ekspert
06. december 2005 - 17:40 #16
Jeg vil jo helst give dig hints som jeg endnu engang synes jeg gjorde i mit første indlæg.
Har du forsøgt at bikse noget sammen ud fra mine ideer?
Avatar billede jens12 Nybegynder
06. december 2005 - 17:47 #17
Ja,jeg har lige fået noget bikset sammen og det virkede sku også...:D
Avatar billede jakobdo Ekspert
06. december 2005 - 18:16 #18
Er det ikke en fed fornemmelse? :o)
Avatar billede ajenbo Nybegynder
06. december 2005 - 18:52 #19
:D
Avatar billede jakobdo Ekspert
06. december 2005 - 18:55 #20
Jeg ved ikke noget federe end at have et problem, sidde og rive sig i håret en times tid, og så lige pludselig: Aha, jeg kunne jo godt selv! (det er sådanne ting som gør livet værd at leve) ;o)
Avatar billede jens12 Nybegynder
06. december 2005 - 19:30 #21
Joo...Selvfølgelig er det det...Men jeg gerne se nogle hints så jeg kan prøve at lege med det...
Avatar billede ajenbo Nybegynder
07. december 2005 - 10:14 #22
Det var sådan jeg oprindligt laved den der smily funktion, der var ingen der gad hjælpe mig og mange der sage at det burde man ikke gøre og at det ikke vile virke, ved ikke lige hvor for de syndes det...
Avatar billede jens12 Nybegynder
07. december 2005 - 17:27 #23
Kan i give mig nogle hints til slette funktionen jeg spurgte om?
Avatar billede jakobdo Ekspert
07. december 2005 - 17:58 #24
Selve det med at slette, er hvis den indloggede bruger kigger i sin egen gæstebog, så skal der laves en SLET knap ved hvert indlæg.

Når så der trykkes på SLET, skal du lave en funktion som sletter det indlæg, f.eks.
slet.php?id=3 (hvor 3 er id på det indlæg som skal slettes)
Inden det slettes, skal der igen tjekkes om den som forsøger slette også må slette det, altså det er hans gæstebog han forsøger slette i.

<?php
//slet.php
require("connect.php");
$id = mysql_real_escape_string($_GET['id']);
mysql_query("DELETE FROM guestbook WHERE id = $id AND owner = $_SESSION['userid'] LIMIT 1");
?>
Avatar billede jens12 Nybegynder
07. december 2005 - 18:11 #25
Skal det nærmest være noget ala det her ?:
<?php
//slet.php
require("connect.php");
$slet_besked = mysql_real_escape_string($_GET['id']);
mysql_query("DELETE FROM taqwall WHERE id = $id AND owner = $_SESSION['id'] LIMIT 1");
$slet = mysql_fetch_array($slet_besked);
?>
<a href="profil.php?id=<?php print $slet['id'] ?>>-Slet besked </a></td>
Avatar billede jakobdo Ekspert
07. december 2005 - 18:24 #26
<?php
//slet.php
require("connect.php");
$slet_besked = mysql_real_escape_string($_GET['id']);
mysql_query("DELETE FROM taqwall WHERE id = $slet_besked AND owner = $_SESSION['id'] LIMIT 1");
?>

Og i gæstebogen laver du så:
if($row['owner'] == $_SESSION['id'])
{
    echo "<a href=\"slet.php?id=".$row['id']."\">-Slet besked </a></td>\n";
}
Avatar billede jens12 Nybegynder
07. december 2005 - 18:38 #27
Skal jeg gemme dette :
<?php
//slet.php
require("connect.php");
$slet_besked = mysql_real_escape_string($_GET['id']);
mysql_query("DELETE FROM taqwall WHERE id = $slet_besked AND owner = $_SESSION['id'] LIMIT 1");
?>
Som slet.php?
Avatar billede jakobdo Ekspert
07. december 2005 - 19:00 #28
Det var da en mulighed ja!
Avatar billede jens12 Nybegynder
07. december 2005 - 19:56 #29
okay...jeg har oprettet disse to filer slet.php :
<?php
//slet.php
require("connect.php");
$slet_besked = mysql_real_escape_string($_GET['id']);
mysql_query("DELETE FROM taqwall WHERE id = $slet_besked AND owner = $_SESSION['id'] LIMIT 1");
?>
Når jeg trykker på slet besked så siger den det her :
Parse error: parse error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in /web/www/frac/users/mwf/community/slet.php on line 5
Hvad kan være fejlen?


profil.php ser sån ud :
<?php
include("menu.php");
?>
<?php
include_once("connect.php");
$db_profil = mysql_query("select * from brugere where brugernavn = '$_GET[b]'");
$profil = mysql_fetch_array($db_profil);
if($_GET['admin'] == "1"){
if($_SESSION['Rang'] == "Admin"){
mysql_query("UPDATE brugere SET status= '". mktime() ."' WHERE brugernavn = '$_SESSION[brugernavn]'");
mysql_query("UPDATE brugere SET Rang = 'Admin' where id = '$_GET[bruger]'");
print "Brugeren blev gjort til admin!";
}
}
?>
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link rel="stylesheet" href="../../style2.css" type="text/css" />
<style type="text/css">
<!--
.style3 {font-size: large}
.style4 {font-size: 9px}
-->
</style>
</head>

<body>
<table width="100%" border="0">
  <tr>
    <td width="253" height="164" valign="top"><?php if($profil['billede'] != ""){ ?>
      <a href="<?php print $profil['billede'] ?>"><img src="<?php print $profil['billede'] ?>" width="100" height="100" border="0"></a>
    <?php }else{ ?>(Intet billede!)<?php } ?></td>
    <td width="732" valign="top"><div align="left">
      <table width="100%" border="0">
        <tr>
          <td width="14%">Brugernavn:  </td>
          <td width="28%"><?php print $profil['brugernavn'] ?></td>
          <td width="58%"><span class="style3">Point: <?php print $profil['point'] ?> </span></td>
          </tr>
        <tr>
          <td>Navn:</td>
          <td><?php print $profil['navn'] ?></td>
          <td>&nbsp;</td>
          </tr>
        <tr>
          <td>K&oslash;n:</td>
          <td><?php print $profil['kon'] ?></td>
          <td>&nbsp;</td>
          </tr>
        <tr>
          <td>Civilstatus</td>
          <td><?php print $profil['civilstatus'] ?></td>
          <td>&nbsp;</td>
          </tr>
        <tr>
          <td>Alder:</td>
          <td><?php print $profil['alder'] ?> &aring;r.</td>
          <td>&nbsp;</td>
          </tr>
        <tr>
          <td>Fritid:</td>
          <td><?php print $profil['fritid'] ?></td>
          <td>&nbsp;</td>
        </tr>
        <tr>
          <td>Landsdel:</td>
          <td><?php print $profil['landsdel'] ?></td>
          <td>Status:<?php
          session_start();
include_once("connect.php");
$online = mysql_query("SELECT * FROM brugere WHERE brugernavn = '[brugernavn]'");

while($row = mysql_fetch_array($online))
    {
    print "Denne profil er:";
    if($row['status']>mktime(-300))
      {
      print "Online";
      }
      else
        {
        print "Offline";
            }
   
   
    }
?>
        </td>
        </tr>
      </table>
      </div>
    </td>
  </tr>
</table>
<table width="100%" height="154" border="1">
  <tr>
    <td height="111" valign="top"><?php print $profil['navn'] ?>&acute;s Profil: </td>
  </tr>
  <tr>
    <td valign="top"><a href="http://mwf.frac.dk/community/redigerProfil.php"></a></td>
  </tr>
</table>
<br> 
<strong>G&aelig;stebog:</strong> <br>
<table width="100%" border="0">
  <?php
$q2 = mysql_query("select * from taqwall where til = '$profil[id]'");
while($taqwall = mysql_fetch_array($q2)){
?>
  <tr>
    <td width="569" bgcolor="#4D73C3">Brugernavn: <?php print $taqwall['fra'] ?></td>
    <td width="399" bgcolor="#4D73C3">Dato: <?php print $taqwall['dato'] ?></td>
  </tr>
  <tr bgcolor="#CCCCCC"><?php
$search = array ("1)",
        "2)",
        "3)",
        "4)",
        "5)",
        "6)",
        "7)",
        "8)",
        "9)",
        "10)",
        "11)",
        "12)",
        "13)",
        "14)",
        "15)",
        "16)",   
        "17)",
        "18)",
        "19)",
        "20)",
        "21)");

$replace = array (
"<img src=\"img/1.gif\">",
"<img src=\"img/2.gif\">",
"<img src=\"img/3.gif\">",
"<img src=\"img/4.gif\">",
"<img src=\"img/5.gif\">",
"<img src=\"img/6.gif\">",
"<img src=\"img/7.gif\">",
"<img src=\"img/8.gif\">",
"<img src=\"img/9.gif\">",
"<img src=\"img/01.gif\">",
"<img src=\"img/02.gif\">",
"<img src=\"img/03.gif\">",
"<img src=\"img/04.gif\">",
"<img src=\"img/05.gif\">",
"<img src=\"img/06.gif\">",
"<img src=\"img/07.gif\">",
"<img src=\"img/08.gif\">",
"<img src=\"img/09.gif\">",
"<img src=\"img/00.gif\">",
"<img src=\"img/001.gif\">",
"<img src=\"img/002.gif\">",);


  ?>
    <td colspan="2" bgcolor="#FFFFFF"><?php print str_replace($search,$replace,$taqwall['besked']) ?>

    <?php
    if($row['owner'] == $_SESSION['id'])
{
    echo "<a href=\"slet.php?id=".$row['id']."\">-Slet besked </a></td>\n";
}
    ?>
    </td>
  </tr>
  <?php
}
?>
</table>
<a href="taqwall.php?do=skriv&id=<?php print $profil['id'] ?>&bruger=<?php print $profil['brugernavn'] ?>">Skriv
i denne g&aelig;stebog! </a><br>
<p>&nbsp;</p>
<?php
if($profil['brugernavn'] == $_SESSION['Brugernavn']){
?>
<p><a href="editprofil.php?id=<?php print $profil['id'] ?>">Ret profil!</a></p>
<?php
}
?>
</body>
</html>
Avatar billede jens12 Nybegynder
10. december 2005 - 15:11 #30
Kan i hjælpe mig med at få koden til at virke?
Avatar billede jens12 Nybegynder
12. marts 2006 - 18:43 #31
Lukket
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

IT-JOB