Gastenboek met XML

Door Legolas , 24 jaar geleden, 9.760x bekeken

Eerst heel ff dit: de ubb parser is een licht omgebouwde versie van die van jorik: http://www.phphulp.nl/php/scripts/6/251/. Daar kun je dus ook de smileys vinden ;). Het lijntje tussen berichten heb ik nog niet echt een download plek bezorgt... sorry :P.

Gesponsorde koppelingen

PHP script bestanden

  1. gastenboek-met-xml

 

Er zijn 186 reacties op 'Gastenboek met xml'

PHP hulp
PHP hulp
0 seconden vanaf nu
 

Gesponsorde koppelingen
Eris -
Eris -
24 jaar geleden
 
0 +1 -0 -1
Om een phrase error te voorkomen is het handig om geen lege bestand toe te voegen. Desnoods staat er 1 post in.

Je kan dan een error verwachten (foreach). Tevens bij de fread bij het posten. (Dit is op te losen door een mallig te onderdrukken

Even een demo toegevoegd
Legolas
Legolas
24 jaar geleden
 
0 +1 -0 -1
Ik was per ongeluk vergeten een stukje jscript mee te posten, heb ut er net ff bijgezet :P
DaeDaluz
DaeDaluz
24 jaar geleden
 
0 +1 -0 -1
Als je niet alle velden invult krijg je die melding.. maar dan moet je ook gelijk je post over nieuw doen ;)
Legolas
Legolas
24 jaar geleden
 
0 +1 -0 -1
Nieuwe posts boven aan?
Vervang
$txt = "<gastenboek>" . $al . $item . "</gastenboek>";
met
$txt = "<gastenboek>" . $item . $al . "</gastenboek>";
Legolas
Legolas
24 jaar geleden
 
0 +1 -0 -1
@DaeDaluz: code aangepast
DaeDaluz
DaeDaluz
24 jaar geleden
 
0 +1 -0 -1
Mooi! verder heb ik niks aan te merken :) top script
Arend a
Arend a
24 jaar geleden
 
0 +1 -0 -1
Bijzonder mooi script, netjes gemaakt!
Peter Dorn
Peter Dorn
24 jaar geleden
 
0 +1 -0 -1
Ik wel... dat hele smileys gebeuren :)
Dat kan veeeeel korter...

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
<?
function ubb($text) {
    $smile = array(
    "/:\)/",
    "/8\|/",
    "/:\o/"
    );
    $img = array(
    "smile.gif",
    "huh.gif",
    "ohmy.gif"
    );
    $image = array();
    foreach($img as $file) {
        $image[] = "<img src=\"images/smilies/$file\">";
    }

    $text = preg_replace($smile, $image, $text);
    return $text;
}

$text = "Hallo daar :)";
echo ubb($text);
?>


Dit scheelt je heel vaak een str_replace() wat je script ook sneller maakt.
En eerlijk gezegd vind ik het ook makkelijker werken, en er mooier uit zien :)
Arend a
Arend a
24 jaar geleden
 
0 +1 -0 -1
In de praktijk worden er niet minder replaces gedaan, dus ik durf te betwijfelen of het werkelijk sneller is. Bij deze hoeveelheid moet je van de twee arrays ernstig gaan zoeken alsje een smiley wil veranderen? (Stel: je wil de middelste van 20 eruit hebben.. twee keer regel 10 opzoeken?).

Ik vind alleen het script van de auteur een beetje vreemd dat hij wel een array contructie maakt voor smileys, maar die vervolgens niet gebruikt.
Legolas
Legolas
24 jaar geleden
 
0 +1 -0 -1
Ik heb het omgebouwd, nu wordt er een global gemaakt in functies en die word overal gebruikt, kun je makkelijk nieuwe smileys erbij stoppen. De reden voor dat het zo was is omdat het ubb stukje een bewerkte versie was van dat andere script (staat in de uitleg). Maar zo is het denk ik wel gebruikers vriendelijker :). Verder nog meer ideeën?

edit: die array werd gebruikt voor de aanklikbare smileys in het gastenboek.
Bram Z
Bram Z
24 jaar geleden
 
0 +1 -0 -1
volgens mij zitter er serieus wat fouten in ik geef deze reactie :

Waar is die xml nu ??

gepikte smileys en ze werken nog niet ook

en dit word weergegeven

??
Dark (31-01-2005 16:48)
waa s d<i>e xm n<> ?gepkte sm<i>" target="_blank">>i>eys en ze werken nog niet ook
Legolas
Legolas
24 jaar geleden
 
0 +1 -0 -1
die online versie is ouder dan die die hier staat :S
Johan
Johan
24 jaar geleden
 
0 +1 -0 -1
update dan...
DaeDaluz
DaeDaluz
24 jaar geleden
 
0 +1 -0 -1
Die online versie is van Jaap ;)
Eris -
Eris -
24 jaar geleden
 
0 +1 -0 -1
ik heb hem geupdate

Somige mensen vonden het leuk om alles onder te spammen en zo 10 mb op 1 dag te treken ^^
Legolas
Legolas
24 jaar geleden
 
0 +1 -0 -1
wrm werken die globals voor de smileys bij jou niet?
edit: nu doen ze het opeens :P
Legolas
Legolas
24 jaar geleden
 
0 +1 -0 -1
Ik heb een bug in de phphulp site hier, de i u en b (ubb) horen ge-escaped te zijn, wat ze ook zijn in de code (als je op wijzigen klikt), maar niet in wat er hier weergeven wordt en op de script mirror.


24 jaar geleden
 
0 +1 -0 -1
Bij het runnen van de scripts krijg ik onderstaande melding bij het wegschrijven:
Warning: Cannot modify header information - headers already sent by (output started at Z:\Inetpub\wwwroot\verzenden.php:2) in Z:\Inetpub\wwwroot\verzenden.php on line 33

Wat kan hier de oorzaak van zijn?
Legolas
Legolas
24 jaar geleden
 
0 +1 -0 -1
heb je de scripts aangepast?
Eris -
Eris -
24 jaar geleden
 
0 +1 -0 -1
Het is jammer dat mensen zich zo graag willen misdragen ^^
Ik als het erger wordt hall ik hem offline ^^


24 jaar geleden
 
0 +1 -0 -1
Ik heb dit script toegepast op mijn website maar het werk wel maar met fouten kom tdat omdat dit script in een oude php taal is geschreven ik heb namelijk php 5.03
Eris -
Eris -
24 jaar geleden
 
0 +1 -0 -1
Hij werkt ook zonder fouten op php 5.0.1 dus 5.0.3 lijkt mij geen probleem

Wat is je error
Legolas
Legolas
24 jaar geleden
 
0 +1 -0 -1
en dit:
// Cursief
$string = preg_replace("#(.+?)#is","<i>\\1</i>",$string);
// Onderstreept
$string = preg_replace("#(.+?)#is","<u>\\1</u>",$string);
// Vetgedrukt
$string = preg_replace("#(.+?)#is","<b>\\1</b>",$string);
moet met \ voor de [ en ], maar de phphulpwebsite kan ut nie aan :P

edit: spaties zijn vanwege board code


24 jaar geleden
 
0 +1 -0 -1
Werkt de eerste keer zonder enige problemen hier.

Alleen jammer dat de functie isset hierbij niet gebruikt is. Ik gebruik PHP5 en PHP Expert Editor en met deze combinatie worden de invulbare velden gevuld met een HTML foutmelding. Maar een beetje sleutelen lost dat wel op, de gebruikte software is erg kritisch. Maar ondanks dit een erg mooi stukkie script. ;)

To be continued...


24 jaar geleden
 
0 +1 -0 -1
IK heb de scripts niet aangepast.
Runnen geeft direct de betreffende melding.
Legolas
Legolas
24 jaar geleden
 
0 +1 -0 -1
raar, omdat er totaal niks gebeurt op regel 2 :P (of heb je een gratis host met reclame?), maar als het blijft voor doen kun je de header regel uitbreiden tot dit:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
header("Location: gastenboek.php?msg=2&email=" . $email . "&ond=" . $onderwerp . "&naam=" . $naam . "&bericht=" . $bericht) or die("Redirection error: <a href=\"gastenboek.php?msg=2&email=" . $email . "&ond=" . $onderwerp . "&naam=" . $naam . "&bericht=" . $bericht . "\">click here</a>");
?>

zelfde voor die tweede alleen dan die url :)
Samet
samet
24 jaar geleden
 
