/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
Smilies i tagwall
Fra : DrOnE


Dato : 20-12-03 15:56

Hejsa, jeg har lige den gode idé som jeg er sikker på jeg ikke er den første
der har.
Jeg vil vildt gerne have smilies i tagwalls og nyhedsscripts og andet.
Men ved ikke hvordan jeg får det til at virker.
Jeg vil gerne have et "../Icons/smilie.gif" bliver sat ind isteddet for ":)"
<-- det smilie.. Her er er en af de scripts jeg gerne vil have smilies i. Er
der nogen der kan hjælpe mig?
Jeg sikker på løsningen er der ude :P

Det skal lige siges det virker som det er, jeg mangler bare smilies som
"udsmykning".

<body bgcolor="#F3F3F3"><font face='Verdana, Arial, Helvetica, sans-serif'
size='1'><a href="skriv.php"
target="_blank">Skriv</a><br><br><b>Tags:</b></font><br><br><?php

// You just need to configure these 4 variables to match your server.
$db_host = "localhost"; // mySQL database host
$db_user = "username"; // mySQL database user
$db_password = "password"; // mySQL database password
$db_name = "Database"; // the name of your mySQL database
// If a user has submitted a post, we want to :
// 1. Validate it
// 2. Strip unwanted html
// 3. Make sure messages and names aren't too long
// 4. Add it to our database.

if($_POST['submit']) {
// 1. Validate it, by checking all the form inputs were filled in
if(!$_POST['author']) {
echo 'Error ! : No name entered';
die;
}
if(!$_POST['email']) {
echo 'Error ! : No email entered';
die;
}
if(!$_POST['message']) {
echo 'Error ! : No message entered';
die;
}
// 2. Strip unwanted HTML
// Look up the strip_tags() function at
// http://www.php.net/manual/en/function.strip-tags.php for more info
$message = strip_tags($_POST['message'], '');
$email = strip_tags($_POST['email'], '');
$author = strip_tags($_POST['author'], '');
// 3. Make sure messages and names aren't too long
// We will use the strlen() function to count the length.
$message_length = strlen($message);
$author_length = strlen($author);
if($message_length > 150) {
echo "Error ! : Your message was too long, messages must be less
than 150 chars";
die;
}
if($author_length > 150) {
echo "Error ! : Your name was too long, names must be less than 150
chars";
die;
}
// 4. Add it to our database.
// If the script hasn't died yet due to an error in the inputted data
// we need to add the data to the database
// Lets connect to our database.
mysql_connect($db_host,$db_user,$db_password) or die(mysql_error());
// Select the database.
mysql_select_db($db_name) or die(mysql_error());
// Lets define the date format we want to enter to our database
// go here for more details
// http://www.php.net/manual/en/function.date.php
$date = date("h:i A dS M");
// This will produce 11:02 25th Aug
// Set the query as $query
$query = "INSERT INTO shoutbox (message, author, email, date, ip)
VALUES ('$message','$author','$email','$date','$_SERVER[REMOTE_ADDR]')";
mysql_query($query);
mysql_close();
// Show thanks message and take them back to the main shoutbox
echo "Thanks for your post<BR>";
echo "<A HREF=\"shoutbox.php\">View the shoutbox</A>";
// If they haven't submitted a post, we want to :
// 1. Show the latest shouts
// 2. Show the shout post form
} else {
// 1. Show the latest shouts
// Lets connect to our database.
mysql_connect($db_host,$db_user,$db_password) or die(mysql_error());
// Select the database.
mysql_select_db($db_name) or die(mysql_error());
// Set the query as $query, and get the last 10 posts.
$query = "SELECT message, author, email, date, ip
FROM shoutbox order by id DESC LIMIT 10";
$result = mysql_query($query);
echo "<TABLE>";
while($r=mysql_fetch_array($result))
{
// To modify the appearance, edit this :
echo "<TR>
<TD><font face='Verdana, Arial, Helvetica, sans-serif' size='1'>
Posted $r[date] by <A HREF=\"mailto:$r[email]\">
$r[author]</A></font></TD>
</TR>
<TR>
<TD><font face='Verdana, Arial, Helvetica, sans-serif'
size='1'>$r[message]</font></TD>
</TR>
<TR>
<TD><HR></TD>
</TR>";

}
echo "</TABLE>";
// 2. Show the shout post form
?>
<?php
}
?>



som i sikkert kan se har jeg taget HELE scriptet eftersom jeg er ikke er
mega sej til det der ;)



 
 
Kristian Thy (20-12-2003)
Kommentar
Fra : Kristian Thy


Dato : 20-12-03 16:20

DrOnE uttered:
> Jeg vil gerne have et "../Icons/smilie.gif" bliver sat ind isteddet
for ":)"

