Berichtenbalk V1

Nou mijn eerste script. :D
Het zal misschien ontzennend slordig gescript zijn maar dat moet nog komen.
Voorbeeld komt nog ;)

Het is een berichten balk wat gebruik maakt van mysql en smilies.
Uitleg staat in het script zelf.

CREATE TABLE `balk` (
`id` INT( 11 ) NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`naam` VARCHAR( 15 ) NOT NULL ,
`bericht` VARCHAR( 100 ) NOT NULL
) ENGINE = MYISAM ;

download: Zip-bestand
Zip-bestand (Mirror)

Gesponsorde koppelingen

PHP script bestanden

  1. berichtenbalk-v1

 

21 reacties op 'Berichtenbalk V1'

PHP hulp
PHP hulp
0 seconden vanaf nu
 

Gesponsorde koppelingen
PHP Newbie
PHP Newbie
6 jaar geleden
 
0 +1 -0 -1
het zou makkelijk zijn als je even inspringt in je code. Verder zijn er hier al wel meer van.

if(isset($_POST['submit'])) {

kun je beter zo doen:

if($_SERVER['request_method'] == 'POST'){

en je mag NOOIT maar dan ook NOOIT zomaar de gegevens van iemand in de database gooien. Hier moet je ALTIJD wat checks overheen gooien.

en hoezo werken hoofdletters niet, ik zie nergens een strtolower
Romano
Romano
6 jaar geleden
 
0 +1 -0 -1
Ik bedoel de hoofdletters bij de smileys iedereen heeft de neiging :P
terwijl bij mij staat :p
edit:
heb het bij de notitie gezet.
Arwin van der Velden
Arwin van der Velden
6 jaar geleden
 
0 +1 -0 -1
voorbeeldje?
Romano
Romano
6 jaar geleden
 
0 +1 -0 -1
Als je leest staat die nog moeten komen. ;)
Als het goed is heb ik morgen een voorbeeldje.


6 jaar geleden
 
0 +1 -0 -1
Die smilie functie is echt slecht en onhandig. Wat dacht je van één array: $smiley['hierdecode'] = 'adresvanplaatje'; en dan een replace met "<img src=\"".$smiley['code']."\">";

En <marquee> is niet valid, werkt niet overal => gebruik JavaScript
PHP Newbie
PHP Newbie
6 jaar geleden
 
0 +1 -0 -1
zelf heb ik dit geschreven voor smileys.

Nou ja geschreven..... bij elkaar gesprokkeld en wat dingen aangepast.

Edit:
Verder zou ik er zeker nog een datum bij zetten in de MySQL tabel, want als je alle berichten van 3 maanden achter elkaar laat lopen...

Veldje: datum, toevoegen in de DB en daarna een mogelijkheid maken om in te stellen van hoe lang geleden een bericht weergeven moet worden.
Mebus  vg
mebus vg
6 jaar geleden
 
0 +1 -0 -1
<marquee>

Word niet door alle browsers ondersteunt

GR. mebus
Herjan -
Herjan -
6 jaar geleden
 
0 +1 -0 -1
Webmakerij:
En <marquee> is niet valid, werkt niet overal => gebruik JavaScript


JavaScript wordt ook niet overal ondersteund...
K i p
K i p
6 jaar geleden
 
0 +1 -0 -1
Dan zet je tussen <noscript>-tags de <marquee> tag :-)
Bas Kreleger
Bas Kreleger
6 jaar geleden
 
0 +1 -0 -1
Nergens een strip_tags() functie of htmlentities().. Erg onveilig dus..


6 jaar geleden
 
0 +1 -0 -1
Herjan:
Webmakerij:
En <marquee> is niet valid, werkt niet overal => gebruik JavaScript
JavaScript wordt ook niet overal ondersteund...


JavaScript wordt door (alle) browsers ondersteund, soms is het alleen uitgezet door de gebruiker. Dat is dan zijn/haar eigen keuze die heel veel nadelen met zich mee brengt. Echter als je browser geen marquee ondersteund kan je daar gewoon niks aan doen.
Legolas
Legolas
6 jaar geleden
 
0 +1 -0 -1
Lynx?
Terence Hersbach
Terence Hersbach
6 jaar geleden
 
0 +1 -0 -1
Quote:
SET id = ''

is onnodig om id er bij te zetten

Quote:
$sql = "INSERT INTO balk SET id = '', naam ='".$_POST['naam']."', bericht='".$_POST['bericht']."'"

TOTAAL niet veilig.. stuur nooit regelrecht tekst dat ingevoerd is een database in..
bovendien is het zo dat als je iets met ' erin zet, dat hele ding niet meer werkt.
Thomas M
Thomas M
6 jaar geleden
 
0 +1 -0 -1
Inderdaad heel onveilig, kwaadwillende gebruiker met een beetje kennis van zaken kan van alles doen. Niet dat dat nou direct kwalijk is voor een berichtenbalk maar het is toch wel onhandig als de layout ineens een paarhonderd pixels wordt uitgerekt door het ontbreken van codestrippers :)
PHP Newbie
PHP Newbie
5 jaar geleden
 
0 +1 -0 -1
@Thomas,

Heel je database kan naar de kl^t$ geholpen worden hoor.
Jan Koehoorn
Jan Koehoorn
5 jaar geleden
 
0 +1 -0 -1
Deze:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?php

function smilie($tekst)
{


$smilie = array (":)",":o",";)",":p",":d","(h)",":|",":h",":@",":(");

$img = array ("<img src=\"smilies/1.gif\">", "<img src=\"smilies/ohmy.gif\">", "<img src=\"smilies/3.gif\">", "<img src=\"smilies/tongue.gif\">","<img src=\"smilies/biggrin.gif\">","<img src=\"smilies/cool.gif\">","<img src=\"smilies/dry.gif\">","<img src=\"smilies/laugh.gif\">","<img src=\"smilies/mad.gif\">","<img src=\"smilies/sad.gif\"></img>");

$aantal = count($smilie);

for ($var = 0; $var < $aantal; $var++ )
{


$tekst = str_replace($smilie[$var], $img[$var], $tekst );

}


return $tekst;
}

?>

kan veel mooier:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
<?php
    function smilie ($str) {
        $smilie = array ('/:)/','/:o/','/;)/','/:p/','/:d/','/(h)/','/:/','/:h/','/:@/','/:(/');
        $img = array ('<img src="smilies/1.gif">', '<img src="smilies/ohmy.gif">', '<img src="smilies/3.gif">', '<img src="smilies/tongue.gif">','<img src="smilies/biggrin.gif">','<img src="smilies/cool.gif">','<img src="smilies/dry.gif">','<img src="smilies/laugh.gif">','<img src="smilies/mad.gif">','<img src="smilies/sad.gif"></img>');
        foreach ($smilie as $key => $value) {
            $smilie[$key] = preg_quote ($value);
        }

        return preg_replace ($smilie, $img, $str);
    }

?>
CB2thephp
CB2thephp
5 jaar geleden
 
0 +1 -0 -1
Ik weet dit is al gezegd, maar ga eens kijken naar beveiligings tutorials hier is een goeie:

klik klik

Veel plezier leer er van
PHP Newbie
PHP Newbie
5 jaar geleden
 
0 +1 -0 -1
voorbeeldje zou ook leuk zijn, al weten de meeste wel hoe dit eruit gaat zien maar toch.
Majid Ahddin
Majid Ahddin
5 jaar geleden
 
0 +1 -0 -1
Quote:
if(isset($_POST['submit'])) {

kun je beter zo doen:

if($_SERVER['request_method'] == 'POST'){

100 mensen, 100 meningen
wat je het beste kan doen is gewoon controleren of de vars zijn geset die je nodig hebt. Als method POST is kan het nog zijn dat er 0 vars meegestuurd zijn. Zit je nog te kijken met je notices.

beter dus nog:
if ( isset($_POST['naam'], $_POST['bericht']) )

en vanzelfsprekend 'een paar checks' eroverheen
Patrick
Patrick
4 jaar geleden
 
0 +1 -0 -1
Voorbeeld?

Om te reageren heb je een account nodig en je moet ingelogd zijn.

  • Details
  • Romano
    Door:
    Romano
  • 6 jaar geleden
  • 1.239 x bekeken
  • Labels
  • Geen tags toegevoegd.