0 +1 -0 -1
hoiii wie kan me helpen
ik heb 1 xml pagina aangemaakt die leeg is
ik heb gastenboek.php , verzenden php , functions.php

aangemaakt
maar het lukt nie wat doe ik fout


24 jaar geleden
 
0 +1 -0 -1
Misschien toeval en waarschijnlijk zal ik het wel fout doen omdat ik net met het blok PHP en mySQL begin op school, maar ik heb precies hetzelfde gedaan als Samet, mijn server moet goed zijn, is dat XML bestand gewoon een leeg bestand die je kunt aanmaken met kladblok? Of moet dit in een database komen, ik krijg meerdere foutmeldingen, en in de invulvelden staan ook allemaal dingen, wie kan mij hiermee helpen?

Met vriendelijke groet,

Wouter


24 jaar geleden
 
0 +1 -0 -1
Dat [gastenboek.php] moet niet in de code komen toch? Dat is toch gewoon hoe het bestand moet heten?


24 jaar geleden
 
0 +1 -0 -1
Sorry voor mijn vele berichten, maar dit moet het nog makkelijker maken voor de kenners, dit is het resultaat:

http://oege.ie.hva.nl/~smit8s/blok3/gastenboek.php
Johan
Johan
24 jaar geleden
 
0 +1 -0 -1
huhhh??? raaaaaaaaaaaaaaaaaaar......
Legolas
Legolas
24 jaar geleden
 
0 +1 -0 -1
oke oplossingen: maak in de gastenboek.xml zoiets als dit:

<gastenboek>
<item>
<subject>lo</subject>
<date>Sun, 30 Jan 2005 10:59:02 +0100</date>
<name>lo</name>
<email>lo</email>
<post>:)</post>
</item>
</gastenboek>

(een eerste post dus)
en zet het error niveau naar alleen echte errors en dus geen notices


24 jaar geleden
 
0 +1 -0 -1
De XML-pagina kan niet worden weergegeven
Kan XML-invoer niet lezen met opmaakmodel . Herstel de fout en klik vervolgens op de knop Vernieuwen of probeer het later opnieuw.


--------------------------------------------------------------------------------

XML-document moet een element hebben op het hoogste niveau. Fout bij het verwerken van bron http://www.wyger.nl/usr/chesti/...



Wat moet ik doen om hem te laten werken??
Legolas
Legolas
24 jaar geleden
 
0 +1 -0 -1
zie de vorige post, overigens aan je link te zien heb je dat al gedaan :)
SdeelHooligan
SdeelHooligan
24 jaar geleden
 
0 +1 -0 -1
Hoe kan ik de berichten na een bepaald aantal woorden over laten gaan op een nieuwe regel??

Als je nu blijft typen, dan wordt je scherm steeds breder.
Legolas
Legolas
24 jaar geleden
 
0 +1 -0 -1
daarvoor zul je een speciale char moeten instellen. ik zou zeggen doe bij verzenden.php dit:
$bericht = str_replace("\n", "[br]", $bericht);
en bij ubb_code dit:
$string = str_replace("[br]", "<br />\n", $string);
Hipska BE
Hipska BE
24 jaar geleden
 
0 +1 -0 -1
hoe kan ik het script het best aanpassen zodat de functions.php en gastenboek.xml in een adere directory staan zoals ../scripts/xmlgastenboek/ ?
Anders werkt hij prima!!
SdeelHooligan
SdeelHooligan
24 jaar geleden
 
0 +1 -0 -1
Nu nog wat mierenneukerij ;)

Als ik een berichtje in mijn gastenboek plaats, dan staat de tijd een half uur vroeger. Dus ik stuur bericht om 15:54, dan staat er 15:24. Hoe zou ik dat kunnen verhelpen. Zou dat komen door de server waar hij op staat? Hij staat bij Wyger.


24 jaar geleden
 
0 +1 -0 -1
ik krijg dit als ik een bericht verzend

Warning: Cannot modify header information - headers already sent by (output started at /vhost/usr/christiaanooo/functions.php:133) in /vhost/usr/christiaanooo/verzenden.php on line 32

maar als ik dan op vorige druk dan staat het bericht er wel wat kan ik hier aan doen ??
Legolas
Legolas
24 jaar geleden
 
0 +1 -0 -1
header problemen. zoek de header regel op, en pas hem aan tot zoiets:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php

$header
= "gastenboek.php?msg=2&email=" . $email . "&ond=" . $onderwerp . "&naam=" . $naam . "&bericht=" . $bericht;
header("Location: " . $header) or die("Redirection error: click <a href=\"" . $header . "\">here</a>\n<script language=\"javascript\">\ndocument.location.href = \"" . $header . "\"\n</script>");

?>


24 jaar geleden
 
0 +1 -0 -1
hmmm klopt nog niet egt weet niet wat ik fout heb gedaan dit is de link als je een bericht invult krijg je dat je noiet alles in heb gevult !!

http://www.wyger.nl/usr/christiaanoo/gastenboek.php


24 jaar geleden
 
0 +1 -0 -1
zoo heb ik em gedaan !!

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
<?php  

require("functions.php");

$email = strip_tags($_POST["email"]);  
$naam = strip_tags($_POST["naam"]);  
$onderwerp = strip_tags($_POST["onderwerp"]);  
$bericht = strip_tags($_POST["bericht"]);
$datum = date("r");  
 

$item  = "<item>\n";
$item .= "<subject>" . $onderwerp . "</subject>\n";
$item .= "<date>" . $datum . "</date>\n";
$item .= "<name>" . $naam . "</name>\n";
$item .= "<email>" . $email . "</email>\n";
$item .= "<post>" . $bericht . "</post>\n";
$item .= "</item>\n";

$file = fopen("gastenboek.xml","r");  
$al = fread($file, filesize("gastenboek.xml"));  
fclose($file);
$al = str_replace("<gastenboek>","",$al);
$al = str_replace("</gastenboek>","",$al);
$txt = "<gastenboek>" . $al . $item . "</gastenboek>";
$file = fopen("gastenboek.xml","w");  
fputs($file,$txt);  
fclose($file);  
$header = "gastenboek.php?msg=2&email=" . $email . "&ond=" . $onderwerp . "&naam=" . $naam . "&bericht=" . $bericht;
header("Location: " . $header) or die("Redirection error: click <a href=\"" . $header . "\">here</a>\n<script language=\"javascript\">\ndocument.location.href = \"" . $header . "\"\n</script>");  
?>
Legolas
Legolas
24 jaar geleden
 
0 +1 -0 -1
je controleert nu ook niet, je geeft gelijk fout headers.

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
<?php

require("functions.php");

$email = strip_tags($_POST["email"]);
$naam = strip_tags($_POST["naam"]);
$onderwerp = strip_tags($_POST["onderwerp"]);
$bericht = strip_tags($_POST["bericht"]);
$datum = date("r");
if(!$email || !$naam || !$onderwerp || !$bericht){
$header = "gastenboek.php?msg=2&email=" . $email . "&ond=" . $onderwerp . "&naam=" . $naam . "&bericht=" . $bericht;
header("Location: " . $header) or die("Redirection error: click <a href=\"" . $header . "\">here</a>\n<script language=\"javascript\">\ndocument.location.href = \"" . $header . "\"\n</script>");
}

else {

$item  = "<item>\n";
$item .= "<subject>" . $onderwerp . "</subject>\n";
$item .= "<date>" . $datum . "</date>\n";
$item .= "<name>" . $naam . "</name>\n";
$item .= "<email>" . $email . "</email>\n";
$item .= "<post>" . $bericht . "</post>\n";
$item .= "</item>\n";

$file = fopen("gastenboek.xml","r");
$al = fread($file, filesize("gastenboek.xml"));
fclose($file);
$al = str_replace("<gastenboek>","",$al);
$al = str_replace("</gastenboek>","",$al);
$txt = "<gastenboek>" . $al . $item . "</gastenboek>";
$file = fopen("gastenboek.xml","w");  
fputs($file,$txt);
fclose($file);
$header = "gastenboek.php?msg=1";
header("Location: " . $header) or die("Redirection error: click <a href=\"" . $header . "\">here</a>\n<script language=\"javascript\">\ndocument.location.href = \"" . $header . "\"\n</script>");
}

?>


24 jaar geleden
 
0 +1 -0 -1
hmm hij voegt de berichten niet toe lastig ben ik he :P
Erick Schluter
Erick Schluter
24 jaar geleden
 
0 +1 -0 -1
Waarom is er gekozen voor een combinatie met XML ? Zijn hier echte redenen voor, of is het gewoon leuk ?
Legolas
Legolas
24 jaar geleden
 
0 +1 -0 -1
Geen mysql en je kan hiervoor een admin maken :)


24 jaar geleden
 
0 +1 -0 -1
hmm ut klopt nog steets niet en heb dit gewoon toegevoegt wat je me stuurde !!
nu krijg ik als je een bericht stuur dan zegdie wel dat het bericht is verzonden maar hij staat er niet op !!

en als je niks invult en je doet verzenden doetie ook vaag kij kdit >>

http://www.wyger.nl/usr/christiaanoo/gastenboek.php
Legolas
Legolas
24 jaar geleden
 
0 +1 -0 -1
permissies?


24 jaar geleden
 
0 +1 -0 -1
huh ??


24 jaar geleden
 
0 +1 -0 -1
jah per missies

[gastenboek.php]
[verzenden.php]
[functions.php]
[gastenboek.xml] !!
Legolas
Legolas
24 jaar geleden
 
0 +1 -0 -1
ik bedoelde of de bestanden beschreven mogen worden (gechmod)


24 jaar geleden
 
0 +1 -0 -1
uhmmm jah


24 jaar geleden
 
0 +1 -0 -1
snap niet welke bestanden je bedoelt
Legolas
Legolas
24 jaar geleden
 
0 +1 -0 -1
gastenboek.xml, chmod die eens naar 777 (http://www.phphulp.nl/php/tutorials/8/54/)


24 jaar geleden
 
0 +1 -0 -1
hey nu doetie ut wel :) die berichten toevoegen alleen er is iets met dat toevoegen hij zegt als die het bericht toevoegt dat niet alle velden zijn ingevoert en hij doet gek en als ik niks invoer en op verzenden druk geeftie aan dat het bericht succes vol is toewgevoegt!

kijk dit >> <a href="http://www.wyger.nl/usr/christiaanoo/gastenboek.php"target=blank>http://www.wyger.nl/usr/christiaanoo/gastenboek.php</a>


24 jaar geleden
 
0 +1 -0 -1
ooopss


24 jaar geleden
 
Legolas
Legolas
24 jaar geleden
 
0 +1 -0 -1
waarschijnlijk een typfout gemaakt ergens :)


24 jaar geleden
 
0 +1 -0 -1
op lijn 34 geefdie aan maar dit is toch gewoon goed zie er niks aan

header("Location: " . $header) or die("Redirection error: click <a href=\"" . $header . "\">here</a>\n<script language=\"javascript\">\ndocument.location.href = \"" . $header . "\"\n</script>");
Legolas
Legolas
24 jaar geleden
 
0 +1 -0 -1
je hebt waarschijnlijk die links verkeerd om :)


24 jaar geleden
 
0 +1 -0 -1
jah klopt :P opgelost alleen als je het bericht verstuurt dan zie je zoiets verscheinen en weer weg dat hoort zoo ??


24 jaar geleden
 
0 +1 -0 -1
oo hij werkt al fantastish :D dank voor alles :)


24 jaar geleden
 
0 +1 -0 -1
is er ook iet mogelijk dat je dit op je home krijgt zeg maar

Het gastenboek van deze club telt 306 berichten. Het laatste bericht is op 10-03-2005 geschreven door timlam
mooi logo!:P...
Bekijk het gastenboek

is dit mogelijk ??
Legolas
Legolas
24 jaar geleden
 
0 +1 -0 -1
ja. :P
Dan moet je in de functions punt php een nieuwe functie maken:

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
<?php

function lastTenPosts() {
   $xmlcontent = parseXmlFile("gastenboek.xml", "item");
   $return_str = "";
   for ($i = 0; $i < 10; $i++) {
      $return_str .= genPost($xmlcontent[$i]);
   }

   return $return_str;
}

function
numberOfPosts() {
   $xmlcontent = parseXmlFile("gastenboek.xml", "item");
   return count($xmlcontent);
}


?>


24 jaar geleden
 
0 +1 -0 -1
ok mooi :P

maar op home moet ik oo kwat weg zetten toch ??
Legolas
Legolas
24 jaar geleden
 
0 +1 -0 -1
echo("Er zijn " . numberOfPosts() . " berichten in het gb.");


24 jaar geleden
 
0 +1 -0 -1
hmmm klopt niet !!
Legolas
Legolas
24 jaar geleden
 
0 +1 -0 -1
functions.php include :)


24 jaar geleden
 
0 +1 -0 -1
hij doet ut al :D

<a href="http://www.wyger.nl/usr/christiaanooo/index3.php">bekijk dit maar</a>

alleen die lijn he kan die oo kweg ?? als i kdat bij functies verander dan gaatie die lijn bij het gastenboek oo kweg !!


24 jaar geleden
 
0 +1 -0 -1
hmm waarom lukt dat niet :P

dis de link dus http://www.wyger.nl/usr/christiaanooo/index3.php
Legolas
Legolas
24 jaar geleden
 
0 +1 -0 -1
De lijn?

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
<?php

// Alternative Generator
function altGenPost($item) {
   $entry  = "";
   $entry .="<b><font face='Verdana' size='2'>" . $item["subject"] . "</b><br />\n";
   $entry .="<font face='Verdana' size='1'><a href='mailto:" . $item["email"] . "'>" . $item["name"] . "</a> (" . date("d-m-Y H:i", strtotime($item["date"])) . ")<br />\n";
   $entry .="<font face='Verdana' size='2'>" . ubb_code($item["post"]) . "<br />\n";
   return $entry;
}

function
lastTenPosts() {
   $xmlcontent = parseXmlFile("gastenboek.xml", "item");
   $return_str = "";
   for ($i = 0; $i < 10; $i++) {
      $return_str .= altGenPost($xmlcontent[$i]);
   }

   return $return_str;
}

function
numberOfPosts() {
   $xmlcontent = parseXmlFile("gastenboek.xml", "item");
   return count($xmlcontent);
}


?>


24 jaar geleden
 
0 +1 -0 -1
neej die lijn moet weg op index :P

en in het gastenboek moetie blijven staan !!!

http://www.wyger.nl/usr/christiaanooo/index3.php
Legolas
Legolas
24 jaar geleden
 
0 +1 -0 -1
daarom moet je een alternatieve genpost erbij maken voor de home :)


24 jaar geleden
 
0 +1 -0 -1
oo aha dus je zet dat gewoon bij functies alleeen dan staat het er toch dubbel bij ??
Legolas
Legolas
24 jaar geleden
 
0 +1 -0 -1
ze heten toch ook anders dan de standaard functies?


24 jaar geleden
 
0 +1 -0 -1
en dan zet ik dit op home ?

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php echo(altGenPost()); ?>


24 jaar geleden
 
0 +1 -0 -1
jah klopt :)
Legolas
Legolas
24 jaar geleden
 
0 +1 -0 -1
nee, je gebruikt de lastTenPosts() of hoeveel je dan ook ervan wilt maken :)


24 jaar geleden
 
0 +1 -0 -1
oo jah hijs nu weg mooi :)


maar snap iets niet wil die date voor die email hebben en de tijd mag weg blijven

// Alternative Generator
function altGenPost($item) {
$entry = \"\";
$entry .=\"<b><font face=\'Verdana\' size=\'2\'>\" . $item[\"subject\"] . \"</b><br />\\n\";
$entry .=\"<font face=\'Verdana\' size=\'1\'><a href=\'mailto:\" . $item[\"email\"] . \"\'>\" . $item[\"name\"] . \"</a> (\" . date(\"d-m-Y H:i\", strtotime($item[\"date\"])) . \")<br />\\n\";
$entry .=\"<font face=\'Verdana\' size=\'2\'>\" . ubb_code($item[\"post\"]) . \"<br />\\n\";
return $entry;
}
Legolas
Legolas
24 jaar geleden
 
0 +1 -0 -1
moet je de datum code veranderen
alleen datum is: d-m-Y


24 jaar geleden
 
0 +1 -0 -1
jah dat heb ik gedaan :) alleen hij moet voor email komen dat stukje zeg maar :)
Legolas
Legolas
24 jaar geleden
 
0 +1 -0 -1
Dan moet je het ervoor zetten :P


24 jaar geleden
 
0 +1 -0 -1
hahaha jah dat snap ik maar ik alleen hoe zit dat inmekaar :p :D ??? makelijker gezegt dab gedaan :P


24 jaar geleden
 
0 +1 -0 -1
// Alternative Generator
function altGenPost($item) {
$entry = "";
$entry .="<b><font face='Verdana' size='2'>" . $item["subject"] . "</b><br />\n";
$entry .="<font face='Verdana' size='1'><a href='mailto:" date("d-m-Y" , strtotime($item["date"] . $item["email"] . "'>" . $item["name"])) . ")<br />\n";
$entry .="<font face='Verdana' size='1'>" . ubb_code($item["post"]) . "<br />\n";
return $entry;
}

zoietss ?? maar dat klopt niet !!
Legolas
Legolas
24 jaar geleden
 
0 +1 -0 -1
$entry .="<font face='Verdana' size='1'>(" . date("d-m-Y H:i", strtotime($item["date"])) . ") <a href='mailto:" . $item["email"] . "'>" . $item["name"] . "</a><br />\n";


24 jaar geleden
 
0 +1 -0 -1
hmmm ik krijg die $item["name"] ook nie voor elkaar die moet voor email :)


24 jaar geleden
 
0 +1 -0 -1
zoiets moet ik hebben

$entry .="<b><font face='Verdana' size='1'>" . $item["subject"] . "</b><br />\n";
$entry .="<font face='Verdana' size='1'>(" . date("d-m-Y H:i", strtotime($item["date"] . $item["naam"])) . ") <a href='mailto:" . $item["email"] . "'>" . $item["name"] . "</a><br />\n";
$entry .="<font face='verdana, helvetica, arial' size='1'>Geschreven door" . $item["naam"] . " \n";
$entry .="<font face='Verdana' size='1'>" . ubb_code($item["post"]) . "<br />\n";

die naam is geschreven door

het moet er zoo uit komen te zien

Het gastenboek van deze club telt 412 berichten. Het laatste bericht is op 12-03-2005 geschreven door Dutch_Sauron
site ziet er mooi uit!...
Bekijk het gastenboek


24 jaar geleden
 
0 +1 -0 -1
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
<?php

$entry
  = \"\";
   $entry .=\"<b><font face=\'Verdana\' size=\'1\'>\" . $item[\"subject\"] . \"</b><br />\\n\";
   $entry .=\"<font face=\'Verdana\' size=\'1\'>\" . date(\"d-m-Y\", strtotime($item[\"date\"])) . $item[\"naam\"] . \" geschreven door <a href=\'mailto:\" . $item[\"email\"] . \"\'>\" . $item[\"name\"] . \"</a><br />\\n\";
   $entry .=\"<font face=\'Verdana\' size=\'1\'>\" . ubb_code($item[\"post\"]) . \"<br />\\n\";
   return $entry;

?>


zooo duss :D


24 jaar geleden
 
0 +1 -0 -1
jah die warning op pleuren want hijs goed :D


24 jaar geleden
 
0 +1 -0 -1
alleen de tijd die klopt niet kan je daar iets aan veranderen loopt een half uur achter ofzoiets
Legolas
Legolas
24 jaar geleden
 
0 +1 -0 -1
Dan is de server tijd fout... Moet je bij je hoster zijn ;)
Christiaan
christiaan
24 jaar geleden
 
0 +1 -0 -1
oo jah haha ik host op wyger
Christiaan
christiaan
24 jaar geleden
 
0 +1 -0 -1
heeey is er iets mogelijk dat je een berichten teller krijgt bij voorbeeld zoiets 1 van de 1 door <naam> ....

??
Legolas
Legolas
24 jaar geleden
 
0 +1 -0 -1
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
<?php
function numberOfPostsBy($uname) {
   $xmlcontent = parseXmlFile("gastenboek.xml", "item");
   $x = 0;
   foreach ($xmlcontent as $item) {
      if ($item["name"] == $uname) {
         $x++;
      }
   }

   return $x;
}
  
?>
Christiaan
christiaan
24 jaar geleden
 
0 +1 -0 -1
moek dan ook niet iet bij gastenboek.php zetten ?
Legolas
Legolas
24 jaar geleden
 
0 +1 -0 -1
Waar jij het wil :P
Christiaan
christiaan
24 jaar geleden
 
0 +1 -0 -1
$entry .="<b><font face='verdana, helvetica, arial' size='1'>Geschreven door:" . $item["naam"] . "</b> \n";

dat stukje weg natuurlijk

en dan bij gastenboek.php
zoiets

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php echo(numberOfPostsBy()); ?>
Legolas
Legolas
24 jaar geleden
 
0 +1 -0 -1
$entry .="<b><font face='verdana, helvetica, arial' size='1'>Dit is het " . numberOfPostsBy($item["name"]) . "e bericht geschreven door:" . $item["name"] . "</b> \n";
Christiaan
christiaan
24 jaar geleden
 
0 +1 -0 -1
hmmm dit zocht ik eigenlijk niet nu telt die het aantal wat een persoon heb geschreven ik moet iets van dit hebben

412 van de 412 door
411 van de 412 door

zoo iets

nuu is het
Dit is het 7e bericht geschreven door:
bij elke post !!
Legolas
Legolas
24 jaar geleden
 
0 +1 -0 -1
dat word moeilijker... :P Dan moet je per gebruiker in de normale uitlezer tellen :P :)
Christiaan
christiaan
24 jaar geleden
 
0 +1 -0 -1
oo maar ut is wel mogelijk ?
SdeelHooligan
SdeelHooligan
24 jaar geleden
 
0 +1 -0 -1
Hij bedoeld, dat de teller steeds verder moet. Met bijv 10 berichten in zijn GB dan moet de teller bij bericht 5 op "5 van de 10"staan. Als er dan een bericht bijkomt, dan wordt het "5 van de 11". Dus bij het bericht moet een code staan dat het "het zoveelste bericht vanaf het begin" is.

Dan voeg je die code samen met de totale omvang van de berichten.
(code_positie_post_zelf) van de (code_totaal_aantal_posts) geschreven door:
Zoiets...

Dus heb heeft niks met het aantal gebruikers of posters te maken.
Legolas
Legolas
24 jaar geleden
 
0 +1 -0 -1
dat weet ik :P.
Owkee um verander dan deze functie (xml2string):
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
<?php
function xml2String() {
   global $counter;
   $xmlcontent = parseXmlFile("gastenboek.xml", "item");
   $return_str = "";
   $counter = array();
   foreach ($xmlcontent as $item) {
      $counter[$item["name"]]++;
      $return_str .= genPost($item);
   }

   return $return_str;
}

function
genPost($item) {
   global $counter;
   $entry  = "";
   $entry .="<b><font face='Verdana' size='2'>" . $item["subject"] . "</b><br />\n";
   $entry .="<font face='Verdana' size='1'><a href='mailto:" . $item["email"] . "'>" . $item["name"] . "</a> (" . date("d-m-Y H:i", strtotime($item["date"])) . ")<br />\n";
$entry .="<b><font face='verdana, helvetica, arial' size='1'>Dit is het " . $counter[$item["name"]] . "e bericht geschreven door " . $item["name"] . " van de " . numberOfPostsBy($item["name"]) . "</b> \n";
   $entry .="<font face='Verdana' size='2'>" . ubb_code($item["post"]) . "<br />\n";
   $entry .="<img src='images/lijnbericht.gif' border=0><br />\n\n";
   return $entry;
}


?>
SdeelHooligan
SdeelHooligan
24 jaar geleden
 
0 +1 -0 -1
Heel leuk, maar dat bedoelde ik niet echt.

Ik bedoel gewoon dat je ziet als iemand gepost heeft:
Stel er staan 26 berichten in een GB. Je ziet dan bij bericht 25 staan:
25 van de 26. En bij bericht 1 staat dan: 1 van de 25.

Post iemand een nieuw bericht, dan word het 25 van de 27 en 1 van de 27.

Het staat dus volledig los van degene die het post, dus die " . numberOfPostsBy($item["name"]) . " moet er niet in voorkomen.

Alvast bedankt!
Legolas
Legolas
24 jaar geleden
 
0 +1 -0 -1
dat is hetzelfde, alleen dan ff de restricties eruit halen.
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
<?php
function numberOfPosts() {
   $xmlcontent = parseXmlFile("gastenboek.xml", "item");
   return count($xmlcontent);
}

function
xml2String() {
   global $counter;
   $xmlcontent = parseXmlFile("gastenboek.xml", "item");
   $return_str = "";
   $counter = 0;
   foreach ($xmlcontent as $item) {
      $counter++;
      $return_str .= genPost($item);
   }

   return $return_str;
}

function
genPost($item) {
   global $counter;
   $entry  = "";
   $entry .="<b><font face='Verdana' size='2'>" . $item["subject"] . "</b><br />\n";
   $entry .="<font face='Verdana' size='1'><a href='mailto:" . $item["email"] . "'>" . $item["name"] . "</a> (" . date("d-m-Y H:i", strtotime($item["date"])) . ")<br />\n";
$entry .="<b><font face='verdana, helvetica, arial' size='1'>Dit is het " . $counter . "e bericht van de " . numberOfPosts() . "</b> \n";
   $entry .="<font face='Verdana' size='2'>" . ubb_code($item["post"]) . "<br />\n";
   $entry .="<img src='images/lijnbericht.gif' border=0><br />\n\n";
   return $entry;
}
  

?>
Christiaan
christiaan
24 jaar geleden
 
0 +1 -0 -1
hey dit is wel de goede alleen hij telt van onder af dus als je een nieuw bericht plaatst dan begint die bij de 1 maar hij moet eigenlijk zoo

11 van de 11 door
en het eerste bericht
1 van de 11 door

nuusie zoo
1 van de 11
en het eerste
bericht 11 van de 11

http://83.117.84.85/usr/christiaanoo/gastenboek.php
Legolas
Legolas
24 jaar geleden
 
0 +1 -0 -1
(numberOfPosts() - $counter)
:) creatief zijn :P
SdeelHooligan
SdeelHooligan
24 jaar geleden
 
0 +1 -0 -1
Hij wordt al heeeel mooi ;)

Nu nog even wat kleine dingen. Hoe kan ik op de home het bericht bijv beperken tot 150 karakters. Anders staat er een heel verhaal op home, terwijl dat eigenlijk niet nodig is. Ik denk dat er wat veranderd moet worden in:

function lastTenPosts()

maar wat precies dat weet ik niet.

Jij wel?

Alvast bedankt!!
Legolas
Legolas
24 jaar geleden
 
0 +1 -0 -1
substr() of wordwrap()

of nog beter: htmlwrap()
http://www.greywyvern.com/code/php/htmlwrap_1.0.php.txt
SdeelHooligan
SdeelHooligan
24 jaar geleden
 
0 +1 -0 -1
Is er niet iets heel simpels.

Zo van na 100 woorden output moet ie stoppen. Geen ingewikkeld gedoe met codes.
Legolas
Legolas
24 jaar geleden
 
0 +1 -0 -1
wordwrap(), maar dan moet je uitkijken met tags.
Christiaan
christiaan
24 jaar geleden
 
0 +1 -0 -1
is er ook iets dat je gastenboek na een 10 berichten over springt naar een andere pagina ?
SdeelHooligan
SdeelHooligan
24 jaar geleden
 
0 +1 -0 -1
Wat voor tag is er om een tekst gewoon te stoppen. Dus niet een spatie of een nieuwe regel, maar gewoon zoiets

Geschreven door Jan:
Ja maar ik heb het niet...

Terwijl het origineel:

Geschreven door Jan:
Ja maar ik heb het niet gedaan, ik zweer het!
Legolas
Legolas
24 jaar geleden
 
0 +1 -0 -1
Wat gebruik je nu?

@christiaan: offset?
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
<?php
function numberOfPosts() {
   $xmlcontent = parseXmlFile("gastenboek.xml", "item");
   return count($xmlcontent);
}

function
gbWithOffset($page, $amount = 10) {
   $xmlcontent = parseXmlFile("gastenboek.xml", "item");
   $return_str = "";
   $pageind = $page * $amount;
   for ($i = $pageind; $i < $pageind + $amount; $i++) {
      if (is_array($xmlcontent[$i])) {
         $return_str .= genPost($xmlcontent[$i]);
      }
   }

   return $return_str;
}
  

// En dan in de pagina iets als:
$page = $_GET["page"];
$amount = 10;
echo(gbWithOffset($page, $amount));
if ($page > 0) {
   echo("<a href=\"" . $_SERVER["PHP_SELF"] . "?page=" . $page - 1 . "\">&laquo;</a>");
}

if ($page * 10 < $amount) {
   echo("<a href=\"" . $_SERVER["PHP_SELF"] . "?page=" . $page + 1 . "\">&raquo;</a>");
}

?>
Legolas
Legolas
24 jaar geleden
 
0 +1 -0 -1
@sdeelhooligan:
ow srry, verkeerd gelezen :P
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
function makeItSmaller($tekst, $num = 25) {
   $tkst = substr($tekst, 0, $num) . "...";
   return $tekst;
}

?>
Christiaan
christiaan
24 jaar geleden
 
0 +1 -0 -1
hmm welke $entry moet je voor die :

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
function makeItSmaller($tekst, $num = 25) {
   $tkst = substr($tekst, 0, $num) . "...";
   return $tekst;
}

?>


maken ?!
Legolas
Legolas
24 jaar geleden
 
0 +1 -0 -1
Dat wat jij wilt verkleinen :)
Overigens zit er een typo in: tkst = tekst
Christiaan
christiaan
24 jaar geleden
 
0 +1 -0 -1
snap em niet :/
Legolas
Legolas
24 jaar geleden
 
0 +1 -0 -1
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
<?php
function makeItSmaller($tekst, $num = 25) {
   $tekst = substr($tekst, 0, $num) . "...";
   return $tekst;
}


echo(makeItSmaller("Ik schrijf stomme lange zinnen!", 20));
?>


24 jaar geleden
 
0 +1 -0 -1
Hoi,

geprobeerd het gastenboek te gebruiken. Werkt OK, maar waarom komen niet alle karakters even goed door. Voor alle duidelijkheid, ik heb de globals (smileys) gecomment.


24 jaar geleden
 
Legolas
Legolas
24 jaar geleden
 
0 +1 -0 -1
Quote:
en dit:
// Cursief
$string = preg_replace("#(.+?)#is","<i>\\1</i>",$string);
// Onderstreept
$string = preg_replace("#(.+?)#is","<u>\\1</u>",$string);
// Vetgedrukt
$string = preg_replace("#(.+?)#is","<b>\\1</b>",$string);
moet met \ voor de [ en ], maar de phphulpwebsite kan ut nie aan :P

edit: spaties zijn vanwege board code


24 jaar geleden
 
0 +1 -0 -1
Hi,

ik heb de alle ubb stuff eruit gehaald :
function ubb_code($string) {

return $string;
}

function ubb_back($string) {

return $string;
}

en dan werkt het wel goed. Geen fancy dingetjes, maar ik zocht alleen maar een manier om mensen een reactie te kunnen laten plaatsen.
Het werkt nu voor mij voldoende,

tks
Christiaan
christiaan
24 jaar geleden
 
0 +1 -0 -1
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
<?php
function numberOfPosts() {
   $xmlcontent = parseXmlFile("gastenboek.xml", "item");
   return count($xmlcontent);
}  

function
gbWithOffset($page, $amount = 10) {
   $xmlcontent = parseXmlFile("gastenboek.xml", "item");
   $return_str = "";
   $pageind = $page * $amount;
   for ($i = $pageind; $i < $pageind + $amount; $i++) {
      if (is_array($xmlcontent[$i])) {
         $return_str .= genPost($xmlcontent[$i]);
      }
   }

   return $return_str;
}
  

// En dan in de pagina iets als:
$page = $_GET["page"];
$amount = 10;
echo(gbWithOffset($page, $amount));
if ($page > 0) {
   echo("<a href=\"" . $_SERVER["PHP_SELF"] . "?page=" . $page - 1 . "\">&laquo;</a>");
}

if ($page * 10 < $amount) {
   echo("<a href=\"" . $_SERVER["PHP_SELF"] . "?page=" . $page + 1 . "\">&raquo;</a>");
}

?>



klopt niet egt ik krijg nu niet een volgende pagina naar 10 berichten maar hij verdubelt em op de zelfde pagina !!
Christiaan
christiaan
24 jaar geleden
 
0 +1 -0 -1
als ik dit toevoeg aan men home dan komt dat stukje van ik schrijf stomme lange zinnen te staan ??

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php

echo(makeItSmaller("Ik schrijf stomme lange zinnen!", 20));
?>
Legolas
Legolas
24 jaar geleden
 
0 +1 -0 -1
De functie klopt volgensmij wel...
Christiaan
christiaan
24 jaar geleden
 
0 +1 -0 -1
o ok is de entry verkeert dan cker ?

$entry .="<font face='Verdana' size='1'>" . date("d-m-Y", strtotime($item["date"])) . $item["naam"] . " geschreven door <a href='mailto:" . $item["email"] . "'>" . $item["name"] . "</a><br />\n";
Legolas
Legolas
24 jaar geleden
 
0 +1 -0 -1
je moet de entry wel door die functie halen
Christiaan
christiaan
24 jaar geleden
 
0 +1 -0 -1
huh ?
Legolas
Legolas
24 jaar geleden
 
0 +1 -0 -1
die tekst moet vervengen worden door een variabele naar keuze.
Christiaan
christiaan
24 jaar geleden
 


24 jaar geleden
 
0 +1 -0 -1
kan iemand mij vertellen wat hier niet goed aan is hij geeft namelij keen fout op regel 40


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
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
<?php
 

function ubb_code($string) {
 // HTML codes wegwerken
 $string = htmlspecialchars(strip_tags($string));
 // Enters maken
 $string = nl2br($string);
 // Automatisch links maken
 $string = eregi_replace("(^|[\n\r\t])((http(s?)://)(www\.)?([a-z0-9_-]+(\.[a-z0-9_-]+)+)(/[^/ \n\r]*)*)", "<a href=\"\\2\" target=\"_blank\">\\2</a>",$string);
 $string = eregi_replace("(^|[\n\r\t])((http(s?)://)(www\.)?([a-z0-9_-]+([a-z0-9_-]+)+)(/[^/ \n\r]*)*)", "<a href=\"\\2\" target=\"_blank\">\\2</a>",$string);
 $string = eregi_replace("(^|[\n\r\t])([a-z_-][a-z0-9\._-]*@[a-z0-9_-]+(\.[a-z0-9_-]+)+)","<a href=\"mailto:\\2\" target=\"_blank\">\\2</a>",$string);
 $string = eregi_replace("(^|[\n\r\t])(www\.([a-z0-9_-]+(\.[a-z0-9_-]+)+)(/[^/ \n\r]*)*)","<a href=\"http://\\2\" target=\"_blank\">\\2</a>",$string);
 $string = eregi_replace("(^|[\n\r\t])(www\.([a-z0-9_-]+([a-z0-9_-]+)+)(/[^/ \n\r]*)*)","<a href=\"http://\\2\" target=\"_blank\">\\2</a>",$string);
 $string = eregi_replace("(^|[\n\r\t])(ftp://([a-z0-9_-]+(\.[a-z0-9_-]+)+)(/[^/ \n\r]*)*)","<a href=\"\\2\" target=\"_blank\">\\2</a>",$string);
 $string = eregi_replace("(^|[\n\r\t])(ftp://([a-z0-9_-]+([a-z0-9_-]+)+)(/[^/ \n\r]*)*)","<a href=\"\\2\" target=\"_blank\">\\2</a>",$string);
 $string = eregi_replace("(^|[\n\r\t])(ftp\.([a-z0-9_-]+(\.[a-z0-9_-]+)+)(/[^/ \n\r]*)*)","<a href=\"\\2\" target=\"_blank\">\\2</a>",$string);
 

 // Return
 return $string;
}  

function
ubb_back($string) {
 // Cursief
 $string = preg_replace("#<i>(.+?)</i>#is","\\1",$string);
 // Onderstreept
 $string = preg_replace("#<u>(.+?)</u>#is","\\1",$string);
 // Vetgedrukt
 $string = preg_replace("#<b>(.+?)</b>#is","\\1",$string);
 // Doorstreept
 $string = preg_replace("#<s>(.+?)</s>#is","[s]\\1[/s]",$string);
 }


 // Return
 return $string;


function
parseXmlFile($filename, $identifier) {
   $data = implode("",file($filename));
   $parser = xml_parser_create();
   xml_parser_set_option($parser,XML_OPTION_CASE_FOLDING,0);
   xml_parser_set_option($parser,XML_OPTION_SKIP_WHITE,1);
   xml_parse_into_struct($parser,$data,$values,$tags);
   xml_parser_free($parser);

   foreach ($tags as $key=>$val) {
      if ($key == $identifier) {
         $molranges = $val;
         for ($i=0; $i < count($molranges); $i+=2) {
            $offset = $molranges[$i] + 1;
            $len = $molranges[$i + 1] - $offset;
            $tdb[] = parseArray(array_slice($values, $offset, $len));
         }
      }
  
      else {
         continue;
      }
   }

   return $tdb;
}
    
function
parseArray($mvalues) {
   for ($i=0; $i < count($mvalues); $i++) {
      $mol[$mvalues[$i]["tag"]] = $mvalues[$i]["value"];
   }

   return $mol;
}

function
numberOfPosts() {
   $xmlcontent = parseXmlFile("gastenboek.xml", "item");
   return count($xmlcontent);
}

function
xml2String() {
   global $counter;
   $xmlcontent = parseXmlFile("gastenboek.xml", "item");
   $return_str = "";
   $counter = -1;
   foreach ($xmlcontent as $item) {
      $counter++;
      $return_str .= genPost($item);
   }

   return $return_str;
}

function
genPost($item) {
   global $counter;
   $entry  = "";
   $entry .="<HR STYLE='width: 100%; color: #FF6100;' NOSHADE align='left'>";
   $entry .="<b><font face='Verdana' size='1'>" . $item["subject"] . "</b>\n";
   $entry .="<font face='verdana, helvetica, arial' size='1'><b>" . (numberOfPosts() - $counter) . " van de " . numberOfPosts() . " door</b> \n";  
   $entry .="<font face='Verdana' size='1'><a href='mailto:" . $item["email"] . "'>" . $item["name"] . "</a><b> " . date("d-m-Y H:i", strtotime($item["date"])) . "</b><br><br />\n";
   $entry .="<font face='Verdana' size='1'>" . ubb_code($item["post"]) . "<br><br />\n";  
   return $entry;
}
    
 

// Alternative Generator
function altGenPost($item) {
   $entry  = "";
   $entry .="<b><font face='Verdana' size='1'>" . $item["subject"] . "</b><br />\n";
   $entry .="<font face='Verdana' size='1'>" . date("d-m-Y", strtotime($item["date"])) . $item["naam"] . " geschreven door <a href='mailto:" . $item["email"] . "'>" . $item["name"] . "</a><br />\n";
   $entry .="<font face='Verdana' size='1'><i>" . ubb_code($item["post"]) . "</i ><br />\n";
   return $entry;
}

function
lastTenPostss() {
   $xmlcontent = parseXmlFile("gastenboek.xml", "item");
   $return_str = "";
    for ($i = 0; $i < 1; $i++) {
      $return_str .= altGenPost($xmlcontent[$i]);
   }

   return $return_str;
}  

function
numberOfPosts() {
   $xmlcontent = parseXmlFile("gastenboek.xml", "item");
   return count($xmlcontent);
}

function
numberOfPostsBy($uname) {
   $xmlcontent = parseXmlFile("gastenboek.xml", "item");
   $x = 0;
   foreach ($xmlcontent as $item) {
      if ($item["naam"] == $uname) {
         $x++;
      }
   }

   return $x;
}
function
makeItSmaller($tekst, $num = 425) {  
   $tekst = substr($tekst, 0, $item) . "...";  
   return $tekst;  
}


  
 

?>


24 jaar geleden
 
0 +1 -0 -1
kan het ook zijn dat er een dezelfde naam ergens in een ander script staat dat daarom die fout is ?
Legolas
Legolas
24 jaar geleden
 
0 +1 -0 -1
kun je iets meer info geven?


24 jaar geleden
 
0 +1 -0 -1
nou kijk dit is de fout

Warning: file(): SAFE MODE Restriction in effect. The script whose uid is 502 is not allowed to access gastenboek.xml owned by uid 48 in /vhost/usr/christiaanooo/functions.php on line 40

Warning: file(gastenboek.xml): failed to open stream: Success in /vhost/usr/christiaanooo/functions.php on line 40

Warning: implode(): Bad arguments. in /vhost/usr/christiaanooo/functions.php on line 40

Warning: Invalid argument supplied for foreach() in /vhost/usr/christiaanooo/functions.php on line 80

maar snap niet wat der fout aan is want wat op die regels staat was normaal altijd goed nu upload ik het een keer opnieuw en het gaat verkeerd !!

http://www.wyger.nl/usr/christiaanooo/gastenboek.php


24 jaar geleden
 
0 +1 -0 -1
Ziet er interessant uit een gastenboek met xml. Mooi gedaan.

Ik heb de code op mijn website gekopieerd.
De gastenboek.xml heb ik gechmod 777.
Ik kan wel een bericht toevoegen maar krijg een fout in het tonen.

Warning: file(gastenboek.xml): failed to open stream: Permission denied in /home/projects/mijndomein/default/kruispunt-emmen.nl/www/functions.php on line 93

http://www.kruispunt-emmen.nl/gastenboek.php
Wat doe ik dan fout?
Alvast bedankt voor enig reactie
Legolas
Legolas
24 jaar geleden
 
0 +1 -0 -1
@christianoo,
Het script heeft is van de verkeerde user, werk het als je de opdracht:
chown("gastenboek.xml", 502); doet ? wordt ie van dezelfde user als het script.


24 jaar geleden
 
0 +1 -0 -1
hmm snap em niet egt waar kan ik die opdracht vinden ?


24 jaar geleden
 
0 +1 -0 -1
ut tis al op gelost :) maar wil nog wel wat anders weten over dat bericht op men home datie wat korter is !!?


24 jaar geleden
 
0 +1 -0 -1
Kheb zo'n beetjuh alles gedaan wat hier staat, maar bij klopt die home nog van geen kant.

En bij gastenboek.php geeft hij bij mij onderaan deze fout melding:

Fatal error: Call to undefined function: gbwithoffset() in /home/teamdvs.nl/www/zfn/gastenboek/gastenboek.php on line 93

Wie weet wat dit precies inhoudt?

Mijn functions.php is precies het zelfde als hierboven gepost....(die van christiaanoo dus)

Bvd


24 jaar geleden
 
0 +1 -0 -1
Tis al opgelost..!
Alleen wil ik het onderwerp er nog uitslopen, en weet niet helemaal hoe ik dit het beste kan doen..:$


24 jaar geleden
 
0 +1 -0 -1
gewoon alles wat er mee te maken heeft er uit gooien !


24 jaar geleden
 
0 +1 -0 -1
Ja idd..!
Ik had t gister rond 1 uur klaar..:P
Maar een email check zou wel een mooie toevoeging voor dit script zijn..!
Verder is het en mooi script...(Y)


24 jaar geleden
 
0 +1 -0 -1
kan er mischien nog iemand even goed uitlagen hoe dat ik op men home het bericht korter maak !! ? http://www.positiespelfederatie.tk .


24 jaar geleden
 
0 +1 -0 -1
dfsdf


24 jaar geleden
 
0 +1 -0 -1
Ik ben maar beginner maar.
Ik krijg deze fout bij gastenboek:
[gastenboek.php]
Warning: main(functions.php): failed to open stream: No such file or directory in c:\domains\rollercoasterforce.nl\wwwroot\gastenboek.php on line 4

Warning: main(functions.php): failed to open stream: No such file or directory in c:\domains\rollercoasterforce.nl\wwwroot\gastenboek.php on line 4

Warning: main(functions.php): failed to open stream: No such file or directory in c:\domains\rollercoasterforce.nl\wwwroot\gastenboek.php on line 4

Fatal error: main(): Failed opening required 'functions.php' (include_path='.;C:\PHP\pear') in c:\domains\rollercoasterforce.nl\wwwroot\gastenboek.php on line 4
DaeDaluz
DaeDaluz
24 jaar geleden
 
0 +1 -0 -1
Heb je het bestand functions.php wel in de goede map staan? of staat ie helemaal niet op je server? iig hij kan dat bestand niet vinden zoals de error duidelijk zegt..


24 jaar geleden
 
0 +1 -0 -1
Het Gastenboek werkt bij mij nu onder tussen.
Alleen de lijn onder ieder bericht werkt niet hou kan ik dat oplossen?


24 jaar geleden
 
0 +1 -0 -1
@stefan

deze $entry toevoegen >>

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
 $entry
.="<HR STYLE='width: 100%; color: #FF6100;' NOSHADE align='left'>";  
?>


24 jaar geleden
 
0 +1 -0 -1
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
 $entry
.="<HR STYLE='width: 100%; color: #FF6100;' NOSHADE align='left'>";  
?>
waar moet ik deze toevoegen?


24 jaar geleden
 
0 +1 -0 -1
Bij werken de berichten niet het is een war boel en links.
War kan dat aan liggen?
SdeelHooligan
SdeelHooligan
24 jaar geleden
 
0 +1 -0 -1
Voor het overgaan op een nieuwe pagina na 10 berichten.

Die code klopt niet helemaal, want hij werkt namelijk niet. Hij geeft geen link naar een nieuwe pagina, en ook de telling valt weg.

Dit heb ik in functions.php gezet.
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
<?php
function numberOfPosts() {
   $xmlcontent = parseXmlFile("gastenboek.xml", "item");
   return count($xmlcontent);
}  

function
gbWithOffset($page, $amount = 10) {
   $xmlcontent = parseXmlFile("gastenboek.xml", "item");
   $return_str = "";
   $pageind = $page * $amount;
   for ($i = $pageind; $i < $pageind + $amount; $i++) {
      if (is_array($xmlcontent[$i])) {
         $return_str .= genPost($xmlcontent[$i]);
      }
   }

   return $return_str;
}

?>


En dit in gastenboek.php
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
<?php
$page
= $_GET["page"];
$amount = 10;
echo(gbWithOffset($page, $amount));
if ($page > 0) {
   echo("<a href=\"" . $_SERVER["PHP_SELF"] . "?page=" . $page - 1 . "\">&raquo;</a>");
}

if ($page * 10 < $amount) {
   echo("<a href=\"" . $_SERVER["PHP_SELF"] . "?page=" . $page + 1 . "\">&raquo;</a>");
}

?>


Wat kan er fout aan zijn??

Kijk voor het voorbeeld op: http://kreeft.freestarthost.com/Gastenboek/gastenboek.php
Legolas
Legolas
24 jaar geleden
 
0 +1 -0 -1
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
<?php
$page
= $_GET["page"];
if ($page == null) { $page = 0; }
$amount = 10;
echo(gbWithOffset($page, $amount));

echo("<br />");
if ($page > 0) {
   echo("<a href=\"" . $_SERVER["PHP_SELF"] . "?page=" . ($page - 1) . "\">&laquo; vorige pagina</a>");
}

if (($page + 1) * 10 < numberOfPosts()) {
   echo("<a href=\"" . $_SERVER["PHP_SELF"] . "?page=" . ($page + 1) . "\">volgende pagina &raquo;</a>");
}

?>


edit: en je moet boven aan gastenboek.php even
$counter = 0;
zetten
SdeelHooligan
SdeelHooligan
24 jaar geleden
 
0 +1 -0 -1
Het lukt om na 10 berichten een nieuwe pagina te krijgen, alleen met de telling loopt het nog niet goed.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
require("functions.php");
$counter = 0;
?>


Dat staat bovenaan gastenboek.php.

Wat zou het nú weer kunnen zijn ;)
Legolas
Legolas
24 jaar geleden
 
0 +1 -0 -1
ik had even stom gedaan, je gebruikt nu de offset functie dus die moet ook tellen ;).

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
<?php
function gbWithOffset($page, $amount = 10) {
   global $counter;  
   $xmlcontent = parseXmlFile("gastenboek.xml", "item");
   $return_str = "";
   $pageind = $page * $amount;
   $counter = $pageind - 1;
   for ($i = $pageind; $i < $pageind + $amount; $i++) {
      $counter++;
      if (is_array($xmlcontent[$i])) {
         $return_str .= genPost($xmlcontent[$i]);
      }
   }

   return $return_str;
}

?>
SdeelHooligan
SdeelHooligan
24 jaar geleden
 
0 +1 -0 -1
Dankje, hij werkt!!
Legolas
Legolas
23 jaar geleden
 
0 +1 -0 -1
Mijn grote GB-XML pakket is uit ^^:

http://www.legolasweb.nl/content/view/13/29/


23 jaar geleden
 
0 +1 -0 -1
ik zit met een probleempje, in mijn gastenboek worden mijn berichten 2 maal afgedrukt, 1 maal boven men invoervak en 1 maal erboven :s
kan iemand me helpen?


23 jaar geleden
 
0 +1 -0 -1
ik bedoelde 1 maal boven, 1 maal onder
Legolas
Legolas
23 jaar geleden
 
0 +1 -0 -1
hmm

heb je een link?

(btw, je kan altijd GB-XML downloaden - http://www.legolasweb.nl/content/view/13/29/)


23 jaar geleden
 
0 +1 -0 -1
probleem is ondertussen al opgelost


23 jaar geleden
 
0 +1 -0 -1
Mijn gastenboek werkt nu, maar heb toch nog een serieus probleem. de tekst die verschijnt is half html, haflf gewone tekst :s

===> http://www.jordygouwy.tk
Legolas
Legolas
23 jaar geleden
 
0 +1 -0 -1
Quote:
en dit:
// Cursief
$string = preg_replace("#(.+?)#is","<i>\\1</i>",$string);
// Onderstreept
$string = preg_replace("#(.+?)#is","<u>\\1</u>",$string);
// Vetgedrukt
$string = preg_replace("#(.+?)#is","<b>\\1</b>",$string);
moet met \ voor de [ en ], maar de phphulpwebsite kan ut nie aan :P

edit: spaties zijn vanwege board code


23 jaar geleden
 
0 +1 -0 -1
hallo, hier ben ik alweer met een probleem :s
Als een gebruiker een nogal lang bericht in mijn gastenboek probeert te plaatsten, flipt het hele boek en komt er niks meer van tekst, weet iemand soms wat het probleem is?


23 jaar geleden
 
0 +1 -0 -1
Prachtig script, alleen kwou graag 't onderwerp eruit slopen, en laatst gepost.. bovenaan... maar ben zelf echt een PHP newb.. dus snap er de balle (nog) niet van helaas... heb ook gekeken naar de reacties hierboven maarja zoals ik al zei.. kword 'r gwoon niet wijzer van :/ sry!
Legolas
Legolas
23 jaar geleden
 
0 +1 -0 -1
het onderwerp is weg als je de genPost functie aanpast:

function genPost($item) {
$entry = "";
// Geen onderwerp...
//$entry .="<b><font face='Verdana' size='2'>" . $item["subject"] . "</b><br />\n";
$entry .="<font face='Verdana' size='1'><a href='mailto:" . $item["email"] . "'>" . $item["name"] . "</a> (" . date("d-m-Y H:i", strtotime($item["date"])) . ")<br />\n";
$entry .="<font face='Verdana' size='2'>" . ubb_code($item["post"]) . "<br />\n";
$entry .="<img src='images/lijnbericht.gif' border=0><br />\n\n";
return $entry;
}
Legolas
Legolas
23 jaar geleden
 
0 +1 -0 -1
@Jordy: ik heb ff iets langs geprobeerd e n dat ging gewoon goed :S?


23 jaar geleden
 
0 +1 -0 -1
ging niet goed hoor, in mijn gastenboek.xml zie ik dat je overal texttexttexttext..... hebt geplaatst, maar in mijn gastenboek.php, is die tekst helemaal niet te zien:s
Legolas
Legolas
23 jaar geleden
 
0 +1 -0 -1
ik zag het wel, gebruik jij internet explorer?


23 jaar geleden
 
0 +1 -0 -1
Mja kheb ongeveer 't zelfde probleem als Milo. Alleen dat onderwerp eruit is me prima gelukt. Ik wou eigenlijk dus de laatst gepost boven aan, en evt. ook na 10 post's een nieuwe page. Heb al gekeken naar jullie post's hierboven(Voornamelijk Legolas ;) ). Heb zelf ook wat geprobeerd alleen waar moet ik die codes in plaatsen, welke page?
Alvast bedankt voor enig reactie :)


23 jaar geleden
 
0 +1 -0 -1
neen, kgebruik netscape. mja zolang de berichtn niet te groot zijn lukt alles, maar vanaf dat ze iets te groot zijn niet meer


23 jaar geleden
 
0 +1 -0 -1
ik ben net een week bezig met php enzo en ik heb dit gastenboek nagemaakt
als ik nu een berichtje wil posten krijg ik deze foutmelding...

Warning: Cannot modify header information - headers already sent by (output started at /home/.sites/104/site97/web/pphhpp/functions.php:132) in /home/.sites/104/site97/web/pphhpp/verzenden.php on line 32

kan iemand mij vertellen waar dat aan ligt?
Legolas
Legolas
23 jaar geleden
 
0 +1 -0 -1
je kan de header regels op zo'n manier aanpassen:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php

$header
= "gastenboek.php?msg=2&email=" . $email . "&ond=" . $onderwerp . "&naam=" . $naam . "&bericht=" . $bericht;
header("Location: " . $header) or die("Redirection error: click <a href=\"" . $header . "\">here</a>\n<script language=\"javascript\">\ndocument.location.href = \"" . $header . "\"\n</script>");

?>


23 jaar geleden
 
0 +1 -0 -1
He super scriptje. Ben vanmorgen begonnen, en heb me als newb helemaal uitgeleefd, en alle losse stukken er bij geplaatst. Diverse aanpassingen gedaan en het werkt nu zelfs in twee frames (post in 1 en de lijst in de ander).
Nou wil ik alleen nog graag een extra waarde toevoegen, en dan in de vorm van een checkbox.

Ik heb gepuzzeld maar krijg de waarde van een checkbox niet weggeschreven. Als ik een tekstvak heb lukt het uiteraard wel.

Ik heb maar 1 checkbox nodig. Wil er bij het resultaat een icon laten zien als hij gechecked is en 'niets' als hij niet gechecked is

Misschien kun je me even op weg helpen?

Alvast bedankt,.


23 jaar geleden
 
0 +1 -0 -1
Een checkbox kun je in iedergeval niet controleren met empty() zoals de anderen. Dus zou ik ervoor zoiets doen als:

if ($checkbox == 1) {
//aangevinkt
}
else {
// niet aangevinkt
}

En dan verder niet de waarde controleren.
Weg schrijven zou ik dan doen als 1 of 0.


23 jaar geleden
 
0 +1 -0 -1
Nog een vraagje betreffende hetzelfde probleem als hierboven van Jeff.
Heb de tekst gelezen van Jelmer, maar snap het helaas niet. Het werkte namelijk prima.

Ineens krijg ik diezelfde foutmelding (cannot modify header info...)
(Volgens mij nadat ik met dat pagina's opsplitsen bezig ben geweest, maar dacht dat het daarna ook nog even werkte)

Zowel als ik niet alle velden invul als wanneer ik alles goed doorloop. Het zal toch ook echt aan het einde moeten staan anders gebeurt er niets. Hoe kan ik dan 'geen tekst' erboven zetten zoals in de fax beschreven waar Jelmer het over heeft?!
Moet ik alle variabelen 'leeg' maken? En zo ja hoe doe ik dit dan?!


23 jaar geleden
 
0 +1 -0 -1
Bedankt. Ik ga dat met die checkbox proberen


23 jaar geleden
 
0 +1 -0 -1
Oops,. zag nog verder naar boven hetzelfde probleem en daarmee kon ik het wel verhelpen,.


23 jaar geleden
 
0 +1 -0 -1
Oops,. zag nog verder naar boven hetzelfde probleem en daarmee kon ik het wel verhelpen,.
Arwin  vdv
Arwin vdv
23 jaar geleden
 
0 +1 -0 -1
Weet iemand hoe je de berichten steeds bovenaan kan laten komen te staan.
Zonder dat je zelf iets hoeft te doen met gastenboek.xml ?

Groetjes van Arwin
Legolas
Legolas
23 jaar geleden
 
0 +1 -0 -1
4e reactie :)
Tomas
tomas
22 jaar geleden
 
0 +1 -0 -1
Bij mij doet de "smileys" het niet op het formulier.....
Als ik ze aan klik gebeurt er niets.....
 
0 +1 -0 -1
topgastenboek!!
PHP hulp
PHP hulp
0 seconden vanaf nu
 

Gesponsorde koppelingen
Hihi
hihi
20 jaar geleden
 
0 +1 -0 -1
het stomme aan dit gastenboek is : als je een bericht scrijft en post dat je bericht dan helemaal van onderen tevoorschijn komt!!!! maar voor de rest is alles OK

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

Inhoudsopgave

  1. gastenboek-met-xml

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.