$message = $r[message];
ereg_replace(":)","<img src=\"../Icons/smilie.gif\">",$message);

\\kristian
--
A doctor can bury his mistakes but an architect can only advise his
client to plant vines.
--Frank Lloyd Wright

DrOnE (20-12-2003)
Kommentar
Fra : DrOnE


Dato : 20-12-03 17:02

Ked af at skuffe men det virker ikke.. Der sker intet i tagwall'en :S
"Kristian Thy" <thy@it.edu> skrev i en meddelelse
news:bs1pbh$8pdp2$1@ID-157676.news.uni-berlin.de...
> DrOnE uttered:
> > Jeg vil gerne have et "../Icons/smilie.gif" bliver sat ind isteddet
> for ":)"
>
> $message = $r[message];
> ereg_replace(":)","<img src=\"../Icons/smilie.gif\">",$message);
>
> \\kristian
> --
> A doctor can bury his mistakes but an architect can only advise his
> client to plant vines.
> --Frank Lloyd Wright



Kristian Thy (20-12-2003)
Kommentar
Fra : Kristian Thy


Dato : 20-12-03 17:10

DrOnE uttered:
> Ked af at skuffe men det virker ikke.. Der sker intet i tagwall'en :S

Det er så fordi du skal udskrive $message i stedet for $r[message]

\\kristian
--
MS is to security what McDonald's is to gourmet cooking.

DrOnE (20-12-2003)
Kommentar
Fra : DrOnE


Dato : 20-12-03 18:56

æhh. Og hvad gør jeg for at gøre det ? :S
"Kristian Thy" <thy@it.edu> skrev i en meddelelse
news:bs1s7r$8jpd4$1@ID-157676.news.uni-berlin.de...
> DrOnE uttered:
> > Ked af at skuffe men det virker ikke.. Der sker intet i tagwall'en :S
>
> Det er så fordi du skal udskrive $message i stedet for $r[message]
>
> \\kristian
> --
> MS is to security what McDonald's is to gourmet cooking.



Kristian Thy (20-12-2003)
Kommentar
Fra : Kristian Thy


Dato : 20-12-03 23:36

DrOnE uttered:
> æhh. Og hvad gør jeg for at gøre det ? :S

Eftersom jeg (og sikkert andre) ikke i længden gider servere dig hele
løsningen, så kan jeg anbefale at du starter med at læse en
PHP-begynderbog. I mellemtiden kan du så prøve med:


<body bgcolor="#F3F3F3"><font face='Verdana, Arial, Helvetica,
sans-serif' size='1'><a href="skriv.php"
target="_blank">Skriv</a><br><br><b>Tags:</b></font><br><br>
<?php

$db_host = "localhost"; // mySQL database host
$db_user = "username"; // mySQL database user
$db_password = "password"; // mySQL database password
$db_name = "Database"; // the name of your mySQL database

if($_POST['submit']) {
if(!$_POST['author']) {
echo 'Error ! : No name entered';
die;
}
if(!$_POST['email']) {
echo 'Error ! : No email entered';
die;
}
if(!$_POST['message']) {
echo 'Error ! : No message entered';
die;
}
$message = strip_tags($_POST['message'], '');
$email = strip_tags($_POST['email'], '');
$author = strip_tags($_POST['author'], '');
$message_length = strlen($message);
$author_length = strlen($author);
if($message_length > 150) {
echo "Error ! : Your message was too long, messages must be
less than 150 chars";
die;
}
if($author_length > 150) {
echo "Error ! : Your name was too long, names must be less
than 150 chars";
die;
}
mysql_connect($db_host,$db_user,$db_password) or die(mysql_error());
mysql_select_db($db_name) or die(mysql_error());
$date = date("h:i A dS M");
$query = "INSERT INTO shoutbox (message, author, email, date, ip)
VALUES ('$message', '$author', '$email', '$date',
'$_SERVER[REMOTE_ADDR]')";
mysql_query($query);
mysql_close();

echo "Thanks for your post<BR>";
echo "<A HREF=\"shoutbox.php\">View the shoutbox</A>";
} else {
mysql_connect($db_host,$db_user,$db_password) or die(mysql_error());
mysql_select_db($db_name) or die(mysql_error());
$query = "SELECT message, author, email, date, ip
FROM shoutbox order by id DESC LIMIT 10";
$result = mysql_query($query);
echo "<TABLE>";
while($r=mysql_fetch_array($result))
$message = ereg_replace(":)","<img src=\"../Icons/smilie.gif\">",
$r[message]);
{
echo "<TR>
<TD><font face='Verdana, Arial, Helvetica, sans-serif'
size='1'>
Posted $r[date] by <A HREF=\"mailto:$r[email]\">
$r[author]</A></font></TD>
</TR>
<TR>
<TD><font face='Verdana, Arial, Helvetica, sans-serif'
size='1'>$message</font></TD>
</TR>
<TR>
<TD><HR></TD>
</TR>";

}
echo "</TABLE>";
}
?>

