FOK!forum / Digital Corner / Kleine vragen gerelateerd aan webdevelopment en programmeren
_--_woensdag 27 december 2017 @ 19:49
Dit topic heb ik geopend voor 2 redenen:
1. omdat het handig is als vragen gerelateerd aan deze dingen in 1 topic komen ipv er steeds een nieuw topic over te openen.

2. Omdat ik een vraag heb

1
2
3
4
5
6
if($_POST) {
    $name = $_POST['name'];
    $content = $_POST['commentContent'];
    $handle = fopen("comments.html","a");
    fwrite($handle,"<b>" . $name . "</b>:<br/>" . $content . "<br/>");
    fclose($handle);

Hoe zorg ik ervoor dat $name hier een kleurtje krijgt? Er is markdown gebruikt om het dikgedrukt te maken.

SPOILER
Als dezen topic een succes wordt maak ik een betere OP :P
Anthraxxwoensdag 27 december 2017 @ 19:53
Er is HTML gebruikt om het dikgedrukt te maken, geen markdown, Je kunt de naam een kleur geven door gebruik te maken van CSS class of inline CSS styling.

Bijv. iets als (inline CSS styling)

1    fwrite($handle,"<span style=\"color: red, font-weight: bold\">" . $name . "</span>:<br/>" . $content . "<br/>");

Of een externe CSS class
1
2
3
4
5
6
<style>
.naam {
    color: red;
    font-weight: bold;
}
</style>
En dan:
1    fwrite($handle,"<span class=\"naam\">" . $name . "</span>:<br/>" . $content . "<br/>");
Of iets in die strekking.

De kleuren kun je aangeven met hexcodes (#ff0000). De escaped quotes zijn nodig omdat jij al " gebruikt voor je string in je PHP code.
_--_woensdag 27 december 2017 @ 20:02
quote:
0s.gif Op woensdag 27 december 2017 19:53 schreef Anthraxx het volgende:
Er is HTML gebruikt om het dikgedrukt te maken, geen markdown, Je kunt de naam een kleur geven door gebruik te maken van CSS class of inline CSS styling.

Bijv. iets als (inline CSS styling)
[ code verwijderd ]

Of een externe CSS class
[ code verwijderd ]

En dan:
[ code verwijderd ]

Of iets in die strekking.

De kleuren kun je aangeven met hexcodes (#ff0000). De escaped quotes zijn nodig omdat jij al " gebruikt voor je string in je PHP code.
Van FOK! wist ik dat dat gedoe met <b> markdown is, maar goed.

Ik heb je inline versie geprobeerd en notepad herkent de code niet omdat dat stukje html in een php-tag staat. toch geprobeerd maar het werkt toch niet. dikgedrukt is nu ook weg.

Hier kunt u het zelf uittesten http://themuurtje.me
_--_woensdag 27 december 2017 @ 20:04
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
<?php
if($_POST) {
    $name = $_POST['name'];
    $content = $_POST['commentContent'];
    $handle = fopen("comments.html","a");
    fwrite($handle,"<span style=\"color: red, font-weight: bold\">" . $name . "</span>:<br/>" . $content . "<br/>");

    fclose($handle);
    
}
?>

<html>
    <head>
        
    </head>
    <body>
        <form action = "" method = "POST">
        Naam<br/>
        <input type = "text" name = "name" maxlength = "18"><br/>
        Commentaar<br/>
        <textarea maxlength = "100" rows = "3" cols = "40" name = "commentContent"></textarea><br/>
        <input type = "submit" value = "Post"><br/>
        </form>
        <?php include "comments.html"; ?>
    </body>
</html>
Ik heb nu dit exact, klopt die ''\' na het is-teken wel?
_--_woensdag 27 december 2017 @ 20:08
aha, nu werkt die ineens. Ik heb inplaats van de komma de ";" gebruikt :)

Bedankt!
Anthraxxwoensdag 27 december 2017 @ 20:11
quote:
10s.gif Op woensdag 27 december 2017 20:08 schreef _--_ het volgende:
aha, nu werkt die ineens. Ik heb inplaats van de komma de ";" gebruikt :)

Bedankt!
Ah, typefout in het snel posten :). Maar het moet inderdaad een ; zijn.
_--_woensdag 27 december 2017 @ 20:43
Malwareporn ja :')
Anthraxxwoensdag 27 december 2017 @ 21:34
quote:
10s.gif Op woensdag 27 december 2017 20:43 schreef _--_ het volgende:
Malwareporn ja :')
?
_--_woensdag 27 december 2017 @ 21:44
quote:
0s.gif Op woensdag 27 december 2017 21:34 schreef Anthraxx het volgende:

[..]

?
quote:
0s.gif Op woensdag 27 december 2017 21:34 schreef Anthraxx het volgende:

[..]

?
mn site is zo slecht qua veiligheid dat iemand een interactieve frame van fok forum heeft geplaatst :')
PascalDutchwoensdag 27 december 2017 @ 23:04
quote:
10s.gif Op woensdag 27 december 2017 21:44 schreef _--_ het volgende:

[..]

[..]

mn site is zo slecht qua veiligheid dat iemand een interactieve frame van fok forum heeft geplaatst :')
Ik zou inderdaad een aantal trim functions op je input fields uitvoeren ja:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?php
function trimFunction($post){
    trim($post);
    strtolower($post);
    htmlentities($post);
    mysqli_real_escape_string($post) //alleen als je een database connectie hebt gemaakt uiteraard
}
//vervolgens roep je gewoon de functie aan
$name = trimFunction($_POST["name"]);
//in jouw code:
<?php
if($_POST) {
    $name = trimFunction($_POST['name']);
    $content =trimFunction( $_POST['commentContent']);
    $handle = fopen("comments.html","a");
    fwrite($handle,"<span style=\"color: red, font-weight: bold\">" . $name . "</span>:<br/>" . $content . "<br/>");

    fclose($handle);
    
}
?>
Je kunt overigens ook enkele quotes (') gebruiken voor je CSS in plaats van te escapen met \. Houdt je code iets overzichtelijker. Als je het helemaal goed wilt doen dan gebruik je natuurlijk of een apart stylesheet of je gebruikt de <style></style> tags.

Het zou wel niet helemaal werken ben ik bang, even in twee minuten in elkaar getypt :P . Maar dan heb je in ieder geval een beginnetje ;)

Ik zou overigens ook eerst checken of je $_POST überhaupt gevuld is:
1
2
3
4
5
6
7
<?php
if(!isset($_POST["submit"])){
    echo "Submit button not clicked, try again";
    die(); //gebruik die met de nodige voorzichtigheid, je hele script stopt dan namelijk. Beter is om een exceptie of iets dergelijks te generen, break kan natuurlijk ook hoewel dat technisch gezien hetzelfde is.

}
?>
Succes!
_--_woensdag 27 december 2017 @ 23:09
quote:
0s.gif Op woensdag 27 december 2017 23:04 schreef PascalDutch het volgende:

[..]

Ik zou inderdaad een aantal trim functions op je input fields uitvoeren ja:
[ code verwijderd ]

Je kunt overigens ook enkele quotes (') gebruiken voor je CSS in plaats van te escapen met \. Houdt je code iets overzichtelijker. Als je het helemaal goed wilt doen dan gebruik je natuurlijk of een apart stylesheet of je gebruikt de <style></style> tags.

Het zou wel niet helemaal werken ben ik bang, even in twee minuten in elkaar getypt :P . Maar dan heb je in ieder geval een beginnetje ;)

Ik zou overigens ook eerst checken of je $_POST überhaupt gevuld is:
[ code verwijderd ]

Succes!
Thanks, ik ga ermee aan de slag!
Lightdonderdag 28 december 2017 @ 12:24
Wat is er mis met de topics DIG / [HTML, CSS, JS] Frontend #45: topic nummer++ en DIG / [PHP/(My)SQL] voor dummies #123: Zoals de boer het ook zou doen! ?
_--_donderdag 28 december 2017 @ 12:33
quote:
Ik zeg niet dat er iets mis mee is. In die topics is zolang niet gereageerd dat je ze niet eens meer kunt vinden. Daarom dacht ik dat er niet zo'n topic was.
#ANONIEMdonderdag 28 december 2017 @ 13:50
oeps heb je site gesloopt :(
_--_donderdag 28 december 2017 @ 13:52
quote:
0s.gif Op donderdag 28 december 2017 13:50 schreef totalvamp het volgende:
oeps heb je site gesloopt :(
660f9b11282b5b95867fdfeeb4e4c792.png
:')
#ANONIEMdonderdag 28 december 2017 @ 13:56
quote:
10s.gif Op donderdag 28 december 2017 13:52 schreef _--_ het volgende:

[..]

[ afbeelding ]
:')
had het erger kunnen doen ;) Dit is nog redelijk netjes
_--_donderdag 28 december 2017 @ 13:57
quote:
1s.gif Op donderdag 28 december 2017 13:56 schreef totalvamp het volgende:

[..]

had het erger kunnen doen ;) Dit is nog redelijk netjes
gelukkig weet mn host dat dat vies is en stuurt ie me door naar een 404 error pagina :')
#ANONIEMdonderdag 28 december 2017 @ 14:07
quote:
10s.gif Op donderdag 28 december 2017 13:57 schreef _--_ het volgende:

[..]

gelukkig weet mn host dat dat vies is en stuurt ie me door naar een 404 error pagina :')
Ik kan nu makkelijk je server alles laten doen wat ik wil :P
_--_donderdag 28 december 2017 @ 14:09
quote:
0s.gif Op donderdag 28 december 2017 14:07 schreef totalvamp het volgende:

[..]

Ik kan nu makkelijk je server alles laten doen wat ik wil :P
ab593d93d5b36c9d53aec964c5ef07da.png
Alleen werkt je hele script niet echt :P

Ik kan alles toch weer verwijderen. Alleen jammer dat pattern niet werkt voor <textarea>
#ANONIEMdonderdag 28 december 2017 @ 14:10
het werkt wel hoor ;)

"Web Server: Too many connections!"

ookal heb je pattern aanstaan dan kan ik nog alles erop zetten :)
_--_donderdag 28 december 2017 @ 14:11
quote:
0s.gif Op donderdag 28 december 2017 14:10 schreef totalvamp het volgende:
het werkt wel hoor ;)

"Web Server: Too many connections!"

ookal heb je pattern aanstaan dan kan ik nog alles erop zetten :)
Als ik nou eens voor beide velden "<" en ">" uitzet, hoe moet je dat dan injecteren?

En ik bedoelde eigenlijk dat je alerts niet werkt.
#ANONIEMdonderdag 28 december 2017 @ 14:12
quote:
10s.gif Op donderdag 28 december 2017 14:11 schreef _--_ het volgende:

[..]

Als ik nou eens voor beide velden "<" en ">" uitzet, hoe moet je dat dan injecteren?

En ik bedoelde eigenlijk dat je alerts niet werkt.
Ah ja de alerts was meer gewoon html injecteren om het bestand groter te maken :P

je had eerder een advies gekregen om escape_string te gebruiken.

Ik zou ook kijken naar een sql database om je data in op te slaan.
_--_donderdag 28 december 2017 @ 14:26
quote:
0s.gif Op donderdag 28 december 2017 14:12 schreef totalvamp het volgende:

[..]

Ah ja de alerts was meer gewoon html injecteren om het bestand groter te maken :P

je had eerder een advies gekregen om escape_string te gebruiken.

Ik zou ook kijken naar een sql database om je data in op te slaan.
Dan ga ik daar maar snel voor zorgen :P

sql data is niet noodzakelijk omdat ik deze site alleen gebruikt om dingen op te testen.
_--_donderdag 28 december 2017 @ 15:09
quote:
0s.gif Op donderdag 28 december 2017 14:12 schreef totalvamp het volgende:

[..]

Ah ja de alerts was meer gewoon html injecteren om het bestand groter te maken :P

je had eerder een advies gekregen om escape_string te gebruiken.

Ik zou ook kijken naar een sql database om je data in op te slaan.
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
<?php
function _e($string) {
    echo htmlspecialchars($string, ENT_QUOTES, 'UTF-8');
}
    
if($_POST) {
    $name = $_POST['name'];
    $content = $_POST['commentContent'];
    $handle = fopen("comments.html","a");
    fwrite($handle,"<span style=\"color: red; font-weight: bold;\">" . $name . "</span>:<br/>" . $content . "<br/>" . "<br/>");

    fclose($handle);
    
}
?>

<html>
    <head>
    <meta charset="UTF-8">
    </head>
    <body>
        <form action = "" method = "POST">
        Naam<br/>
        <input type = "text" pattern = "^[A-Za-z0-9_.]{4,}$" name = "name"><br/>
        Commentaar<br/>
        <textarea rows = "3" cols = "40" name = "commentContent"></textarea><br/>
        <input type = "submit" value = "Post"><br/>
        </form>
        <?php include _e("comments.html"); ?>
    </body>
</html>
Ik heb dit dus nu geprobeerd maar tevergeefs :'(

1
2
3
4
comments.html
Warning: include(): Filename cannot be empty in /srv/disk10/2409091/www/themuurtje.me/index.php on line 29

Warning: include(): Failed opening '' for inclusion (include_path='.:/usr/local/php-5.6.32/share/pear') in /srv/disk10/2409091/www/themuurtje.me/index.php on line 29
#ANONIEMdonderdag 28 december 2017 @ 15:15
quote:
10s.gif Op donderdag 28 december 2017 15:09 schreef _--_ het volgende:

[..]
[ code verwijderd ]

Ik heb dit dus nu geprobeerd maar tevergeefs :'(
[ code verwijderd ]

je include ook geen bestand, de functie zou een bestand moeten teruggeven.

je zou nu comments.html eruit krijgen als je _e("comments.html") doet
_--_donderdag 28 december 2017 @ 15:25
quote:
0s.gif Op donderdag 28 december 2017 15:15 schreef totalvamp het volgende:

[..]

je include ook geen bestand, de functie zou een bestand moeten teruggeven.

je zou nu comments.html eruit krijgen als je _e("comments.html") doet
Ik heb toch maar even de code boven gebruikt:
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
<?php
function trimFunction($post){
    trim($post);
    strtolower($post);
    htmlentities($post);

}

if($_POST) {
    $name = trimFunction($_POST['name']);
    $content =trimFunction( $_POST['commentContent']);
    $handle = fopen("comments.html","a");
    fwrite($handle,"<span style=\"color: red; font-weight: bold;\">" . $name . "</span>:<br/>" . $content . "<br/>" . "<br/>");

    fclose($handle);
    
}
?>

<html>
    <head>
    <meta charset="UTF-8">
    </head>
    <body>
        <form action = "" method = "POST">
        Naam<br/>
        <input type = "text" name = "name"><br/>
        Commentaar<br/>
        <textarea rows = "3" cols = "40" name = "commentContent"></textarea><br/>
        <input type = "submit" value = "Post"><br/>
        </form>
        <?php include ("comments.html"); ?>
    </body>
</html>

Maar nu zijn de comments onzichtbaar ;(
_--_donderdag 28 december 2017 @ 15:57
Okay nu werkt ie wel http://themuurtje.me/ _O_
#ANONIEMdonderdag 28 december 2017 @ 16:04
quote:
10s.gif Op donderdag 28 december 2017 15:57 schreef _--_ het volgende:
Okay nu werkt ie wel http://themuurtje.me/ _O_
ziet er idd naar uit :)