Berichtenbalk V1

Door Romano , 22 jaar geleden, 8.400x bekeken

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

 

Er zijn 20 reacties op 'Berichtenbalk v1'

PHP hulp
PHP hulp
0 seconden vanaf nu
 

Gesponsorde koppelingen
PHP Newbie
PHP Newbie
22 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
22 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  vdv
Arwin vdv
22 jaar geleden
 
0 +1 -0 -1
voorbeeldje?
Romano
Romano
22 jaar geleden
 
0 +1 -0 -1
Als je leest staat die nog moeten komen. ;)
Als het goed is heb ik morgen een voorbeeldje.


22 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
22 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  Hackintosh
Mebus Hackintosh
22 jaar geleden
 
0 +1 -0 -1
<marquee>

Word niet door alle browsers ondersteunt

GR. mebus
- -
- -
22 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
22 jaar geleden
 
0 +1 -0 -1
Dan zet je tussen <noscript>-tags de <marquee> tag :-)
B a s
B a s
22 jaar geleden
 
0 +1 -0 -1
Nergens een strip_tags() functie of htmlentities().. Erg onveilig dus..


22 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
22 jaar geleden
 
0 +1 -0 -1
Lynx?
Terence Hersbach
Terence Hersbach
22 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
22 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
22 jaar geleden
 
0 +1 -0 -1
@Thomas,

Heel je database kan naar de kl^t$ geholpen worden hoor.
Jan Koehoorn
Jan Koehoorn
22 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
22 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
22 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
22 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
PHP hulp
PHP hulp
0 seconden vanaf nu
 

Gesponsorde koppelingen
Patrick
Patrick
21 jaar geleden
 
0 +1 -0 -1
Voorbeeld?

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

Inhoudsopgave

  1. berichtenbalk-v1

Labels

  • Geen tags toegevoegd.

Navigatie

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.