[PHP] mijn guestbook vervangt ' door \'

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

  • Blaise
  • Registratie: Juni 2001
  • Niet online
Als je in mijn guestbook "I'm Blaise" typ, krijg je "I\'m Blaise" bij het uiteindelijke resultaat (IVM het verstoren van mogelijke php tags). Dat staat natuurlijk redelijk tot zeer irritant. Na enig gezoek hier en daar weet ik dat je die ' moet vervangen door ´. Probleem is: hoe?

want 2 dingen snap ik niet:
- hoe werkt preg replace? (php gaat een error geven als je "'" in een preg replace zet)
- en ook al lukt mij dat, dan worden ook de "'" van het javascript in hetzelfde pagina vervangen, waardoor het hele soepie niet meer lekker werkt.

misschien moet ik het probleem bij het begin aanpakken: Een javascript maken bij mijn invulhokkies. Kan dat? zoja hoe?

  • Limhes
  • Registratie: Oktober 2001
  • Laatst online: 19-08 19:06

  • razor-x
  • Registratie: Februari 2001
  • Laatst online: 05-06 07:37
stripslashes :)

edit: grrrr stomme Limhes ;)

  • D2k
  • Registratie: Januari 2001
  • Laatst online: 31-08 10:19

D2k

stripslashes()?
html_entities()?

gpc_magic_quotes()?

Doet iets met Cloud (MS/IBM)


  • JoostBaksteen
  • Registratie: December 2000
  • Laatst online: 27-03 19:32
Ik snap niet echt wat je bedoelt... Als je \' krijgt moet je eerst een stripslashes uitvoeren:
PHP:
1
2
3
<?
$string = stripslashes($string);
?>

Als je wilt weten hoe preg_replace werkt kan je het beste kijken naar: http://www.php.net/manual/en/function.preg-replace.php

Kijk ook eens naar:

http://www.php.net/manual/en/function.str-replace.php

  • razor-x
  • Registratie: Februari 2001
  • Laatst online: 05-06 07:37
als hij het nu nog niet weet :+

  • JoostBaksteen
  • Registratie: December 2000
  • Laatst online: 27-03 19:32
Op dinsdag 22 januari 2002 12:45 schreef razor-x het volgende:
als hij het nu nog niet weet :+
We moeten liever doen tegen mensen, dus ik denk laat ik maar een verhaaltje schrijven :Y)

  • dusty
  • Registratie: Mei 2000
  • Laatst online: 21-02 00:06

dusty

Celebrate Life!

Op dinsdag 22 januari 2002 12:41 schreef Blaise het volgende:
(IVM het verstoren van mogelijke php tags).
Aangezien niemand je wilt verbeteren doe ik het maar ;)

' KAN in een variabele nooit de php tags verstoren, wat het wel zou kunnen verstoren is de SQL-query die op de database wordt uitgevoerd.

Back In Black!
"Je moet haar alleen aan de ketting leggen" - MueR


  • Blaise
  • Registratie: Juni 2001
  • Niet online
ok, ik heb de code:
[php]<?
$apos = "&amp;#039;";
$quot = "&amp;#034;";

if($products){
while (list ($key, $val) = each($products)) {
$products[$key] = str_replace("'",$apos,stripslashes($val));
$products[$key] = str_replace('"',$quot,stripslashes($val));
}
reset($products);
}
?>[/php]
maar nu vraag ik mij af waar je deze moet zetten.
Ik heb 3 files:
[url="http://"http://arte1.multimania.com/entries.php"]- entries.php [/url](hier wordt alles weergegeven, en de submitform is hier)
[url="http://"http://arte1.multimania.com/guestbook.php"]- guestbook.php[/url] (verwerkt alles)
[url="http://"http://arte1.multimania.com/messages.txt"]- messages.php[/url] (hier worden alle messages in html opgeslagen)

Ik neem aan dat die code in guestbook.php moet, maar op welke plek? of moet ik een andere code weghalen?


wow! veel replies opeens, ff doorlezen.

  • Blaise
  • Registratie: Juni 2001
  • Niet online
als ik het goed begrijp zit er dus al een strip-html-code-code in, die ik er eerst uit moet halen?

  • LuCarD
  • Registratie: Januari 2000
  • Niet online

LuCarD

Certified BUFH

Op dinsdag 22 januari 2002 12:56 schreef Blaise het volgende:
ok, ik heb de code:

maar nu vraag ik mij af waar je deze moet zetten.
Ik heb 3 files:
[url="http://"http://arte1.multimania.com/entries.php"]- entries.php [/url](hier wordt alles weergegeven, en de submitform is hier)
[url="http://"http://arte1.multimania.com/guestbook.php"]- guestbook.php[/url] (verwerkt alles)
[url="http://"http://arte1.multimania.com/messages.txt"]- messages.php[/url] (hier worden alle messages in html opgeslagen)

Ik neem aan dat die code in guestbook.php moet, maar op welke plek? of moet ik een andere code weghalen?


wow! veel replies opeens, ff doorlezen.
* LuCarD pakt zijn gulden flipt die omhoog en het is kop...

of te wel.... Hoe zouden wij moeten weten waar de code moet komen te staan zonder dat wij de code kunnen zien? aangezien de bovenstaande files worden geparset!

edit:

Snel je text aan passen hee.... bah :+

Programmer - an organism that turns coffee into software.


  • Blaise
  • Registratie: Juni 2001
  • Niet online
ehm :P oops
ga via http://arte1.multimania.com/index2.htm, en dan naar guestbook.

[skip de www, en zo leer je nog eens wat :P]

Verwijderd

Op dinsdag 22 januari 2002 13:02 schreef Blaise het volgende:
ehm :P oops
ga via http://www.arte1.multimania.com/index2.htm, en dan naar guestbook.
Een franse error 404

  • dusty
  • Registratie: Mei 2000
  • Laatst online: 21-02 00:06

dusty

Celebrate Life!

Op dinsdag 22 januari 2002 13:02 schreef Blaise het volgende:
ehm :P oops
ga via http://www.arte1.multimania.com/index2.htm, en dan naar guestbook.
en dan worden de php files opeens niet meer geparsed?

Back In Black!
"Je moet haar alleen aan de ketting leggen" - MueR


  • Blaise
  • Registratie: Juni 2001
  • Niet online
|:( doh. (alleen guestbook.php is dan zichtbaar...)

ik post em wel:
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
<?
$home = "http://www.arte.tk";

$strip = 1;

$entries = 1000;

/*
# Show date with entry.
# Example: March 1 2001          
# 0 = No, do not show date    1 = Yes, show date 
*/

$show_date = 1;

/*       
0 = No, do not show time    1 = Yes, show time 
*/

$show_time = 1;

if (!$nick){
$back = "<b><font size=5>CHICKEN! gimme ya name! =P</font></b>";
echo $back;
exit;
}
else {
$nick = strip_tags($nick);
$email = strip_tags($email);
$url = strip_tags($url);
$msg = wordwrap( $msg, 24, "  ", 1);
$msg = eregi_replace(chr(13).chr(10),"<br>",$msg); 
if ($show_date == 1){
    $date = date("F d Y");
}
if ($show_time == 1){
    $time = date("h:i a");
}
if ($strip == 1){
    $msg = strip_tags($msg, "<br>");
}
if ($entries == 0 || $entries < 0){
    $entries = 500;
}
if ($entries > 60){
    $entries = 50;
}
if ($entries != 0 &amp;amp;&amp;amp; $entries > 0){
    $count = $entries;
}
$mail = "mailto:$email";
if ($show_time == 1 &amp;amp;&amp;amp; $show_date == 1){
    $message = "<b>$nick </b>&amp;amp;nbsp;| $date at $time |<br><b>$msg</b><br><br><hr noshade color=\"ffffff\"><br>";
}
if ($show_time == 1 &amp;amp;&amp;amp; $show_date != 1){
    $message = "<b>$nick - $time<br><b>$msg<br><br><br>";
}
if ($show_time != 1 &amp;amp;&amp;amp; $show_date == 1){
    $message = "<b>$nick - $date<b>$msg<br><br><br>";
}
if ($show_time != 1 &amp;amp;&amp;amp; $show_date != 1){
    $message = "<b>$nick<br><b>$msg<br><br><br>";
}

$fcontents = join ( '', file ( "messages.txt")); 
$fp = fopen ("messages.txt", "w");
fwrite ($fp, "$message\n");
fwrite ($fp, $fcontents);
fclose ($fp);
if ($entries != 0 &amp;amp;&amp;amp; $entries > 0){
$jpmaster = file ("messages.txt"); 
$fpp = fopen ("messages.txt", "w");
for ($i=0; $i < $count; $i++){
fwrite ($fpp, $jpmaster[$i]);
}
}
fclose ($fpp);
$fh = fopen ("home.txt", "w");
fwrite ($fh, "$home");
fclose ($fh);
}
?>


<html>
<head><title>GUESTBOOK M.E. REDIRECTING</title>
<script language="javascript">
window.location="entries.php"
</script>
</head>
</html>
?>

  • LuCarD
  • Registratie: Januari 2000
  • Niet online

LuCarD

Certified BUFH

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?
if ($show_time == 1 &amp;amp;amp;&amp;amp;amp; $show_date == 1)
{
    $message = "<b>$nick </b>&amp;amp;amp;nbsp;| $date at $time |<br><b>$msg</b><br><br><hr noshade color=\"ffffff\"><br>";
}
if ($show_time == 1 &amp;amp;amp;&amp;amp;amp; $show_date != 1)
{
    $message = "<b>$nick - $time<br><b>$msg<br><br><br>";}if ($show_time != 1 &amp;amp;amp;&amp;amp;amp; $show_date == 1)
{
    $message = "<b>$nick - $date<b>$msg<br><br><br>";
}
if ($show_time != 1 &amp;amp;amp;&amp;amp;amp; $show_date != 1)
{
    $message = "<b>$nick<br><b>$msg<br><br><br>";
}
?>
Maak daar eens van
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?
if ($show_time == 1 &amp;amp;amp;&amp;amp;amp; $show_date == 1)
{
    $message = sprintf("<b>%s </b>&amp;amp;amp;nbsp;| $date at $time |<br><b>%s</b><br><br><hr noshade color=\"ffffff\"><br>",stripslashes($nick), stripslashes($msg));
}
if ($show_time == 1 &amp;amp;amp;&amp;amp;amp; $show_date != 1)
{
    $message = sprintf("<b>%s - $time<br><b>%s<br><br><br>",stripslashes($nick), stripslashes($msg));
}
if ($show_time != 1 &amp;amp;amp;&amp;amp;amp; $show_date == 1)
{
    $message = sprintf("<b>%s - $date<b>%s<br><br><br>",stripslashes($nick), stripslashes($msg));
}
if ($show_time != 1 &amp;amp;amp;&amp;amp;amp; $show_date != 1)
{
    $message = sprintf("<b>%s<br><b>%s<br><br><br>",stripslashes($nick), stripslashes($msg));
}
?>

Programmer - an organism that turns coffee into software.


  • Blaise
  • Registratie: Juni 2001
  • Niet online
ik krijg een parse error
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
<?
$home = "http://www.arte.tk";

$strip = 1;

$entries = 1000;

/*
# Show date with entry.
# Example: March 1 2001          
# 0 = No, do not show date    1 = Yes, show date 
*/

$show_date = 1;

/*       
0 = No, do not show time    1 = Yes, show time 
*/

$show_time = 1;

if (!$nick){
$back = "<b><font size=5>CHICKEN! gimme ya name! =P</font></b>";
echo $back;
exit;
}
else {
$nick = strip_tags($nick);
$email = strip_tags($email);
$url = strip_tags($url);
$msg = wordwrap( $msg, 24, "  ", 1);
$msg = eregi_replace(chr(13).chr(10),"<br>",$msg); 
if ($show_date == 1){
    $date = date("F d Y");
}
if ($show_time == 1){
    $time = date("h:i a");
}
if ($strip == 1){
    $msg = strip_tags($msg, "<br>");
}
if ($entries == 0 || $entries < 0){
    $entries = 500;
}
if ($entries > 60){
    $entries = 50;
}
if ($entries != 0 &amp;amp;&amp;amp; $entries > 0){
    $count = $entries;
}
$mail = "mailto:$email";
if ($show_time == 1 &amp;amp;amp;&amp;amp;amp; $show_date == 1)
{
    $message = sprintf("<b>%s </b>&amp;amp;amp;nbsp;| $date at $time |<br><b>%s</b><br><br><hr noshade color=\"ffffff\"><br>",stripslashes($nick), stripslashes($msg));
}
if ($show_time == 1 &amp;amp;amp;&amp;amp;amp; $show_date != 1)
{
    $message = sprintf("<b>%s - $time<br><b>%s<br><br><br>",stripslashes($nick), stripslashes($msg));
}
if ($show_time != 1 &amp;amp;amp;&amp;amp;amp; $show_date == 1)
{
    $message = sprintf("<b>%s - $date<b>%s<br><br><br>",stripslashes($nick), stripslashes($msg));
}
if ($show_time != 1 &amp;amp;amp;&amp;amp;amp; $show_date != 1)
{
    $message = sprintf("<b>%s<br><b>%s<br><br><br>",stripslashes($nick), stripslashes($msg));
}
$fcontents = join ( '', file ( "messages.txt")); 
$fp = fopen ("messages.txt", "w");
fwrite ($fp, "$message\n");
fwrite ($fp, $fcontents);
fclose ($fp);
if ($entries != 0 &amp;amp;&amp;amp; $entries > 0){
$jpmaster = file ("messages.txt"); 
$fpp = fopen ("messages.txt", "w");
for ($i=0; $i < $count; $i++){
fwrite ($fpp, $jpmaster[$i]);
}
}
fclose ($fpp);
$fh = fopen ("home.txt", "w");
fwrite ($fh, "$home");
fclose ($fh);
}
?>


<html>
<head><title>GUESTBOOK M.E. REDIRECTING</title>
<script language="javascript">
window.location="entries.php"
</script>
</head>
</html>
?>

  • D2k
  • Registratie: Januari 2001
  • Laatst online: 31-08 10:19

D2k

regel?

Doet iets met Cloud (MS/IBM)


  • Blaise
  • Registratie: Juni 2001
  • Niet online
48

  • D2k
  • Registratie: Januari 2001
  • Laatst online: 31-08 10:19

D2k

Op dinsdag 22 januari 2002 13:39 schreef Blaise het volgende:
48
en dat is?
ik kan het echt niet in mijn glazen bol allemaal gaan opsnorren hoor :)

Doet iets met Cloud (MS/IBM)


  • LuCarD
  • Registratie: Januari 2000
  • Niet online

LuCarD

Certified BUFH

if ($show_time == 1 && $show_date == 1)

deze regel heb je zeker letter lijk overgenomen?

& moet je wel vervangen door & maar de php code highlighter vervangt deze door &amp;

En vergeet de andere 3 if statements niet... (zelfde verhaal)
Op dinsdag 22 januari 2002 13:40 schreef D2k het volgende:

[..]

en dat is?
ik kan het echt niet in mijn glazen bol allemaal gaan opsnorren hoor :)
Tellen is 1 van de basis elementen van programmeren hoor >:) >:) :+

Programmer - an organism that turns coffee into software.


  • Blaise
  • Registratie: Juni 2001
  • Niet online
vanaf bold:

if ($entries > 60){
$entries = 50;
}
if ($entries != 0 && $entries > 0){
$count = $entries;
}
$mail = "mailto:$email";
if ($show_time == 1 &amp;&amp; $show_date == 1)
{
$message = sprintf("<b>%s </b>&amp;nbsp;| $date at $time |<br><b>%s</b><br><br><hr noshade color...

  • Blaise
  • Registratie: Juni 2001
  • Niet online
Het werkt! :D

Ik dank u allen, en alle aanwezigen zijn toegevoegd aan mijn "gratis-biertje-afhaal-lijst"

  • LuCarD
  • Registratie: Januari 2000
  • Niet online

LuCarD

Certified BUFH

Op dinsdag 22 januari 2002 13:49 schreef Blaise het volgende:
Het werkt! :D

Ik dank u allen, en alle aanwezigen zijn toegevoegd aan mijn "gratis-biertje-afhaal-lijst"
Mooi waar en wanneer?

Ik woon namelijk ook in Amsterdam >:)

Programmer - an organism that turns coffee into software.


  • Blaise
  • Registratie: Juni 2001
  • Niet online
oei... daar had ik niet op gerekend... :(
is een colaatje ook goed? :P

  • LuCarD
  • Registratie: Januari 2000
  • Niet online

LuCarD

Certified BUFH

Op dinsdag 22 januari 2002 13:54 schreef Blaise het volgende:
oei... daar had ik niet op gerekend... :(
is een colaatje ook goed? :P
Je moet ook niet iets beloven als je het niet kan waar maken.... >:)

Maar laat het colaatje maar....

Programmer - an organism that turns coffee into software.


  • Blaise
  • Registratie: Juni 2001
  • Niet online
* Blaise kijkt naar zijn laatste biertje...

niet kunnen waarmaken? wha?
daar ging het niet helemaal om... 8-)

  • dusty
  • Registratie: Mei 2000
  • Laatst online: 21-02 00:06

dusty

Celebrate Life!

Op dinsdag 22 januari 2002 13:42 schreef LuCarD het volgende:
Tellen is 1 van de basis elementen van programmeren hoor >:) >:) :+
En lui zijn de 2de!

Back In Black!
"Je moet haar alleen aan de ketting leggen" - MueR

Pagina: 1