Dan doe je bij iedere pageview weer die str_replace, en da's niet echt nodig. Dan kun je beter de tekst twee keer in de database zetten, 1 keer niet geparsed (makkelijk voor editen) en 1 keer geparsed (voor weergeven).quote:Op maandag 19 juni 2006 16:31 schreef Swetsenegger het volgende:
[..]
De str_replace werkt natuurlijk prima, alleen zou ik het doen bij het uitlezen van het bericht.
Dus je schrijft de userinput gewoon naar DB en bij uitlezen zet je code om naar smilies.
Besef wel dat je in dit geval meer dan twee keer zoveel databaseruimte nodig hebt. Normaal maakt dit niet zoveel uit, maar hoe meer data de harde schijf in één keer keer opvolgend kan inlezen hoe beter (en hier geldt dus dat als je grote rows hebt, de harde schijf wellicht onnodige seeks uitvoert). Voor een forum dat ik een paar jaar terug had geschreven voerde ik caching uit, die dus geparsede messages opsloeg in een aparte tabel en na een tijdje er weer uit gooide - maar dat is miss wat overdonequote:Op maandag 19 juni 2006 18:28 schreef Light het volgende:
[..]
Dan doe je bij iedere pageview weer die str_replace, en da's niet echt nodig. Dan kun je beter de tekst twee keer in de database zetten, 1 keer niet geparsed (makkelijk voor editen) en 1 keer geparsed (voor weergeven).
Je moet nog een stripslashes() over de variabele string gooien (of de prima methode van Roönaän gebruiken om alle GPC-variabelen te stripslashen), want nu werken strings met een apostrofe erin niet goedquote:Op maandag 19 juni 2006 20:28 schreef guitarist.nl het volgende:
[afbeelding]
Het is me gelukt
http://test.guitarist.nl/width/temp_icon.php?string=test12345678
bij sting kun je zelf wat invoeren, om het plaatje niet te groot te maken is max 75 karakters, alles daarna is foetsie
gewoon stripslashes($string); ?quote:Op maandag 19 juni 2006 20:32 schreef JeRa het volgende:
[..]
Je moet nog een stripslashes() over de variabele string gooien (of de prima methode van Roönaän gebruiken om alle GPC-variabelen te stripslashen), want nu werken strings met een apostrofe erin niet goed
Qua performance zal dit best sneller zijn, maar echt een mooie oplossing is het niet imo. Ik zou dan eerder naar goede cachingmethoden gaan kijken.quote:Op maandag 19 juni 2006 18:28 schreef Light het volgende:
[..]
Dan doe je bij iedere pageview weer die str_replace, en da's niet echt nodig. Dan kun je beter de tekst twee keer in de database zetten, 1 keer niet geparsed (makkelijk voor editen) en 1 keer geparsed (voor weergeven).
Mjup, en de methode van Roönaän vind je ergens op zijn site geloof ikquote:Op maandag 19 juni 2006 20:42 schreef guitarist.nl het volgende:
[..]
gewoon stripslashes($string); ?
Wat is de methode van Roonaan dan ?
timestap van maken, en vervolgens sorteren?quote:Op dinsdag 20 juni 2006 00:03 schreef Woeiii het volgende:
Iemand een idee hoe ik tijd van optredens op volgorde plaats?
van 12 tot 23 is geen probleem, maar van 23 tot 12 wel.. dus bijvoorbeeld:
22:00 tot 23:00
23:00 tot 00:00
01:00 tot 02:00
Bij de 00:00 gaat het telkens mis, want 00 is niets terwijl ie dit moet zien als 12 uur snachts.
er 24 uur van maken kan ook niet, want als het 01 wordt komt 01 onder 24 te staan doordat 01 <24 is.
wie o wie heeft een oplossing.
Werktniet.. 00:00:00 snapt ie niet dat later is dan 23:00:00.. Als ik dat doe komt het er zo uit te zien:quote:Op dinsdag 20 juni 2006 00:08 schreef the_disheaver het volgende:
[..]
timestap van maken, en vervolgens sorteren?
timestamp van datum en tijd?quote:Op dinsdag 20 juni 2006 00:11 schreef Woeiii het volgende:
[..]
Werktniet.. 00:00:00 snapt ie niet dat later is dan 23:00:00.. Als ik dat doe komt het er zo uit te zien:
00:00
01:00
22:00
23:00![]()
stripslashes_deep() staat op php.net en aangepast/verbetert ergens op roonaans site inderdaadquote:Op maandag 19 juni 2006 23:07 schreef JeRa het volgende:
[..]
Mjup, en de methode van Roönaän vind je ergens op zijn site geloof ik
komt het uit database? Want dan kan je simpelweg een `time` kolom opnemen, en daarop sorteren.quote:Op dinsdag 20 juni 2006 00:03 schreef Woeiii het volgende:
Iemand een idee hoe ik tijd van optredens op volgorde plaats?
van 12 tot 23 is geen probleem, maar van 23 tot 12 wel.. dus bijvoorbeeld:
22:00 tot 23:00
23:00 tot 00:00
01:00 tot 02:00
Bij de 00:00 gaat het telkens mis, want 00 is niets terwijl ie dit moet zien als 12 uur snachts.
er 24 uur van maken kan ook niet, want als het 01 wordt komt 01 onder 24 te staan doordat 01 <24 is.
wie o wie heeft een oplossing.
Klopt, zo dacht ik ook, maar alleen time is niet voldoende want hoe moet ie weten dat 00:00 meer is dan 23?quote:Op dinsdag 20 juni 2006 08:21 schreef Swetsenegger het volgende:
[..]
komt het uit database? Want dan kan je simpelweg een `time` kolom opnemen, en daarop sorteren.
nee, niemand?quote:Op maandag 19 juni 2006 17:38 schreef Ewaldus het volgende:
ik ben dus dikke n00b met linux enzo, nu heb ik samen met een vriend een dedicated aangeschaft alleen komen we erachter dat mijn scripts alleen onder php5 draaien.
Wie weet een stap voor stap tutorial waar wordt verteld hoe we goed kunnen upgraden?
We draaien CentOS 4. Ik heb zelf al gezocht maar dat mocht op niets uit lopen..
Bedoel je dat je scripts geschreven zijn voor PHP5 en onder PHP4 draaien, of dat je scripts geschreven zijn voor PHP4 en dat ze nu onder PHP5 draaien? Ik gok het eerste maar even voor de zekerheidquote:Op maandag 19 juni 2006 17:38 schreef Ewaldus het volgende:
ik ben dus dikke n00b met linux enzo, nu heb ik samen met een vriend een dedicated aangeschaft alleen komen we erachter dat mijn scripts alleen onder php5 draaien.
Er zijn best wel wat dingen veranderd sinds PHP5, maar waar je vooral even naar moet kijken zijn waarschijnlijk de superglobals en het gebruik hiervan in je scripts.quote:
Ja dan doe je dus een datetime kolomquote:Op dinsdag 20 juni 2006 10:01 schreef Woeiii het volgende:
[..]
Klopt, zo dacht ik ook, maar alleen time is niet voldoende want hoe moet ie weten dat 00:00 meer is dan 23?De oplossing is date + time 20 juni 00:00 is meer dan 19 juni 23:00
![]()
Werkt goed nu![]()
Dat heeft niet zozeer iets te maken met PHP5 aangezien dit een optie is die je ook in PHP4 kon wijzigen. De defaults zijn gewoon anders sinds PHP5, maar administrators met een beetje verstand hebben de register_globals ook in PHP4 op Off gezet hoor.quote:Op dinsdag 20 juni 2006 12:39 schreef Scorpionsworld het volgende:
[..]
Er zijn best wel wat dingen veranderd sinds PHP5, maar waar je vooral even naar moet kijken zijn waarschijnlijk de superglobals en het gebruik hiervan in je scripts.
zonder php-codequote:Op dinsdag 20 juni 2006 17:45 schreef fokME2 het volgende:
Ik kreeg de opdracht om een site te debuggen. Er wordt een 500 internal server error gegenereerd door php.
Dit komt vrijwel zeker van de mail() functie, heeft iemand een idee hoe dat kan? En bij voorkeur ook hoe ik het op kan lossen?
De error komt al als de functie zo wordt gebruikt:quote:
1 2 3 | mail("mail@domein.tld","onderwerp","inhoud"); ?> |
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 | <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>danielpunt</title> <?php echo "<link rel=\"stylesheet\" type=\"text/css\" href=\"stijl.css\" />"; ?> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> </head> <body> <div id="navigation"> <ul> <?php if ($page=="1") { echo "<li id=\"currentpage\">pagina 1</li>"; } else { echo "<li><a href=\"index.php?page=1\">pagina 1</li></a>"; } ?> <?php if ($page=="2") { echo "<li id=\"currentpage\">pagina 2</li>"; } else { echo "<li><a href=\"index.php?page=2\">pagina 2</li></a>"; } ?> <?php if ($page=="3") { echo "<li id=\"currentpage\">pagina 3</li>"; } else { echo "<li><a href=\"index.php?page=3\">pagina 3</li></a>"; } ?> </ul> </div> <br /> <p> <?php @ require_once ("$page.html"); ?> </p> </body> </html> |
Wat werkt er niet?quote:Op dinsdag 20 juni 2006 19:57 schreef super-muffin het volgende:
Waarom werkt dit wel op mijn localhost (met PHP5) en niet op mijn webserver (PHP versie weet ik niet)?
Moet ik dan switch gebruiken?
Wat zeggen je Apache2-logs en de configuratie van PHP over het mailen?quote:Op dinsdag 20 juni 2006 18:30 schreef fokME2 het volgende:
[..]
De error komt al als de functie zo wordt gebruikt:
[ code verwijderd ]
superglobalsquote:Op dinsdag 20 juni 2006 19:57 schreef super-muffin het volgende:
Waarom werkt dit wel op mijn localhost (met PHP5) en niet op mijn webserver (PHP versie weet ik niet)?
Moet ik dan switch gebruiken?
[ code verwijderd ]
De pagina zelf: http://danielpunt.nl/huidigepagina/index.php
Geen sendmail(wapper) geinstalleerd op die computer?quote:Op dinsdag 20 juni 2006 18:30 schreef fokME2 het volgende:
[..]
De error komt al als de functie zo wordt gebruikt:
[ code verwijderd ]
Nee, het pad naar sendmail is "/usr/sbin/sendmail -t -i" voor PHP, ongeacht of het geïnstalleerd is of nietquote:Op dinsdag 20 juni 2006 20:53 schreef fokME2 het volgende:
Ik heb geen idee, het is niet mijn hosting etc. Zal het is navragen.
Edit:
Path to sendmail /usr/sbin/sendmail -t -i
Sendmail is dus geinstalleerd neem ik aan.
nou, eerlijk gezegd ben ik redelijk nieuw met Linux en weet niet waar ik moet beginnen met upgraden. Ik ben opzoek naar tutorials maar kan nergens een goede vinden.. Het lijkt mij logisch dat ik eerst php 4 moet unstallen alvorens php 5 te gaan instaleren enz. enz.quote:
Lijkt mij niet logisch, het is geen Windows zegquote:Op dinsdag 20 juni 2006 21:39 schreef Ewaldus het volgende:
[..]
Het lijkt mij logisch dat ik eerst php 4 moet unstallen alvorens php 5 te gaan instaleren enz. enz.
Moet je nagaan wat voor n00bleek ik ben met Linux ... Ik had het trouwens niet verwacht maar wilde geen risico's lopen.quote:Op dinsdag 20 juni 2006 21:50 schreef JeRa het volgende:
[..]
Lijkt mij niet logisch, het is geen Windows zegvoor zover ik weet maakt CentOS gebruik van een RPM package manager. Meestal hoort daar nog een tool bij (zoals yum bijvoorbeeld) om die packages van internet te downloaden en meteen te upgraden, en waarmee je je systeem up-to-date kunt houden. Kun je niets vinden op de supportafdeling van centos.org?
(en dan vooral de fora)
1 2 3 4 5 6 7 8 9 | require_once("CTest.php"); $test = new Test(); $test->setVar(5); echo ($test->getVar()); |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | { private $var = 0; public function __construct() { echo "Creating " . $this . "<br>"; } public function __destruct() { echo "Destructing " . $this . "<br>"; } public function setVar($_var) { $this->$var = $_var; } public function getVar() { return $this->$var; } } |
1 2 3 4 5 6 | Notice: Undefined variable: var in /home/martijn/www/CTest.php on line 19 Fatal error: Cannot access empty property in /home/martijn/www/CTest.php on line 19 Destructing Object id #1 |
echo is geen functiequote:Op dinsdag 20 juni 2006 22:21 schreef Tijn het volgende:
Ik wil een beginnetje maken met OOP in PHP5 (PHP 5.1.2 om precies te zijn). Ik kan redelijk met pointers en classes enzo omgaan in C++ en dacht het daarom ook zonder al teveel moeite in PHP te moeten doen.
Maar het wil nog niet echt vlotten. Ik heb eerst even een simpel test-object opgezet die alleen maar een waarde vasthoudt, verder niets. En dat lukt al niet
index.php
[ code verwijderd ]
CTest.php
[ code verwijderd ]
De output hiervan is:
[ code verwijderd ]
Regel 19 gaat dus mis, dat is $this->$var = $_var;. Blijkbaar kan het object Test z'n eigen member $var niet vinden. Ik snap echter niet waarom. Kan iemand me aanwijzen wat ik verkeerd doe?
echo() is een language construct maar kan op beide manieren gebruikt wordenquote:Op dinsdag 20 juni 2006 22:27 schreef Swetsenegger het volgende:
[..]
echo is geen functie
echo ($test->getVar());
echo $test->getVar();
Bedankt!quote:
Ik dacht dat je alleen bij print haakjes kon gebruiken en echo niet. Anyway, dat zal het probleem niet veroorzakenquote:Op dinsdag 20 juni 2006 22:30 schreef JeRa het volgende:
[..]
echo() is een language construct maar kan op beide manieren gebruikt wordenals je echter meerdere argumenten aan echo() wilt meegeven mag je geen haakjes gebruiken geloof ik.
Ja, ik ben een beetje gewend geraakt om om pointer->ding altijd haakjes te zetten, omdat in C++ wel eens foutmeldingen krijg als ik dat niet doe. Maar in PHP is dat blijkbaar niet zo nodig, dus kheb ze weer weggehaald.quote:Op dinsdag 20 juni 2006 22:27 schreef Swetsenegger het volgende:
[..]
echo is geen functie
echo ($test->getVar());
echo $test->getVar();
-edit- Hmz, waarschijnlijk snap ik het gewoon niet.
Het gaat ook over OOP, dus ik kan beter mijn mond houden
Alleen de 'buitenste' variabele heeft altijd een dollarteken, de rest nietquote:Op dinsdag 20 juni 2006 22:31 schreef Tijn het volgende:
[..]
Bedankt!
Ik was er net zelf ook achter gekomen door de voorbeelden op PHP.net eens goed te lezen. Ik vind het wel raar hoor. Ik ben eraan gewend geraakt dat variabelen in PHP een dollarsign ervoor hebben, en nu hebben ze dat opeens weer niet
Ja DIT begrijp ik welquote:Op dinsdag 20 juni 2006 22:33 schreef Tijn het volgende:
Oh en als je nou ff oplet, dan leer je ook OOP in PHP, want simpeler dan dit voorbeeld kom je het niet tegen
De theoretische achtergrond heb ik ook niet echt, maar ik vind de structuur van object-oriented programma's meestal makkelijker te volgen. Het wordt dan niet van die spaghetticode zeg maar.quote:Op dinsdag 20 juni 2006 22:34 schreef Swetsenegger het volgende:
[..]
sowieso ben ik nog steeds niet overtuigt van het nut van OOP. Ja ik weet het, ik ben stronteigenwijs.
Om eerlijk te zijn is OOP in PHP i.c.m. websites nogal overdreven, behalve als je met backends voor de database e.d. gaat werken. Dan kun je namelijk iets heel leuks toepassenquote:Op dinsdag 20 juni 2006 22:34 schreef Swetsenegger het volgende:
sowieso ben ik nog steeds niet overtuigt van het nut van OOP. Ja ik weet het, ik ben stronteigenwijs.
Nou, ik vind het stomquote:Op dinsdag 20 juni 2006 22:34 schreef JeRa het volgende:
[..]
Alleen de 'buitenste' variabele heeft altijd een dollarteken, de rest niethet is dus ook $obj->variabeleObject->variabele, $array['blaat']['ietsanders']->variabele[1], etc. Zoals jij het deed kon je dynamische namen oproepen (hij probeerde namelijk de inhoud van $var te gebruiken als naam voor de variabelen in je object).
Ik ben in 1983 met programmeren begonnen. I love spaghetti.quote:Op dinsdag 20 juni 2006 22:39 schreef Tijn het volgende:
[..]
De theoretische achtergrond heb ik ook niet echt, maar ik vind de structuur van object-oriented programma's meestal makkelijker te volgen. Het wordt dan niet van die spaghetticode zeg maar.
Het probleem is niet zo zeer dat ik het zelf nodig heb op dit moment. Het probleem is wel dat ik een 'incomplete' programmeur ben. En dat kan me opbreken op een gegeven moment, ook in een management functie mbt webdevelopment welke kant ik uiteindelijk toch graag op wil.quote:Op dinsdag 20 juni 2006 22:39 schreef JeRa het volgende:
[..]
Om eerlijk te zijn is OOP in PHP i.c.m. websites nogal overdreven, behalve als je met backends voor de database e.d. gaat werken. Dan kun je namelijk iets heel leuks toepassenclass extending.
Dat houdt in dat je in jouw applicatie één interface hebt om een database aan te spreken ($obj->query bijvoorbeeld) terwijl je op de achtergrond bv. 5 verschillende classes hebt geschreven voor 5 verschillende DB-types. Dán is het erg handig, want dat voorkomt dat je voor al die verschillende types aparte code moet gaan schrijven op elke plek dat je een query wilt uitvoerenik heb dat in vorige projecten gebruikt om zowel PHP-mysql als PHP-mysqli aan te kunnen spreken.
Forum Opties | |
---|---|
Forumhop: | |
Hop naar: |