[PHP] UBB code in externe pagina

Pagina: 1
Acties:
  • 156 views sinds 30-01-2008
  • Reageer

Onderwerpen


Acties:
  • 0 Henk 'm!

  • JunkieXP
  • Registratie: Juli 2004
  • Laatst online: 11-08 21:10

JunkieXP

Missing the BB10 Flow =)!

Topicstarter
Ik heb een UBB parser gemaakt die in de Write.php gewoon werkt, hierin zit het invulformulier en wanneer op verzend word gedrukt verstuurt hij de gegevens naar de database en heb er nu tijdelijk de echo van het berichtenvak gezet om te kijken of de :cewl: een <img link naar de smiley word en dit is het geval.

Echter in de index (waar duz alle berichten inzitten doormiddel van MySQL_fetch_array) zie ik duz gewoon :cewl: te staan, ik heb de Function.php (dit is de UBB parser) gewoon gerequired staan, en heb alle strings van de variable al de naam $msg gegeven maar hij wil maar niet van de tekst een plaatje maken,

Iemand enig id hoe ik dit oplos, als jullie de code willen inzien is dit mogelijk. Maar dacht misschien dat jullie na deze uitleg al duidelijkheid hadden :D O-)

Desktop: Wacom Intuos Pro | Logitech Z2300
Gadgets: iPhone 13 Mini
Earcandy: Sony WH1000XM3 & Beats Pro

Het Algemene Screen-Protector Topic


Acties:
  • 0 Henk 'm!

  • BtM909
  • Registratie: Juni 2000
  • Niet online

BtM909

Watch out Guys...

Ja, echt zonder 1 regel code weet ik precies waaraan het ligt...

Maar weet je wat: ik laat de oplossing niet zien: ik kan met m'n glazen bol jouw probleem bekijken, doe dat ook maar bij mij :D ;)

Ace of Base vs Charli XCX - All That She Boom Claps (RMT) | Clean Bandit vs Galantis - I'd Rather Be You (RMT)
You've moved up on my notch-list. You have 1 notch
I have a black belt in Kung Flu.


Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

Ik wed dat het een probleem met globals is. Maar dat weet niemand zeker zonder code. :/

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

Verwijderd

kom op, cough it up

Acties:
  • 0 Henk 'm!

  • JunkieXP
  • Registratie: Juli 2004
  • Laatst online: 11-08 21:10

JunkieXP

Missing the BB10 Flow =)!

Topicstarter
Dit is de code van de index.php
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?PHP
require ("../Connect.php");
require ("Functions.php");

$msgs = "SELECT * FROM gbook ORDER BY id desc";
$data = mysql_query($msgs) or die (mysql_error());

while ($post = mysql_fetch_array($data))
 {
 printf ("<p><table border=\"1\" bordercolor=\"#8BABCA\" cellspacing=\"0\"><tr>\n");
 printf ("\t<td class=\"form\" width\"50\">Afzender:</td>\n");
 printf ("\t<td class=\"form\" width=\"503\"><a href=\"mailto:%s\" class=\"gbook\">%s</a> - %s</td>\n<td class=\"form\" width=\"17\"><a href=\"%s\" target=\"_blank\">[img]\"../Images/Guestbook/Link.gif\"[/img]</tr>\n", $post["mail"], $post["name"], $post["date"], $post["site"]);
 printf ("\t<tr><td class=\"form\" colspan=\"3\" width=\"575\">%s</td>\n", $post["msg"]);
 printf ("</tr></table></p>\n\n");
 }
?>


en dit is een stukje code uit Functions.php

PHP:
1
2
3
4
5
6
<?
//Smileys
$msg = str_replace (":D","[img]\"Images/Smiles/biggrin.gif\"[/img]",$msg);
$msg = str_replace (":d","[img]\"Images/Smiles/biggrin.gif\"[/img]",$msg);
$msg = str_replace (":-D","[img]\"Images/Smiles/biggrin.gif\"[/img]",$msg);
$msg = str_replace (":-d","[img]\"Images/Smiles/biggrin.gif\"[/img]",$msg);


Ik denk dat het aan $post["msg"] ligt maar ook als ik deze binnenhaal dmv $msg = $post["msg"] past hij de UBB niet goed toe

[ Voor 29% gewijzigd door JunkieXP op 27-03-2005 22:07 ]

Desktop: Wacom Intuos Pro | Logitech Z2300
Gadgets: iPhone 13 Mini
Earcandy: Sony WH1000XM3 & Beats Pro

Het Algemene Screen-Protector Topic


Acties:
  • 0 Henk 'm!

  • simon
  • Registratie: Maart 2002
  • Laatst online: 00:18
bedoel, je niet $_POST['msg']?

|>


Acties:
  • 0 Henk 'm!

  • JunkieXP
  • Registratie: Juli 2004
  • Laatst online: 11-08 21:10

JunkieXP

Missing the BB10 Flow =)!

Topicstarter
Nop die post is ingesteld voor de while ;)....zo heb ik t tenminste geleerd op school O-)

Desktop: Wacom Intuos Pro | Logitech Z2300
Gadgets: iPhone 13 Mini
Earcandy: Sony WH1000XM3 & Beats Pro

Het Algemene Screen-Protector Topic


Acties:
  • 0 Henk 'm!

  • simon
  • Registratie: Maart 2002
  • Laatst online: 00:18
oh, mijn fout, als die file functions.php heet zullen er functies in staan
* simon denkt aan een probleempje met scopes

|>


Acties:
  • 0 Henk 'm!

Verwijderd

Moet je $post['msg'] niet in de ubb functie zetten? ;) :*)

Acties:
  • 0 Henk 'm!

  • simon
  • Registratie: Maart 2002
  • Laatst online: 00:18
Verwijderd schreef op zondag 27 maart 2005 @ 22:11:
Moet je $post['msg'] niet in de ubb functie zetten? ;) :*)
ok, elke functie heeft zijn eigen variabele bereik, de scope dus:

PHP:
1
2
3
4
5
6
$bla = "oinks";
function blaaat ()
{
   echo $bla;
}
blaaat();


zal niets outputen
PHP:
1
2
3
4
5
6
$bla = "oinks";
function blaaat ($newVar)
{
   echo $newVar;
}
blaaat($bla);


wel!

[ Voor 6% gewijzigd door simon op 27-03-2005 22:13 ]

|>


Acties:
  • 0 Henk 'm!

  • ludo
  • Registratie: Oktober 2000
  • Laatst online: 26-04-2024
Roep je überhaupt wel ergens een functie aan die voor de omzetting zou kunnen zorgen :?

Acties:
  • 0 Henk 'm!

  • JunkieXP
  • Registratie: Juli 2004
  • Laatst online: 11-08 21:10

JunkieXP

Missing the BB10 Flow =)!

Topicstarter
Nee maar dat doe ik in de Write.php ook niet

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
require ("Functions.php");
echo ("Je bericht is toegevoegd, klik <a href=\"index.php\">hier</a> om alle berichten te zien.<br>$msg");
$query = "INSERT INTO gbook (date, name, mail, site, msg, ip)";
$query .= "VALUES ('";
$query .= $_POST['date']."','";
$query .= $_POST['name']."','";
$query .= $_POST['mail']."','";
$query .= $_POST['site']."','";
$query .= $_POST['msg']."','";
$query .= $_POST['ip']."');";
$result=mysql_query($query) or die ("Foutmelding:"." ".mysql_error());}}
?>

Desktop: Wacom Intuos Pro | Logitech Z2300
Gadgets: iPhone 13 Mini
Earcandy: Sony WH1000XM3 & Beats Pro

Het Algemene Screen-Protector Topic


Acties:
  • 0 Henk 'm!

  • simon
  • Registratie: Maart 2002
  • Laatst online: 00:18
zo wordt je bericht toch nooit omgezet

PHP:
1
2
3
4
5
6
7
8
9
function bbcode($msg)
{

   $msg = str_replace (":D","[img]\"Images/Smiles/biggrin.gif\"[/img]",$msg);
   $msg = str_replace (":d","[img]\"Images/Smiles/biggrin.gif\"[/img]",$msg);
   $msg = str_replace (":-D","[img]\"Images/Smiles/biggrin.gif\"[/img]",$msg);
   $msg = str_replace (":-d","[img]\"Images/Smiles/biggrin.gif\"[/img]",$msg);
}
echo bbcode(":D  ga eens php tutorials doen ;) :P");


zo moet 't

[ Voor 27% gewijzigd door simon op 27-03-2005 22:17 ]

|>


Acties:
  • 0 Henk 'm!

  • ludo
  • Registratie: Oktober 2000
  • Laatst online: 26-04-2024
Maar staat in Functions.php dan wel een functie? Of staan deze regels gewoon zo in Functions.php:
PHP:
1
$msg = str_replace (":D","[img]\"Images/Smiles/biggrin.gif\"[/img]",$msg);
:? En als je wel een functie hebt hoe ziet de header er dan uit? Hoe roep je hem dus aan?

Acties:
  • 0 Henk 'm!

  • JunkieXP
  • Registratie: Juli 2004
  • Laatst online: 11-08 21:10

JunkieXP

Missing the BB10 Flow =)!

Topicstarter
Sorry Sorry Sorry 8)7

Nee die functie word nooit gemaakt, maar aangezien het werkte in Write.php zocht ik het probleem heel anders O-)
_______________

Ik snap echt niet waarom die op de Write.php wel werkt. ik heb nu function code($msg){ in de Functions.php maar hoe laat ik deze nou werken op $post["msg"] want jullie zetten ehm in werking op een plain text en nieuwe echo printf code ( werkt namelijk niet.

Ik verwacht geen antwoord omdat, jullie vast vinden dat ik zelf moet zoeken, en dat doe ik ook echt wel (anders kom je via een ledenlijst (wat ik voor school moest maken) niet uit tot een gastenboek, maar wat ik maak wil ik snappen en niet copy pasten enzow :D :D

[ Voor 67% gewijzigd door JunkieXP op 27-03-2005 22:36 ]

Desktop: Wacom Intuos Pro | Logitech Z2300
Gadgets: iPhone 13 Mini
Earcandy: Sony WH1000XM3 & Beats Pro

Het Algemene Screen-Protector Topic


Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

Laat je hele functie, en de aanroep daarvan eens zien dan. :o

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

  • JunkieXP
  • Registratie: Juli 2004
  • Laatst online: 11-08 21:10

JunkieXP

Missing the BB10 Flow =)!

Topicstarter
Zo start mijn Functions.php page nu..

PHP:
1
2
3
4
5
<?
function code($msg)
{
//Smileys
$msg = str_replace (":D","[img]\"Images/Smiles/biggrin.gif\"[/img]",$msg);

Desktop: Wacom Intuos Pro | Logitech Z2300
Gadgets: iPhone 13 Mini
Earcandy: Sony WH1000XM3 & Beats Pro

Het Algemene Screen-Protector Topic


Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

En je returnt message wel gewoon? En je geeft ook de goede message mee? Laat de aanroep eens zien? En laat eens zien wat je daarna met de variabele doet waar je het resultaat in stopt?

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

  • Harm
  • Registratie: Mei 2002
  • Niet online
En hoe roep je die functie aan? Doe je ergens iets als code ($msg);  ?

[ Voor 7% gewijzigd door Harm op 27-03-2005 23:15 ]


Acties:
  • 0 Henk 'm!

  • Guldan
  • Registratie: Juli 2002
  • Laatst online: 11:30

Guldan

Thee-Nerd

@ junki xp:
nou als je in die functie nou een "return $msg; " zet. Dan worden je je tekens omgezet en de nieuwe string teruggegeven met omgezette teken. De msg die dan uit die functie komt heeft alle opmaak tekens vervangen en die werkt dan.

PHP:
1
2
3
4
5
6
7
8
9
function code($msg)
{
$msg = str_replace (":P","[img]\"Images/Smiles/biggrin.gif\"[/img]",$msg); 

return $msg;
}
$tekst ="Tekst waarvan dingen vervangen moeten worden :P";

dan kun je dus echo $output = code($tekst);


doen en staat je tekst met plaatjes in beeld.
[edit]zo ff uitgebreid voorbeeld gemaakt. Waarom geeft GOT een wit scherm naar het posten iedere keer. :(:(... ben nu al voor de 5e keer aan het typen :P

[ Voor 92% gewijzigd door Guldan op 27-03-2005 23:22 ]

You know, I used to think it was awful that life was so unfair. Then I thought, wouldn't it be much worse if life were fair, and all the terrible things that happen to us come because we actually deserve them?


Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

Guldan schreef op zondag 27 maart 2005 @ 23:14:
[edit]zo ff uitgebreid voorbeeld gemaakt. Waarom geeft GOT een wit scherm naar het posten iedere keer. :(:(... ben nu al voor de 5e keer aan het typen :P
offtopic:
Dat heb ik ook wel eens. Gewoon op F5 raggen, dan wordt je post alsnog verstuurd. Zeker als je een post edit hoef je dan niet bang te zijn voor een dubbelpost, want er wordt immers geen nieuwe post gemaakt. :P Bij een nieuwe post hoef je daar ook niet bang voor te zijn, want daar is een beveiliging voor ingebouwd, meen ik me te herinneren. :P

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 19:51

Creepy

Tactical Espionage Splatterer

JunkieXP: geef nu eens ALLE RELEVANTIE code en informatie. Want zo blijven we gokken wat er aan de hand is.
Let voor de volgende keer eens op P&W FAQ - De "quickstart" zodat je weet wat we eigenlijk van een topicstart verwachten.

Daarnaast kom je met zelf debuggen ook wel een heel eind denk ik. Druk $msg eens af op het moment dat deze wordt gepost, voordat deze door je functie wordt gehaald en nadat deze door je functie is gehaald. Dan zie je als het goed is vanzelf wat er mis is gegaan. Zie ook P&W FAQ - Leer **** debuggen!!.

Mocht je echt de return zijn vergeten dan lijkt me een goede PHP tutorial of boek een goede optie ;)

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


Acties:
  • 0 Henk 'm!

  • JunkieXP
  • Registratie: Juli 2004
  • Laatst online: 11-08 21:10

JunkieXP

Missing the BB10 Flow =)!

Topicstarter
Ik ben nu zo'n 3 weken met php bezig, en heb tot nu toe alleen geleerd hoe je een Video database bouwt (klanten en video's toevoegen, bewerken, verwijderen en weergeven) maar ik wilde in mijn site dus aan de slag gaan voor een gastenboek. Ik heb het boek Basiscursus PHP 4.2.

In het gastenboek ben ik dus zoveel mogelijk van mijn eigen kennis uit gegaan en ben vast heel veel vergeten, maar het werkte en daar was ik blij mee, dat ik het op eigen houtje werkend had (ook de smileys in de echo bij de Write page), ik dacht dus dat het probleem een foutje was wat ik over het hoofd zag maar kennelijk is mijn code gewoon gammel (wat niet gek is maar ik wil gewoon weten wat ik doe en dat een gastenboek dan misschien wat moeilijker is is mijn fout).

Als jullie me willen helpen, zou ik dat erg fijn vinden maar ik wil niet als de nietsuitzoeker worden benoemd, ik heb op sites als phphulp en php.net gezocht maar als je nog maar de basiskennis hebt weet je vaak ook niet goed wat voor code's je moet zoeken, en als iets dan werkt denk je dat het werkt en blijkt later dat dat helemaal niet altijd werkt.

Het klinkt misschien een beetje vaag, maarjah srry.

Ik zal dan nogmaals even de hele codes posten, hoop dat jullie me nu geen irritante beginner vinden :X

index.php
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
<html>
<head>
<title>JunkieXP.nl V3 | Guestbook</title>
<link type="text/css" rel="stylesheet" href="../Style.css">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
<center>
<div align="right"><b>Guestbook: Read</b></div>
<hr>

<p>
<table width="100%" border="1" bordercolor="#8BABCA">
<tr>
<td align="right" color="#8BABCA"><a href="Write.php"><i>Schrijf een Bericht</i></a></td>
</tr>
</table>

<?PHP
require ("../Connect.php");
require ("Functions.php");

$msgs = "SELECT * FROM gbook ORDER BY id desc";
$data = mysql_query($msgs) or die (mysql_error());

while ($post = mysql_fetch_array($data))
 {
 printf ("<p><table border=\"1\" bordercolor=\"#8BABCA\" cellspacing=\"0\"><tr>\n");
 printf ("\t<td class=\"form\" width\"50\">Afzender:</td>\n");
 printf ("\t<td class=\"form\" width=\"503\"><a href=\"mailto:%s\" class=\"gbook\">%s</a> - %s</td>\n<td class=\"form\" width=\"17\"><a href=\"%s\" target=\"_blank\">[img]\"../Images/Guestbook/Link.gif\"[/img]</tr>\n", $post["mail"], $post["name"], $post["date"], $post["site"]);
 printf ("\t<tr><td class=\"form\" colspan=\"3\" width=\"575\">%s</td>\n", $post["msg"]);
 printf ("</tr></table></p>\n\n");
 }
?>

Iemand trouwens ook enig id waarom ik perse met printf moet werken omdat echo niet werkt 8)7

Write.php
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
<html>
<head>
<title>JunkieXP.nl V3 | Guestbook</title>
<link type="text/css" rel="stylesheet" href="../Style.css">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

<script type="text/javascript"> function add(Smile,Box) { 
  document.getElementById(Box).value += Smile; 
  document.getElementById(Box).focus(); } 
</script>
</head>

<body>
<center>
<? 
require ("../Connect.php");
if(!isset($_POST['submit'])){
?>

<div align="right"><b>Guestbook: Write</b></div>
<hr>

<p>
<form method="POST" action="Write.php">
<input type="hidden" name="date" value="<? echo(date("d-m-Y, H:i")); ?>">
<input type="hidden" name="ip" value="<? echo("$REMOTE_ADDR"); ?>">

<table border="1" bordercolor="#8BABCA" cellspacing="0">
<tr>
 <td width="100" class="form">Naam*</td>
 <td width="475" class="form"><input type="text" name="name" class="text" size="65" maxlength="25"></td>
</tr>
<tr>
 <td width="100" class="form">E-Mail*</td>
 <td width="475" class="form"><input type="text" name="mail" class="text" size="65" maxlength="50"></td>
</tr>
<tr>
 <td width="100" class="form">Website</td>
 <td width="475" class="form"><input type="text" name="site" value="http://" class="text" size="65" maxlength="50"></td>
</tr>
<tr>
 <td width="100" height="23" class="form">Bericht*</td>
 <td width="475" class="form" rowspan="2"><textarea id="msg" name="msg" wrap="hard" rows="9" cols="65" maxlength="250"></textarea></td>
</tr>
<tr>
 <td height="100" class="form">&nbsp</td>
</tr>
<tr>
 <td width="100" height="23" class="form">Smilies</td>
 <td width="475" class="form">
 [img]"Images/Smiles/biggrin.gif"[/img]
 [img]"Images/Smiles/blink.gif"[/img]
 [img]"Images/Smiles/cool.gif"[/img]
 [img]"Images/Smiles/cry.gif"[/img]
 [img]"Images/Smiles/lol.gif"[/img]
 [img]"Images/Smiles/evil.gif"[/img]
 [img]"Images/Smiles/mad.gif"[/img]
 [img]"Images/Smiles/ohmy.gif"[/img]
 [img]"Images/Smiles/rolleyes.gif"[/img]
 [img]"Images/Smiles/sad.gif"[/img]
 [img]"Images/Smiles/mrgreen.gif"[/img]
 [img]"Images/Smiles/smile.gif"[/img]
 [img]"Images/Smiles/tongue.gif"[/img]
 [img]"Images/Smiles/neutral.gif"[/img]
 [img]"Images/Smiles/unsure.gif"[/img]
 [img]"Images/Smiles/wacko.gif"[/img]
 [img]"Images/Smiles/wink.gif"[/img]
 [img]"Images/Smiles/arrow.gif"[/img]
 [img]"Images/Smiles/idea.gif"[/img]
 [img]"Images/Smiles/question.gif"[/img]
 [img]"Images/Smiles/exclaim.gif"[/img]
</tr>
<tr>
 <td colspan="2" class="form"><div align="right">
  <font size="-1">Velden met een * zijn verplicht</font><br>
  <input type="submit" name="submit" value="Toevoegen" class="button">
  <input type="reset" value="Wissen" class="button"></td>
</table></form>
</p>
<?
}

else{

if((empty($_POST["name"])) || (empty($_POST["mail"])) || (empty($_POST["msg"])))
{echo ("<script language=javascript>window.alert('Vul alle verplichte velden (*) in!'); history.go(-1)</script>");}

else{ 
require ("Functions.php");
echo ("Je bericht is toegevoegd, klik <a href=\"index.php\">hier</a> om alle berichten te zien.<br>$msg");
$query = "INSERT INTO gbook (date, name, mail, site, msg, ip)";
$query .= "VALUES ('";
$query .= $_POST['date']."','";
$query .= $_POST['name']."','";
$query .= $_POST['mail']."','";
$query .= $_POST['site']."','";
$query .= $_POST['msg']."','";
$query .= $_POST['ip']."');";
$result=mysql_query($query) or die ("Foutmelding:"." ".mysql_error());}}
?>

</center>
</body>
</html>

Functions.php
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
<?
function code()
{
//Smileys
$msg = str_replace (":D","[img]\"Images/Smiles/biggrin.gif\"[/img]",$msg);
$msg = str_replace (":d","[img]\"Images/Smiles/biggrin.gif\"[/img]",$msg);
$msg = str_replace (":-D","[img]\"Images/Smiles/biggrin.gif\"[/img]",$msg);
$msg = str_replace (":-d","[img]\"Images/Smiles/biggrin.gif\"[/img]",$msg);
$msg = str_replace (":biggrin:","[img]\"Images/Smiles/biggrin.gif\"[/img]",$msg);

$msg = str_replace (":o|","[img]\"Images/Smiles/blink.gif\"[/img]",$msg);
$msg = str_replace (":O|","[img]\"Images/Smiles/blink.gif\"[/img]",$msg);
$msg = str_replace (":blink:","[img]\"Images/Smiles/blink.gif\"[/img]",$msg);

$msg = str_replace ("(H)","[img]\"Images/Smiles/cool.gif\"[/img]",$msg);
$msg = str_replace ("(h)","[img]\"Images/Smiles/cool.gif\"[/img]",$msg);
$msg = str_replace (":cool:","[img]\"Images/Smiles/cool.gif\"[/img]",$msg);

$msg = str_replace (":'(","[img]\"Images/Smiles/cry.gif\"[/img]",$msg);
$msg = str_replace (":cry:","[img]\"Images/Smiles/cry.gif\"[/img]",$msg);

$msg = str_replace ("^_^","[img]\"Images/Smiles/lol.gif\"[/img]",$msg);
$msg = str_replace (":lol:","[img]\"Images/Smiles/lol.gif\"[/img]",$msg);

$msg = str_replace (":evil:","[img]\"Images/Smiles/evil.gif\"[/img]",$msg);

$msg = str_replace (":@","[img]\"Images/Smiles/mad.gif\"[/img]",$msg);
$msg = str_replace (":mad:","[img]\"Images/Smiles/mad.gif\"[/img]",$msg);

$msg = str_replace (":o","[img]\"Images/Smiles/ohmy.gif\"[/img]",$msg);
$msg = str_replace (":O","[img]\"Images/Smiles/ohmy.gif\"[/img]",$msg);
$msg = str_replace (":-o","[img]\"Images/Smiles/ohmy.gif\"[/img]",$msg);
$msg = str_replace (":-O","[img]\"Images/Smiles/ohmy.gif\"[/img]",$msg);
$msg = str_replace (":ohmy:","[img]\"Images/Smiles/ohmy.gif\"[/img]",$msg);

$msg = str_replace ("8)","[img]\"Images/Smiles/rolleyes.gif\"[/img]",$msg);
$msg = str_replace ("8-)","[img]\"Images/Smiles/rolleyes.gif\"[/img]",$msg);
$msg = str_replace (":rolleyes:","[img]\"Images/Smiles/rolleyes.gif\"[/img]",$msg);

$msg = str_replace (":(","[img]\"Images/Smiles/sad.gif\"[/img]",$msg);
$msg = str_replace (":-(","[img]\"Images/Smiles/sad.gif\"[/img]",$msg);
$msg = str_replace (":sad:","[img]\"Images/Smiles/sad.gif\"[/img]",$msg);

$msg = str_replace ("|D","[img]\"Images/Smiles/mrgreen.gif\"[/img]",$msg);
$msg = str_replace ("|d","[img]\"Images/Smiles/mrgreen.gif\"[/img]",$msg);
$msg = str_replace ("|-D","[img]\"Images/Smiles/mrgreen.gif\"[/img]",$msg);
$msg = str_replace ("|-d","[img]\"Images/Smiles/mrgreen.gif\"[/img]",$msg);
$msg = str_replace (":mrgreen:","[img]\"Images/Smiles/mrgreen.gif\"[/img]",$msg);

$msg = str_replace (":)","[img]\"Images/Smiles/smile.gif\"[/img]",$msg);
$msg = str_replace (":-)","[img]\"Images/Smiles/smile.gif\"[/img]",$msg);
$msg = str_replace (":smile:","[img]\"Images/Smiles/mrgreen.gif\"[/img]",$msg);

$msg = str_replace (":p","[img]\"Images/Smiles/tongue.gif\"[/img]",$msg);
$msg = str_replace (":P","[img]\"Images/Smiles/tongue.gif\"[/img]",$msg);
$msg = str_replace (":-p","[img]\"Images/Smiles/tongue.gif\"[/img]",$msg);
$msg = str_replace (":-P","[img]\"Images/Smiles/tongue.gif\"[/img]",$msg);
$msg = str_replace (":tongue:","[img]\"Images/Smiles/tongue.gif\"[/img]",$msg);

$msg = str_replace (":|","[img]\"Images/Smiles/neutral.gif\"[/img]",$msg);
$msg = str_replace (":-|","[img]\"Images/Smiles/neutral.gif\"[/img]",$msg);
$msg = str_replace (":neutral:","[img]\"Images/Smiles/neutral.gif\"[/img]",$msg);

$msg = str_replace ("*)","[img]\"Images/Smiles/unsure.gif\"[/img]",$msg);
$msg = str_replace ("*-)","[img]\"Images/Smiles/unsure.gif\"[/img]",$msg);
$msg = str_replace (":unsure:","[img]\"Images/Smiles/unsure.gif\"[/img]",$msg);

$msg = str_replace (":s","[img]\"Images/Smiles/wacko.gif\"[/img]",$msg);
$msg = str_replace (":S","[img]\"Images/Smiles/wacko.gif\"[/img]",$msg);
$msg = str_replace (":-s","[img]\"Images/Smiles/wacko.gif\"[/img]",$msg);
$msg = str_replace (":-S","[img]\"Images/Smiles/wacko.gif\"[/img]",$msg);
$msg = str_replace (":wacko:","[img]\"Images/Smiles/mrgreen.gif\"[/img]",$msg);

$msg = str_replace (";)","[img]\"Images/Smiles/wink.gif\"[/img]",$msg);
$msg = str_replace (";-)","[img]\"Images/Smiles/wink.gif\"[/img]",$msg);
$msg = str_replace (":wink:","[img]\"Images/Smiles/wink.gif\"[/img]",$msg);

$msg = str_replace ("-)","[img]\"Images/Smiles/arrow.gif\"[/img]",$msg);
$msg = str_replace (":arrow:","[img]\"Images/Smiles/arrow.gif\"[/img]",$msg);

$msg = str_replace (":idea:","[img]\"Images/Smiles/idea.gif\"[/img]",$msg);

$msg = str_replace (":?:","[img]\"Images/Smiles/question.gif\"[/img]",$msg);

$msg = str_replace (":!:","[img]\"Images/Smiles/exclaim.gif\"[/img]",$msg);

//Tag Killer
$name = htmlentities ("$name");
$mail = htmlentities ("$mail");
$site = htmlentities ("$site");
$msg = strip_tags ("$msg", "<img><br>");

//Enter
$msg = str_replace ("\n","<br>",$msg);
}
?>


Ik weet dat het niet gepast is en in mijn enthousiasme om het werkend te krijgen ben ik idd alle regeltjes vergeten te lezen, hoop dat jullie mijn excuses ervaren O-)

[ Voor 21% gewijzigd door JunkieXP op 28-03-2005 00:22 ]

Desktop: Wacom Intuos Pro | Logitech Z2300
Gadgets: iPhone 13 Mini
Earcandy: Sony WH1000XM3 & Beats Pro

Het Algemene Screen-Protector Topic


Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

Er zit in die hele lap code geen enkele functie? :? (Voornamelijk omdat de laatste twee lappen code hetzelfde zijn. :P)

Verder: alle relevante code is niet hetzelfde als alle code.

[ Voor 59% gewijzigd door NMe op 28-03-2005 00:15 ]

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

  • crisp
  • Registratie: Februari 2000
  • Laatst online: 21:18

crisp

Devver

Pixelated

-NMe- schreef op maandag 28 maart 2005 @ 00:14:
Er zit in die hele lap code geen enkele functie? :?
Wel beveiligingsgaten zo groot als het gat in de ozonlaag... :/

Geen enkele check op userinput; dat wordt zo in de query gekeilt, en bovendien kan een gebruiker gewoon HTML en script gebruiken in z'n bericht...

[ Voor 27% gewijzigd door crisp op 28-03-2005 00:18 ]

Intentionally left blank


Acties:
  • 0 Henk 'm!

  • JunkieXP
  • Registratie: Juli 2004
  • Laatst online: 11-08 21:10

JunkieXP

Missing the BB10 Flow =)!

Topicstarter
over die beveiliging heb je gelijk, de mailchecker of er @ etc inzit snapte ik niet dus gooi ik ehm niet in mijn script, maar html word wel gefilterd dmv strip_slashes en htmlentities O-),