Hintet er at det skal sættes ind et sted efter kommentaren "// To
modify the appearance, edit this" i din originale kode. Nu har jeg så
pillet kommentarerne ud af den her version for at spare lidt plads...

\\kristian
--
PROGRAMMER [n]: a device for converting coffee into software.

zigma.dk (21-12-2003)
Kommentar
Fra : zigma.dk


Dato : 21-12-03 10:36

Kristian Thy wrote in dk.edb.internet.webdesign.serverside.php:
> DrOnE uttered:
> > Jeg vil gerne have et "../Icons/smilie.gif" bliver sat ind isteddet
> for ":)"
>
> $message = $r[message];
> ereg_replace(":)","<img src=\"../Icons/smilie.gif\">",$message);
>
> \\kristian
> --
> A doctor can bury his mistakes but an architect can only advise his
> client to plant vines.
> --Frank Lloyd Wright

ereg-serien har desværre nogle gange svært ved at virke. Prøv derfor at
benytte eregi i stedet:

eregi_replace((":)","<img src=\"../Icons/smilie.gif\">",$message);

--
Vil du lære at kode HTML, XHTML, CSS, SSI eller ASP?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Kristian Thy (21-12-2003)
Kommentar
Fra : Kristian Thy


Dato : 21-12-03 17:48

zigma.dk uttered:
> ereg-serien har desværre nogle gange svært ved at virke. Prøv derfor at
> benytte eregi i stedet:

Hvorledes skulle det hjælpe? Ifølge php.net: "This function is
identical to ereg_replace() except that this ignores case distinction
when matching alphabetic characters." Og da der ikke er nogen
alfabetiske tegn i ":)", så jeg kan ikke se hvilken forskel det skulle
gøre...

Hvilke problemer har du haft med ereg-serien?

\\kristian
--
Give a man a match, and he'll be warm for a minute.
Set him on fire, and he'll be warm for the rest of his life.

Peter Brodersen (21-12-2003)
Kommentar
Fra : Peter Brodersen


Dato : 21-12-03 17:58

On 21 Dec 2003 16:47:56 GMT, Kristian Thy <thy@it.edu> wrote:

>Og da der ikke er nogen
>alfabetiske tegn i ":)", så jeg kan ikke se hvilken forskel det skulle
>gøre...

Det kan her kun anbefales at bruge str_replace().

I ":)"-tilfældet burde regex-fortolkeren ku' forstå betydningen, men
ellers er der ingen grund til at bruge regex-funktioner, når man blot
skal lave en simpel søg&erstat - specielt når det, man søger efter,
rummer tekst, der kan have en anden betydning i regulære udtryk (fx
parenteser).

>Hvilke problemer har du haft med ereg-serien?

Jeg har heller ikke haft problemer i den retning - udover performance
ved enkelte hårde udtryk, hvor preg-serien har været meget mere
effektiv og givet flere muligheder.

--
- Peter Brodersen

Ugens sprogtip: at køre (og ikke at kører)

Kristian Thy (21-12-2003)
Kommentar
Fra : Kristian Thy


Dato : 21-12-03 17:59

Peter Brodersen uttered:
>>Hvilke problemer har du haft med ereg-serien?
> Jeg har heller ikke haft problemer i den retning - udover performance
> ved enkelte hårde udtryk, hvor preg-serien har været meget mere
> effektiv og givet flere muligheder.

Det er så en helt anden snak - men zigma antydede at ereg_replace ikke
virkede...

\\kristian
--
"I'm a pork. I need commitment!"
--Miss Piggy

Jesper Holm (21-12-2003)
Kommentar
Fra : Jesper Holm


Dato : 21-12-03 18:45

Kan du ikke bruge følgende:

$message = str_replace(":)","<img src=\"../Icons/smilie.gif\">",$message);

Den eneste fejl der kan være er, at $message måske ikke kan/bør defineres
med bl.a. str_replace()...?!

/ Jesper Holm



Peter Brodersen (21-12-2003)
Kommentar
Fra : Peter Brodersen


Dato : 21-12-03 18:44

On 21 Dec 2003 16:59:17 GMT, Kristian Thy <thy@it.edu> wrote:

>Det er så en helt anden snak - men zigma antydede at ereg_replace ikke
>virkede...

Yep, og jeg har tilsvarende heller ikke oplevet problemer (endsige kan
se hvordan problemet skulle opstå :)

--
- Peter Brodersen

Ugens sprogtip: at køre (og ikke at kører)

zigma.dk (22-12-2003)
Kommentar
Fra : zigma.dk


Dato : 22-12-03 08:44

zigma.dk wrote in dk.edb.internet.webdesign.serverside.php:
> Kristian Thy wrote in dk.edb.internet.webdesign.serverside.php:
> > DrOnE uttered:
> > > Jeg vil gerne have et "../Icons/smilie.gif" bliver sat ind isteddet
> > for ":)"
> >
> > $message = $r[message];
> > ereg_replace(":)","<img src=\"../Icons/smilie.gif\">",$message);
> >
> > \\kristian
> > --
> > A doctor can bury his mistakes but an architect can only advise his
> > client to plant vines.
> > --Frank Lloyd Wright
>
> ereg-serien har desværre nogle gange svært ved at virke. Prøv derfor at
> benytte eregi i stedet:
>
> eregi_replace((":)","<img src=\"../Icons/smilie.gif\">",$message);
>
> --
> Vil du lære at kode HTML, XHTML, CSS, SSI eller ASP?
> - Pædagogiske tutorials på dansk
> - Kom godt i gang med koderne
> KLIK HER! => http://www.html.dk/tutorials


Kan kun give dig ret, men jeg har tidligere benyttet ereg_replace hvor
outputtet ikke kom.
- Men det funkede med eregi_replace
Men da det ifølge php.net er to identiske funktioner i dette tilfælde,
trækker jeg min udtalelse tilbage =)

--
Vil du lære at kode HTML, XHTML, CSS, SSI eller ASP?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

DrOnE (24-12-2003)
Kommentar
Fra : DrOnE


Dato : 24-12-03 09:35

Undskyld jeg bliver ved med at bombardere jer med problemer, men nu opstod
der altså et nyt :/

Den siger:


Parse error: parse error, unexpected ',' in
/customers/dronerax.dk/dronerax.dk/httpd.www/shoutbox.php on line 9

Jeg har prøvet at fjerne det der "," den beder om... Men der sker ikke andet
end der kommer en ny fejl :/ her er scriptet

eregi_replace((":)","<img src=\"../Icons/smilie.gif\>",$message);

og jeg har ikke sat det noget specielt sært sted såvidt jeg ved... Please
hjælp mig, jeg er lost....



"zigma.dk" <zigma@zigma.dk> skrev i en meddelelse
news:bs3pi0$gmt$1@sunsite.dk...
> Kristian Thy wrote in dk.edb.internet.webdesign.serverside.php:
> > DrOnE uttered:
> > > Jeg vil gerne have et "../Icons/smilie.gif" bliver sat ind isteddet
> > for ":)"
> >
> > $message = $r[message];
> > ereg_replace(":)","<img src=\"../Icons/smilie.gif\">",$message);
> >
> > \\kristian
> > --
> > A doctor can bury his mistakes but an architect can only advise his
> > client to plant vines.
> > --Frank Lloyd Wright
>
> ereg-serien har desværre nogle gange svært ved at virke. Prøv derfor at
> benytte eregi i stedet:
>
> eregi_replace((":)","<img src=\"../Icons/smilie.gif\">",$message);
>
> --
> Vil du lære at kode HTML, XHTML, CSS, SSI eller ASP?
> - Pædagogiske tutorials på dansk
> - Kom godt i gang med koderne
> KLIK HER! => http://www.html.dk/tutorials



Erlend Klakegg Bergh~ (24-12-2003)
Kommentar
Fra : Erlend Klakegg Bergh~


Dato : 24-12-03 10:10

"DrOnE" <dronerax@hotmail.com> tastet:

> Undskyld jeg bliver ved med at bombardere jer med problemer, men nu
> opstod der altså et nyt :/
>
> Den siger:
>
>
> Parse error: parse error, unexpected ',' in
> /customers/dronerax.dk/dronerax.dk/httpd.www/shoutbox.php on line 9
>
> Jeg har prøvet at fjerne det der "," den beder om... Men der sker
> ikke andet end der kommer en ny fejl :/ her er scriptet
>
> eregi_replace((":)","<img src=\"../Icons/smilie.gif\>",$message);

eregi_replace (":)", "<img src=\"../Icons/smilie.gif\" alt=\":)\">",
$message);

Du kan sikkert prøve med str_replace ...

.... også litt nyttig informasjon for deg (på norsk):
http://home.online.no/~vidaandr/news/OBSquoting.html
Ta deg tid til å lese hele den lille siden ... !

--

Vennlig hilsen Erlend
erlendkb@online.no
http://www.kleggen.com/ <= Nytt design !!! :D


Søg
Reklame
Statistik
Spørgsmål : 177559
Tips : 31968
Nyheder : 719565
Indlæg : 6408934
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste