Gastenboek met XML
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
186 reacties op 'Gastenboek met XML'
Gesponsorde koppelingen
Ik wel... dat hele smileys gebeuren :)
Dat kan veeeeel korter...
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 :)
Dat kan veeeeel korter...
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
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);
?>
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 :)
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.
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.
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.
edit: die array werd gebruikt voor de aanklikbare smileys in het gastenboek.
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
// 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
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...
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...
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
Met vriendelijke groet,
Wouter
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
http://oege.ie.hva.nl/~smit8s/blok3/gastenboek.php
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
<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
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??
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??
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 ??
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 ??
header problemen. zoek de header regel op, en pas hem aan tot zoiets:
Code (php)
1
2
3
4
5
6
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>");
?>
$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>");
?>
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
http://www.wyger.nl/usr/christiaanoo/gastenboek.php
zoo heb ik em gedaan !!
Code (php)
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
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>");
?>
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>");
?>
je controleert nu ook niet, je geeft gelijk fout headers.
Code (php)
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
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>");
}
?>
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>");
}
?>
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
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
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>
kijk dit >> <a href="http://www.wyger.nl/usr/christiaanoo/gastenboek.php"target=blank>http://www.wyger.nl/usr/christiaanoo/gastenboek.php</a>
ja. :P
Dan moet je in de functions punt php een nieuwe functie maken:
Dan moet je in de functions punt php een nieuwe functie maken:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
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);
}
?>
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);
}
?>
De lijn?
Code (php)
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
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);
}
?>
// 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);
}
?>
neej die lijn moet weg op index :P
en in het gastenboek moetie blijven staan !!!
http://www.wyger.nl/usr/christiaanooo/index3.php
en in het gastenboek moetie blijven staan !!!
http://www.wyger.nl/usr/christiaanooo/index3.php
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;
}
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;
}
// 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 !!
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 !!
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
$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
Code (php)
1
2
3
4
5
6
7
8
9
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;
?>
$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
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.
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.
dat weet ik :P.
Owkee um verander dan deze functie (xml2string):
Owkee um verander dan deze functie (xml2string):
Code (php)
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
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;
}
?>
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;
}
?>
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!
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!
dat is hetzelfde, alleen dan ff de restricties eruit halen.
Code (php)
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
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;
}
?>
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;
}
?>
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
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
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!!
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!!
substr() of wordwrap()
of nog beter: htmlwrap()
http://www.greywyvern.com/code/php/htmlwrap_1.0.php.txt
of nog beter: htmlwrap()
http://www.greywyvern.com/code/php/htmlwrap_1.0.php.txt
Wat gebruik je nu?
@christiaan: offset?
@christiaan: offset?
Code (php)
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
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 . "\">«</a>");
}
if ($page * 10 < $amount) {
echo("<a href=\"" . $_SERVER["PHP_SELF"] . "?page=" . $page + 1 . "\">»</a>");
}
?>
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 . "\">«</a>");
}
if ($page * 10 < $amount) {
echo("<a href=\"" . $_SERVER["PHP_SELF"] . "?page=" . $page + 1 . "\">»</a>");
}
?>
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
// 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
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
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
Code (php)
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
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 . "\">«</a>");
}
if ($page * 10 < $amount) {
echo("<a href=\"" . $_SERVER["PHP_SELF"] . "?page=" . $page + 1 . "\">»</a>");
}
?>
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 . "\">«</a>");
}
if ($page * 10 < $amount) {
echo("<a href=\"" . $_SERVER["PHP_SELF"] . "?page=" . $page + 1 . "\">»</a>");
}
?>
klopt niet egt ik krijg nu niet een volgende pagina naar 10 berichten maar hij verdubelt em op de zelfde pagina !!
kan iemand mij vertellen wat hier niet goed aan is hij geeft namelij keen fout op regel 40
Code (php)
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
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;
}
?>
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;
}
?>
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
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
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
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
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
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
kan er mischien nog iemand even goed uitlagen hoe dat ik op men home het bericht korter maak !! ? http://www.positiespelfederatie.tk .
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
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
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.
En dit in gastenboek.php
Wat kan er fout aan zijn??
Kijk voor het voorbeeld op: http://kreeft.freestarthost.com/Gastenboek/gastenboek.php
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)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
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;
}
?>
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)
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
Wat kan er fout aan zijn??
Kijk voor het voorbeeld op: http://kreeft.freestarthost.com/Gastenboek/gastenboek.php
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
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) . "\">« vorige pagina</a>");
}
if (($page + 1) * 10 < numberOfPosts()) {
echo("<a href=\"" . $_SERVER["PHP_SELF"] . "?page=" . ($page + 1) . "\">volgende pagina »</a>");
}
?>
$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) . "\">« vorige pagina</a>");
}
if (($page + 1) * 10 < numberOfPosts()) {
echo("<a href=\"" . $_SERVER["PHP_SELF"] . "?page=" . ($page + 1) . "\">volgende pagina »</a>");
}
?>
edit: en je moet boven aan gastenboek.php even
$counter = 0;
zetten
ik had even stom gedaan, je gebruikt nu de offset functie dus die moet ook tellen ;).
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
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;
}
?>
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;
}
?>
hmm
heb je een link?
(btw, je kan altijd GB-XML downloaden - http://www.legolasweb.nl/content/view/13/29/)
heb je een link?
(btw, je kan altijd GB-XML downloaden - http://www.legolasweb.nl/content/view/13/29/)
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
===> http://www.jordygouwy.tk
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
// 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
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;
}
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;
}
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 :)
Alvast bedankt voor enig reactie :)
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?
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?
je kan de header regels op zo'n manier aanpassen:
Code (php)
1
2
3
4
5
6
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>");
?>
$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>");
?>
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,.
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,.
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?!
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?!
Om te reageren heb je een account nodig en je moet ingelogd zijn.
- Details
Door:
Legolas- 9 jaar geleden
- 870 x bekeken
- Labels
- Geen tags toegevoegd.
- PHP scripts opties
- Gastenboeken / Fora
- Nieuwste PHP scripts
- PHP script toevoegen


PHP hulp
0 seconden vanaf nu