heb de Functies.php nu wel goed toegevoegd

en volgens mij word met relevante code de PHP bedoeld die met het probleem te maken (kunnen hebben) maar aangezien ik in me 2de post de (in mijn ogen) relevante code gepost had en er nu weer naar gevraagd werd heb ik het maar helemaal gepost 8)7

Op deze site (mijn site) bij Guestbook is een "werkend??" voorbeeld te zien, opmerkingen, die er veel zullen zijn zijn altijd welkom als je er tenminste aandacht aan wil besteden O-).
Zoals je dan wel ziet werkt het (welliswaar zonder de function code() in te stellen in de Function.php want anders ook niet, dat zal wel aangegeven moeten worden dan) na het invoeren van gegevens wel, maar eenmaal terug op de index zie je weer text.

[ Voor 124% gewijzigd door JunkieXP op 28-03-2005 00:40 ]

Desktop: Wacom Intuos Pro | Logitech Z2300
Gadgets: iPhone 13 Mini
Earcandy: Sony WH1000XM3 & Beats Pro

Het Algemene Screen-Protector Topic


Acties:
  • 0 Henk 'm!

  • crisp
  • Registratie: Februari 2000
  • Laatst online: 21:18

crisp

Devver

Pixelated

Wat je moet doen is voor jezelf gewoon een logische volgorde van verwerking aanhouden. Verder is het noodzakelijk om te weten of je het geposte bericht geparsed of ongeparsed wilt opslaan. Qua performance, en als je toch geen edit-mogelijkheid gaat bieden, is het denk ik het slimste om je berichten al te parsen voordat je ze opslaat.

POST-waarden zo in je query stoppen is vragen om problemen; waarschijnlijk draai je op een server waar magic_quotes aanstaat, maar ga daar niet van uit.

Verder: functies hebben doorgaans input en output; in jouw geval is er geen output in de vorm van een return-value, dus daar stok je al. Je zou zoiets moeten hebben (even heel simpel):
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
if (isset($_POST['msg']))
{
  if (get_magic_quotes_gpc())
  {
    $msg = stripslashes($_POST['msg']);
  }
  else
  {
    $msg = $_POST['msg'];
  }

  $msg_parsed = code($msg);

  mysql_query("INSERT INTO gbook SET msg='" . mysql_escape_string($msg_parsed) . "'");
}

function code($msg)
{
  // hier je parsing code

  return $msg;
}

Intentionally left blank


Acties:
  • 0 Henk 'm!

  • WPN
  • Registratie: Augustus 2003
  • Laatst online: 24-07 21:14

WPN

offtopic:
Ben eigenlijk wel benieuwd welke school dit zo leert

Als ik denk zoals ik dacht, dan doe ik zoals ik deed, als ik doe zoals ik deed, dan denk ik zoals ik dacht! Cogito Ergo Sum


Acties:
  • 0 Henk 'm!

  • JunkieXP
  • Registratie: Juli 2004
  • Laatst online: 11-08 21:10

JunkieXP

Missing the BB10 Flow =)!

Topicstarter
Das dus het nadeel op onze school...tis tot nu toe nog vooral zo dat je t zelf maar uit moet zoeken we krijgen de absolute basis voorgeschoteld dit is duz welke query je moet gebruiken enzow, maar dan houd t ook ver op derest moeten we zelf uitzoeken en dit is zwaar irritant,

dat ze dat in jaar 2 doen tot daar aan toe maar in jaar 1 vind ik dat ze het ons uit "moeten" leggen want anders kun je het toch nooit goed snappen, als je de basis van nederlands praten niet weet en snapt wat naar huis gaan betekent kan je jezelf toch nooit ander woorden aan leren :?

en zelfs als je de code laat zien kijken ze alleen of hij werkt, en de code geven ze niet eens tips op hoe het "beter" kan, :(

Ik wil btw wel een Admin in gaan bouwen zie ik dan bij het editten de gehele link, het is niet erg maar vind t persoonlijk minder fijn werken, vooral als ik ooit sites voor 'andere' maak en die zien dan ammel html code erin staan lijkt me dit niet fijn (sorry dat ik zo ver door denk) O-)

[ Voor 9% gewijzigd door JunkieXP op 28-03-2005 01:12 ]

Desktop: Wacom Intuos Pro | Logitech Z2300
Gadgets: iPhone 13 Mini
Earcandy: Sony WH1000XM3 & Beats Pro

Het Algemene Screen-Protector Topic


Acties:
  • 0 Henk 'm!

  • T-MOB
  • Registratie: Maart 2001
  • Laatst online: 16:36
JunkieXP schreef op maandag 28 maart 2005 @ 01:10:
en zelfs als je de code laat zien kijken ze alleen of hij werkt, en de code geven ze niet eens tips op hoe het "beter" kan, :(
Awel, één tip dan... Als je in je eigen code erg veel herhaling ziet dan betekent dat waarschijnlijk dat er wat te optimaliseren valt. En tegelijk zie je dan dat het nog leesbaarder wordt ook... Neem bijvoorbeeld de smileys uit je code() functie:

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
//Smileys
$msg = str_replace (":D","[img]\"Images/Smiles/biggrin.gif\"[/img]",$msg);
$msg = str_replace (":d","[img]\"Images/Smiles/biggrin.gif\"[/img]",$msg);
$msg = str_replace (":-D","[img]\"Images/Smiles/biggrin.gif\"[/img]",$msg);
$msg = str_replace (":-d","[img]\"Images/Smiles/biggrin.gif\"[/img]",$msg);
$msg = str_replace (":biggrin:","[img]\"Images/Smiles/biggrin.gif\"[/img]",$msg);
// ... etcetera

// kan ook als:
$smileys = array(
    ':D'  => 'biggrin.gif',
    ':d'  => 'biggrin.gif',
    ':-D' => 'biggrin.gif',
    ':-d' => 'biggrin.gif'
    );

foreach ($smileys as $code => $filename)
{
    str_replace ($code, '<img src="Images/Smilies/' .$filename .'" height="16" width="16" border="0"', $msg);
}

[ Voor 22% gewijzigd door T-MOB op 28-03-2005 02:00 ]

Regeren is vooruitschuiven


Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

Daarop verderbordurend:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
$smileys = array(
    ':D'  => 'biggrin.gif',
    ':d'  => 'biggrin.gif',
    ':-D' => 'biggrin.gif',
    ':-d' => 'biggrin.gif'
    );

foreach ($smileys as $code => $filename)
{
    str_replace ($code, '<img src="Images/Smilies/' .$filename .'" height="16" width="16" border="0"', $msg);
}

//kan ook zo:
$smileys = array(
    ':D'  => 'biggrin.gif',
    ':-D' => 'biggrin.gif'
    );

foreach ($smileys as $code => $filename)
{
    str_ireplace ($code, '<img src="Images/Smilies/' .$filename .'" height="16" width="16" border="0"', $msg);
}

;)

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

  • ludo
  • Registratie: Oktober 2000
  • Laatst online: 26-04-2024
-NMe- schreef op maandag 28 maart 2005 @ 02:09:
[...]

Daarop verderbordurend:
PHP:
1
2
3
4
5
6
7
8
9
10
//kan ook zo:
$smileys = array(
    ':D'  => 'biggrin.gif',
    ':-D' => 'biggrin.gif'
    );

foreach ($smileys as $code => $filename)
{
    str_ireplace ($code, '<img src="Images/Smilies/' .$filename .'" height="16" width="16" border="0"', $msg);
}

;)
Maar wel even opletten dat de str_ireplace functie pas sinds PHP5 geïmplementeerd is. Bij de user comments op de str_replace functie staan geloof ik wel wat PHP4 alternatieven voor een case-insensitive str_replace functie :)

Acties:
  • 0 Henk 'm!

  • Grijze Vos
  • Registratie: December 2002
  • Laatst online: 28-02 22:17
Overigens kun je str_replace en str_ireplace ook arrays voeren, ipv te loopen over je array.

Op zoek naar een nieuwe collega, .NET webdev, voornamelijk productontwikkeling. DM voor meer info


Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

Grijze Vos schreef op maandag 28 maart 2005 @ 11:51:
Overigens kun je str_replace en str_ireplace ook arrays voeren, ipv te loopen over je array.
Kan dat ook als je als tweede element een string samenstelt dan?

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.

Pagina: 1