Het werkt goddelijk. Lekker makkelijk met menutjes attributen en methoden toevoegen, en alles is dynamisch. Als je een object uit je eigen UML als attribuut toe wilt voegen is dat geen probleem, hop hop en het zit.quote:Op woensdag 8 augustus 2007 23:08 schreef Tijn het volgende:
CoolIk heb nog nooit zoiets gebruikt, misschien helpt het me m'n webapps beter te ontwerpen.
Hoef je niet lui voor te zijn is gewoon handigquote:Op woensdag 8 augustus 2007 23:31 schreef Geqxon het volgende:
Idd niet tot dit topic gerelateerd. Maar voor de luie programmeurr is het wel handig een UML model naar code om te zetten.
Netbeans is ook leuk, echter zocht ik een utility puur voor UML (onder OS X). Daar is dit zéér geschikt voor, ik kan er vanalles prima mee doen.quote:Op donderdag 9 augustus 2007 00:40 schreef JeRa het volgende:
Netbeans + UML modules. Of gewoon een dotfile schrijven en gaan met die banaan.
Dan zou ik me (conventiewijs) eerder zorgen maken over inheritance pijlen die van noord naar zuid wandelen, over diagonale lijnen wordt volgens mij niets gezegdquote:Op donderdag 9 augustus 2007 00:52 schreef Geqxon het volgende:
[..]
Al weet ik niet of diagonale lijnen in UML wel mogen...
Waar ik heen wil? Een class-based HTML output systeem, waardoor ik een pagina op kan bouwen met verschillende objecten. Ieder object is verantwoordelijk voor het uitspugen van zijn eigen HTML, die overigens met een for-loopje overal opgehaald word. Dit zijn inderdaad vrij concrete classes, maar ik ben wel van plan wat meer algemenere classes te gaan bouwen. Momenteel doe ik dit met functies, en dat vind ik niet handig werken.quote:Op donderdag 9 augustus 2007 01:19 schreef autocue het volgende:
[..]
Dan zou ik me (conventiewijs) eerder zorgen maken over inheritance pijlen die van noord naar zuid wandelen, over diagonale lijnen wordt volgens mij niets gezegd. Over het diagram, welke richting wil je hiermee opgaan? De mate van concreetheid zorgt er denk ik voor dat je bij het gebruik van zo'n systeem aan een enorm groot scala van klassen wordt blootgesteld of veel flexibiliteit verliest vergeleken met plattere template systemen (zoals Smarty of tinyButStrong). Desalniettemin, templating systemen bouwen is gaaf
.
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 | // anti SQL injectie $id = validate($_POST['id']); // nieuw afbeelding object aanmaken $image = new image(); // nieuw afbeelding constructie object aanmaken // (om afbeelding mee uit de Db te trekken) $get_image = new $image->get_image(); // veldnaam in Db // (moet uiteraard een BLOB zijn) $get_image->want('image_binary_content'); // tabel naam $get_image->from('images'); // conditie waar record aan moet voldoen $get_image->where('id', $id); // importeer de binaire data uit de Db // van de afbeelding in het afbeelding object $image->import($get_image); // resize deze on the fly $smw = $settings->get('img_max_width'); $smh = $settings->get('img_max_height'); $image->resize($smw, $smh); // toon geresizede afbeelding in browser $image->display(); ?> |
1 2 3 4 5 6 7 8 9 10 11 | class EenOfAndereClass { function blaat() { return true; } } $a = new EenOfAndereClass(); $b = $a->blaat(); ?> |
Neequote:Op vrijdag 10 augustus 2007 13:55 schreef JeRa het volgende:
@Evenveel
Wat lukt je niet? De basis van OO in PHP4 ofzo? Want wat jij wil is niet veel meer dan zoiets:
[ code verwijderd ]
Maar dan zal het dus "$a->$b->c()" worden (hence the $)...quote:Op vrijdag 10 augustus 2007 15:13 schreef super-muffin het volgende:
$a->b->c gaat alleen wanneer de variabele b in a een object is. dan kun je c aanspreken.
Maar moet dat dan met of zonder de "new" keyword?quote:Op vrijdag 10 augustus 2007 15:13 schreef super-muffin het volgende:
in jouw geval moet $image->get_image() dus een object terug geven.
klopt.quote:Op vrijdag 10 augustus 2007 15:19 schreef Evenveel het volgende:
[..]
Maar moet dat dan met of zonder de "new" keyword?
Dit doe ik ook, alleen gebruik ik de UTF-8 class ipv de mb_ functies.quote:Op donderdag 9 augustus 2007 14:13 schreef JeRa het volgende:
@Desdinova
Als je deze dingen goed hebt hoef je geen enkele character set conversie uit te voeren:
1) Je (HTML) pagina's geef je de header 'Content-Type: ...; charset=utf-8' mee
2) In PHP voer je alle stringbewerkingen uit door gebruik te maken van de mb_* (multibyte) functies
3) Je RDBMS moet ondersteuning hebben voor collations waarbij je alle stringvelden van al je tabellen op UTF-8 zet
4) De verbinding tussen PHP en je RDBMS moet ook de goede character set hebben (voor MySQL: SET CHARACTER SET UTF-8, voor PgSQL hoeft dit niet (gaat automagisch)).
Oooh wat dom... Meer hoef ik dan denk ik niet te weten... Ik wist dat het iets simpels als dit moest zijnquote:
quote:$a->b->c->d->e->f->g();
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 | class Db extends Exception{ protected function execute($sql){ return (bool) false; } protected function throwError($msg){ parent::__construct($msg); throw $this; } } class Query extends Db{ private $query; public function select(){ return $this; } public function from(){ return $this; } public function execute(){ if( parent::execute($this->query)) return (bool) true; else $this->throwError("Invalid SQL query"); } } $ins = new Query; try { $ins->select("*")->from("users")->execute(); echo 'Ok'; } catch(Query $e) { echo $e->getMessage(); } ?> |
Het idee van criteria is best wel handig, mijn ervaring bij het ontwikkelen webapps is dat de uitgevoerde queries over het algemeen klein zijn. Wanneer queries groter worden bieden dergelijk grote frameworks meestal wel voldoende functionaliteit om ook deze goed af te kunnen handelen. Maar... wat is precies het idee van het gooien van een klasse die verantwoordelijkheden bevat? Dat doet Zend toch niet mag ik hopen?quote:Op vrijdag 10 augustus 2007 15:37 schreef krozz56 het volgende:
[..]
[ code verwijderd ]
(ik heb het niet ge-comment)
Zo gebeurd dat in het Zend Framework vooral. Lijkt me echt kut voor ingewikkelde queries eigenlijk..
hoi jeffreyquote:Op vrijdag 10 augustus 2007 15:37 schreef krozz56 het volgende:
[..]
[ code verwijderd ]
(ik heb het niet ge-comment)
Zo gebeurd dat in het Zend Framework vooral. Lijkt me echt kut voor ingewikkelde queries eigenlijk..
dank uquote:Op zondag 12 augustus 2007 19:25 schreef wonderer het volgende:
http://us3.php.net/manual/en/function.strip-tags.php
1 2 3 | $price = preg_replace('/([^d]<img src="http://images.fok.nl/s/shiny.gif" width="15" height="15" alt="" />/', '', $price); ?> |
Ik snap alleen geen ruk van OOP, dus hou ik het graag bij dingen die ik snapquote:Op vrijdag 3 augustus 2007 15:47 schreef Xcalibur het volgende:
[..]
De PHPmailer class heeft hier een handige functie voor: addAttachment()
Dat ding maakt je leven een stuk eenvoudiger dan dat geklooi met die headers:)
Casting.quote:Op zondag 12 augustus 2007 19:30 schreef wobbel het volgende:
en nog een functie gezocht (als die bestaat)
Is het mogelijk de volgende string om te zetten in alleen getallen?
$string = "125,90 Opruiming!! Nu verlaagd";
dat ik alleen 125,90 overhoud? (zonder komma mag ook, beetje wiskunde en de originele prijs is terug)
[ code verwijderd ]
dit moet beter kunnen
1 2 3 4 | $string = "125,90 Opruiming!! Nu verlaagd"; echo (float) $string; ?> |
1 2 3 4 | $string = (float) "125.90 Opruiming!! Nu verlaagd"; echo $string; ?> |
Dankje, werkt ook allebeiquote:Op zondag 12 augustus 2007 19:43 schreef Geqxon het volgende:
[..]
Casting.
[ code verwijderd ]
of
[ code verwijderd ]
Dat je zelf geen OOP apps schrijft wil toch niet zeggen dat je een bestaand object niet kan gebruiken?quote:Op zondag 12 augustus 2007 19:30 schreef Swetsenegger het volgende:
[..]
Ik snap alleen geen ruk van OOP, dus hou ik het graag bij dingen die ik snap
Jawel, want ik snap niet wat het doet, als er dus een probleem ontstaat om welke reden dan ook wordt troubleshooting toch een stuk moeilijker.quote:Op zondag 12 augustus 2007 20:08 schreef Tijn het volgende:
[..]
Dat je zelf geen OOP apps schrijft wil toch niet zeggen dat je een bestaand object niet kan gebruiken?
quote:Op zondag 12 augustus 2007 19:48 schreef wobbel het volgende:
[..]
Dankje, werkt ook allebei
Nu heb ik nog 1 allerlaatste vraag:
Ik heb de volgende string:
$string = '<img src="/img/layout/vi1.gif" width="60" height="10" border="0">';
Hoe zorg ik ervoor dat ik alles tussen de src="" tags krijg? In dit geval dus /img/layout/vi1.gif
1 2 3 4 5 6 7 8 9 10 11 | $string = '<img src="/img/layout/vi1.gif" width="60" height="10" border="0">'; if (preg_match('#<img src="(.*)" width="60" height="10" border="0">#Uis',$string,$matches)){ $image_src = $matches[1]; } else{ $image_src = false; } ?> |
1 2 3 4 5 6 | $ch = curl_init("http://www.site.com"); curl_setopt ( $ch, CURLOPT_COOKIEFILE, '/var/www/html/TEST.txt' ); // Make sure location is writable curl_exec ( $ch ); curl_close ( $ch ); ?> |
1 |
tweede parameter van curl_setopt is een int, je geeft een string. Ik weet het niet zeker, maar ik geloof niet dat de gedefinieerde waarde in die string tot integer geparsed wordt. Oftwewel, haal die " 's is wel om die tweede parameterquote:
je hebt gelijk, en ik heb het aangepast...maar ik krijg nog steeds de uitgelogde source te zienquote:Op zondag 12 augustus 2007 21:18 schreef ralfie het volgende:
[..]
tweede parameter van curl_setopt is een int, je geeft een string. Ik weet het niet zeker, maar ik geloof niet dat de gedefinieerde waarde in die string tot integer geparsed wordt. Oftwewel, haal die " 's is wel om die tweede parameter
Je probeert in te loggen op Fok met een PHP-script, door je eigen cookie te gebruiken? Je weet dat Fok ook naar je IP kijkt als je in probeert te loggen?quote:Op zondag 12 augustus 2007 21:21 schreef wobbel het volgende:
[..]
je hebt gelijk, en ik heb het aangepast...maar ik krijg nog steeds de uitgelogde source te zien
het gaat niet om fok maar een andere site...en die kijkt niet naar het IP adresquote:Op zondag 12 augustus 2007 21:29 schreef Geqxon het volgende:
[..]
Je probeert in te loggen op Fok met een PHP-script, door je eigen cookie te gebruiken? Je weet dat Fok ook naar je IP kijkt als je in probeert te loggen?
Mja, OOP.... het is eigenlijk gewoon een setje functies waarmee je een mail kunt opbouwenquote:Op zondag 12 augustus 2007 19:30 schreef Swetsenegger het volgende:
Ik snap alleen geen ruk van OOP, dus hou ik het graag bij dingen die ik snap
De Snoopy class pakken, inloggen en als je cookies krijgt deze opslaan ergens en bij de iedere volgende page hits mee sturenquote:Op zondag 12 augustus 2007 21:29 schreef wobbel het volgende:
[..]
het gaat niet om fok maar een andere site...en die kijkt niet naar het IP adres
Daar is dus nog wat verbeterwerk in te doen als ik het zo hoorquote:Op maandag 13 augustus 2007 19:37 schreef Xcalibur het volgende:
Heeft iemand wel eens wat met PayPal integratie gedaan in PHP?
Probeer nu een creditcard betaling te verwerken met de PHP SDK... damn, wat zit dat ding kut in elkaar
Ben nou al een half uur bezig met het ding te bugfixen, zodat ie het uberhaupt doet... af en toe short open tags gebruiken / session_start in alle includes / etc. Op E_ALL wordt je daar niet blij van
1 2 | define('VERSION', '3.0'); |
ik heb het gewoon geintergreerd door zo'n POST te doen naar zon speciale PayPal paginaquote:Op maandag 13 augustus 2007 20:02 schreef Xcalibur het volgende:
Ja, godver
echt heel irritant.... staan ook systeem vereisten en randvoorwaarden bij die kennelijk niet kloppen (PHP versie op m'n server is lager dan nodig is, toch werkt het), en CC betalingen kunnen alleen in USD, maar in EUR doen ze het ook
En, uit de config file:
[ code verwijderd ]
Dat begrijp ik, maar net een tikkie anders. En aangezien ik al zo'n 23 jaar procedureel programmeer is dat tikkie anders verdomd moeilijk. En helaas heb ik net een tikkie te weinig tijd om er eens goed voor te gaan zittenquote:Op maandag 13 augustus 2007 09:10 schreef Xcalibur het volgende:
[..]
Mja, OOP.... het is eigenlijk gewoon een setje functies waarmee je een mail kunt opbouwen
-> Maak nieuwe mail
-> Voeg content toe
-> Voeg ontvangers toe
-> Voeg subject toe
-> Voeg attachment toe
-> Verzend mail
Eigenlijk is het gewoon 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 | function Kiekeboe_a () { if ( document.getElementById ( 'Barcode' ).value == 'y' ) { document.getElementById ( 'BarcodeVeld' ).className = 'BarcodeKiekeboe'; document.getElementById ( 'KlantVeld' ).className = 'KlantVerstopt'; } else { document.getElementById ( 'BarcodeVeld' ).className = 'BarcodeVerstopt'; document.getElementById ( 'KlantVeld' ).className = 'KlantKiekeboe'; } } function Kiekeboe_b () { if ( document.getElementById ( 'Barcode' ).value == 'n' ) { document.getElementById ( 'BarcodeVeld' ).className = 'BarcodeKiekeboe'; document.getElementById ( 'KlantVeld' ).className = 'KlantVerstopt'; } else { document.getElementById ( 'BarcodeVeld' ).className = 'BarcodeVerstopt'; document.getElementById ( 'KlantVeld' ).className = 'KlantKiekeboe'; } } </script> <div id="content"> <h2>Reparatie aanmelden</h2> <form action="#SITE_URL/task_add.php" method="post" name="TaskAdd" id="TaskAdd"> <table width="100%" border="0" cellspacing="0" cellpadding="1"> <tr> <td width="50%" align="left" valign="top">Bevat de PC een barcode?</td> <td width="50%" align="left" valign="top">Ja <input type="radio" name="Barcode" id="radio" value="y" onclick="Kiekeboe_a()" /> Nee <input type="radio" name="Barcode" id="radio2" value="n" onclick="Kiekeboe_b()" /></td> </tr> <tr id="BarcodeVeld" class="BarcodeVerstopt"> <td align="left" valign="top"> <img src="#SITE_URL/include/images/toptoright.gif" />Barcode</td> <td align="left" valign="top"><input type="text" name="textfield" id="textfield" /></td> </tr> <tr id="KlantVeld" class="KlantVerstopt"> <td colspan="2"> <table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr> <td width="50%" align="left" valign="top"> <img src="#SITE_URL/include/images/toptoright.gif" />Naam</td> <td width="50%" align="left" valign="top"><input type="text" name="textfield2" id="textfield2" /></td> </tr> <tr> <td width="50%" align="left" valign="top"> <img src="#SITE_URL/include/images/toptoright.gif" />Telefoonnummer</td> <td width="50%" align="left" valign="top"><input type="text" name="textfield3" id="textfield3" /></td> </tr> </table> </td> </tr> <tr> <td align="left" valign="top" colspan="2"> </td> </tr> <tr> <td align="center" valign="top" colspan="2"><input type="image" name="imageField" src="#SITE_URL/include/images/buttons/task_toevoegen.jpg"></td> </tr> </table> </form> </div> |
1 2 3 4 5 6 7 8 9 10 11 12 | display: none; } .BarcodeKiekeboe { display: inline table-row; } .KlantVerstopt { display: none; } .KlantKiekeboe { display: inline table-row; } |
Zo gebruik ik classes ook, 1 class met user functies, 1 class met core functies, 1 class met administratieve functies...etcquote:Op maandag 13 augustus 2007 21:55 schreef Xcalibur het volgende:
@Swets: Ik moet zeggen dat ik dat OOP ook nog niet echt lekker begrjip... ik gebruik classes vooral als handige methode om bij elkaar horende functies en variabelen te groeperen
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | var Barcode = document.getElementById('Barcode'); var BarcodeVeld = document.getElementById('BarcodeVeld'); var KlantVeld = document.getElementById('KlantVeld'); switch(Barcode.value){ case "y": BarcodeVeld.className = 'BarcodeKiekeboe'; KlantVeld.className = 'KlantVerstopt'; break; case "n": BarcodeVeld.className = 'BarcodeKiekeboe'; KlantVeld.className = 'KlantVerstopt'; break; default: BarcodeVeld.className = 'BarcodeVerstopt'; KlantVeld.className = 'KlantKiekeboe'; break; } } |
Het is nog vrij simpel. In het geval van de email-class kun je het het best zien als een fysiek object, een echt emailtje. Daar voer je functies op uit, die manipuleer je, en met de methode "send" gaat hij vervolgens de deur uit.quote:Op maandag 13 augustus 2007 21:55 schreef Xcalibur het volgende:
@Swets: Ik moet zeggen dat ik dat OOP ook nog niet echt lekker begrjip... ik gebruik classes vooral als handige methode om bij elkaar horende functies en variabelen te groeperen
Wacht maar tot je ingewikkelde web applicaties moet bouwen, dan word het pas echt onoverzichtelijk.quote:Op maandag 13 augustus 2007 21:58 schreef wobbel het volgende:
[..]
Zo gebruik ik classes ook, 1 class met user functies, 1 class met core functies, 1 class met administratieve functies...etc![]()
Wat ik over het algemeen doe is classes gebruiken als een representatie van mijn database, en "handlers" om deze classes te persisteren.quote:Op maandag 13 augustus 2007 22:11 schreef Xcalibur het volgende:
Zo gebruik ik classes ook
Misschien is dat wel de bedoeling, maar ik heb het gevoel dat het kwartje nog niet helemaal is gevallen bij mij
Die werkt helaas niet....quote:
idd een post request naar http://www.paypal.com/cgi-bin/webscr/quote:Op maandag 13 augustus 2007 21:16 schreef wobbel het volgende:
[..]
ik heb het gewoon geintergreerd door zo'n POST te doen naar zon speciale PayPal pagina
1 |
Ten eerste, gebruik altijd ID's, deze zijn namelijk uniek... dat is de veiligste manierquote:Op dinsdag 14 augustus 2007 21:36 schreef Youp_van_t_Hek het volgende:
Oke, ik ben een vrij grote n00b op dit gebied maar ik heb dus een vraag:
Allereest: wat is de bedoeling: ->
Ik wil uit 2 tabellen waardes gebruiken. Ik noem ze tabel A en B. Uit A komt een naam, bijv, "Piet" en "Jan". Piet heeft ID1 , Jan ID2.
In een andere tabel heb ik o.a. een veld "binnen" en "buiten" als INT, dus '1' staat voor Piet, '2' voor Jan. Nu is het de bedoeling om met een query een overzichtje te maken van wie er binnen en buiten staat. Zoiets dus:
Nummer - Dag - Binnen - Buiten
1 ----- Maandag ----- Piet --- .Jan ......
2 ------ Dinsdag. ---- Piet ---- Frits ......
3 ------ Woensdag - Frits ---- Piet ......
etc.
Nu kan ik wel datzelfde schema voor elkaar krijgen als ik de nummerieke ID's gebruik die in tabel B staan (1, 2, 3, etc) maar ik wil dus die namen gebruiken en geen getallen.
[ code verwijderd ]
en daarmee krijg ik dus wel namen bij bijvoorbeeld binnen erbij staan maar dan staan bij buiten nog steeds de getallen (in dit voorbeeld 2,3,1)
Hoe kan ik bij beide kolommen een naam laten zien?
alvast bedankt, hopelijk snappen jullie het
1 2 3 4 | FROM tbl_dagen a LEFT JOIN tbl_medewerkers b ON (a.binnen = b.id) LEFT JOIN tbl_medewerkers c ON (a.buiten = c.id) |
Ja gewoon de melding geven er is een nieuwe update!quote:Op donderdag 16 augustus 2007 10:18 schreef JeRa het volgende:
Eén van de vele features van mijn CMS in wording wordt dan ook de mogelijkheid om een gigantische waarschuwing weer te geven bij security updates zodra er wordt ingelogd als een user met voldoende rechten.
Ik heb eigenlijk nooit begrepen waarom dat soort pakketten niet met een soort 'auto-update' functie komen.quote:Op donderdag 16 augustus 2007 10:18 schreef JeRa het volgende:
Eén van de vele features van mijn CMS in wording wordt dan ook de mogelijkheid om een gigantische waarschuwing weer te geven bij security updates zodra er wordt ingelogd als een user met voldoende rechten.
* WyriHaximus mompelt iets over altijd register_globals uit te zettenquote:Op donderdag 16 augustus 2007 10:15 schreef Swetsenegger het volgende:
http://www.webwereld.nl/a(...)rs-hoofdbrekens.html
Klopt, en dat je dan 5 keer nee kan zeggen, maar na de 5de keer alleen nog maar Jaquote:Op donderdag 16 augustus 2007 10:21 schreef Swetsenegger het volgende:
[..]
Ik heb eigenlijk nooit begrepen waarom dat soort pakketten niet met een soort 'auto-update' functie komen.
"Er zijn nieuwe updates voor uw CMS, wilt u die nu installeren?"
Ja precies ben ik zelf ook aan het maken. Niet alleen in me CMS maar ook met me phpBB dingen en alle andere scripts die ik nu aan het bouwen ben. Ga zelfs zo ver dat scripts zich zelf uit gaan zetten als er een security update is en als het maar dan een week geleden is uitgegeven.quote:Op donderdag 16 augustus 2007 10:18 schreef JeRa het volgende:
Eén van de vele features van mijn CMS in wording wordt dan ook de mogelijkheid om een gigantische waarschuwing weer te geven bij security updates zodra er wordt ingelogd als een user met voldoende rechten.
Ja als je je CMS ftp access geeft is dat ook absoluut geen probleemquote:Op donderdag 16 augustus 2007 10:21 schreef Swetsenegger het volgende:
[..]
Ik heb eigenlijk nooit begrepen waarom dat soort pakketten niet met een soort 'auto-update' functie komen.
"Er zijn nieuwe updates voor uw CMS, wilt u die nu installeren?"
Dat of gewoon alles uitschakelen.quote:Op donderdag 16 augustus 2007 10:25 schreef JortK het volgende:
[..]
Klopt, en dat je dan 5 keer nee kan zeggen, maar na de 5de keer alleen nog maar Ja
Goeie. Zoveel resources trekt het niet om even met de server van de developer te connecten. En als je het echt goed doet, dan kun je het complete CMS desnoods locken.quote:Op donderdag 16 augustus 2007 10:18 schreef JeRa het volgende:
Eén van de vele features van mijn CMS in wording wordt dan ook de mogelijkheid om een gigantische waarschuwing weer te geven bij security updates zodra er wordt ingelogd als een user met voldoende rechten.
Nee precies en het dan ook gewoon cache zodat je maar 1 keer per dag checked.quote:Op donderdag 16 augustus 2007 10:28 schreef Geqxon het volgende:
[..]
Goeie. Zoveel resources trekt het niet om even met de server van de developer te connecten. En als je het echt goed doet, dan kun je het complete CMS desnoods locken.
Desnoods via AJAX, zodat de pagina doorlaad, en users er geen last van hebben. Al kunnen users dan ook Javascript uitschakelen, maar och, it's for there own safety.quote:Op donderdag 16 augustus 2007 10:33 schreef WyriHaximus het volgende:
[..]
Nee precies en het dan ook gewoon cache zodat je maar 1 keer per dag checked.
Heb ik aan zitten te denken maar dat lijkt me uiteindelijk geen goed idee. Mocht ik ooit een bug hebben laten zitten die het daadwerkelijk updaten voorkomt, wil je natuurlijk niet het hele CMS locken totdat er geüpdatet wordt (want dat gebeurt dan nooit).quote:Op donderdag 16 augustus 2007 10:28 schreef Geqxon het volgende:
[..]
Goeie. Zoveel resources trekt het niet om even met de server van de developer te connecten. En als je het echt goed doet, dan kun je het complete CMS desnoods locken.
Als het in een module is kan je natuurlijk makkelijk die module uitschakelen is het in je core dan word het idd een ander verhaal.quote:Op donderdag 16 augustus 2007 10:48 schreef JeRa het volgende:
[..]
Heb ik aan zitten te denken maar dat lijkt me uiteindelijk geen goed idee. Mocht ik ooit een bug hebben laten zitten die het daadwerkelijk updaten voorkomt, wil je natuurlijk niet het hele CMS locken totdat er geüpdatet wordt (want dat gebeurt dan nooit).
Printscreen -> opslaan -> uploadenquote:Op donderdag 16 augustus 2007 11:01 schreef Darkomen het volgende:
Kent iemand trouwens een script welke de XML van Google Analytics een beetje mooi weergeeft zodat je deze ook op je eigen site kan zetten?
Is namelijk flink veel werk om dit zelf te gaan maken
Toch gewoon die XML parsen en dan in een tabelletje douwenquote:Op donderdag 16 augustus 2007 11:01 schreef Darkomen het volgende:
Kent iemand trouwens een script welke de XML van Google Analytics een beetje mooi weergeeft zodat je deze ook op je eigen site kan zetten?
Is namelijk flink veel werk om dit zelf te gaan maken
JA je zult toch eerst moeten parsen wil je er grafiekjes van kan makenquote:Op donderdag 16 augustus 2007 11:09 schreef Darkomen het volgende:
Heb je wel eens gezien hoe groot die xml file is ;-)
Zijn heeeel wat tabelletjes, maar het zou leuk zijn als de boel leuk in grafiekjes verwerkt wordt.
Je bedoelt als een onafhankelijk proces (fork), of moet het proces ook gegevens naar de gebruiker verzenden?quote:Op donderdag 16 augustus 2007 15:35 schreef Geqxon het volgende:
Is het mogelijk om, als de gebruiker een pagina opvraagt, een PHP script in de achtergrond te laten draaien?
http://php.net/ignore_user_abort zoiets?quote:Op donderdag 16 augustus 2007 15:41 schreef Geqxon het volgende:
In de vorm van: Als de gebruiker een pagina opent, wil ik een langdurend PHP script draaien. Op het moment moet de gebruiker dan wachten totdat het process afgelopen is, voordat de pagina geladen is. Vandaar dat ik hem gescheiden op de achtergrond wil laten draaien.
Of is het ook mogelijk de pagina richting de gebruiker "af te sluiten" , en het dan te draaien? ob_close oid?
Dat staat hier standaard al aan. Als ik de browser tussentijds afsluit gaat hij nog lekker door. Dat is het ook niet, ik wil dat de gebruiken de pagina binnen 4 seconde compleet ingeladen heeft, de connectie richting de gebruiker afgesloten is (waardoor het lijkt alsof de pagina compleet geladen is), maar dat hij nog wel doorhobbelt.quote:Op donderdag 16 augustus 2007 15:45 schreef WyriHaximus het volgende:
[..]
http://php.net/ignore_user_abort zoiets?
exec dusquote:Op donderdag 16 augustus 2007 15:47 schreef Geqxon het volgende:
[..]
Dat staat hier standaard al aan. Als ik de browser tussentijds afsluit gaat hij nog lekker door. Dat is het ook niet, ik wil dat de gebruiken de pagina binnen 4 seconde compleet ingeladen heeft, de connectie richting de gebruiker afgesloten is (waardoor het lijkt alsof de pagina compleet geladen is), maar dat hij nog wel doorhobbelt.
Yeah weet alleen niet zeker of het standaard in de background gaat draaien of nietquote:Op donderdag 16 augustus 2007 16:01 schreef Geqxon het volgende:
[ code verwijderd ]
? Of moet het iets zijn als:
[ code verwijderd ]
?
Apache op Windows.![]()
quote:I noticed that a couple of contributers planned on having threads running in background while operation continues.
If you have a script that will function for itself there is an easy solution: call it through fsockopen (request to webserver) and do not wait for the answer. To make sure process is called correctly on all operating systems I had to add an fgets but break after first couple of bytes.
example main script
1 2 3 4 5 6 7 8 9 10 | echo "This is main thread, returning immediately"; $fp = fsockopen( <addyourcalltoscript> ); //fputs($fp, <yourvariablestosend>); while(!feof($fp)){ fgets($fp, 128); break; } fclose($fp); ?> |
quote:example child script
1 2 3 4 5 6 | // make sure script runs without stopping // set_time_limit(0); ignore_user_abort(true); // your code ?> |
ik heb het gevoel dat de headers niet meegestuurd wordenquote:Delivered-To: @gmail.com
Received: by 10.65.239.16 with SMTP id q16cs277131qbr;
Thu, 16 Aug 2007 12:30:02 -0700 (PDT)
Received: by 10.82.181.10 with SMTP id d10mr3121583buf.1187292601869;
Thu, 16 Aug 2007 12:30:01 -0700 (PDT)
Return-Path: <www-data@-desktop>
Received: from -desktop (195-241-92-20.dsl.ip.tiscali.nl [195.241.92.20])
by mx.google.com with ESMTP id i7si1328629nfh.2007.08.16.12.30.01;
Thu, 16 Aug 2007 12:30:01 -0700 (PDT)
Received-SPF: neutral (google.com: 195.241.92.20 is neither permitted nor denied by best guess record for domain of www-data@-desktop) client-ip=195.241.92.20;
Authentication-Results: mx.google.com; spf=neutral smtp.mail=www-data@-desktop
Date: Thu, 16 Aug 2007 12:30:01 -0700 (PDT)
Message-Id: <46c4a5b9.07eb300a.653c.1d6dSMTPIN_ADDED@mx.google.com>
Received: by -desktop (Postfix, from userid 33)
id 6B4DA1E01CF; Thu, 16 Aug 2007 21:29:59 +0200 (CEST)
To: <@gmail.com>
Subject: pir,please activate your account on x
MIME-Version: 1.0
Content-type: text/html; charset=iso-8859-1
To: <@gmail.com>
From: x team <@gmail.com>
Message-Id: <20070816192959.6B4DA1E01CF@-desktop>
Date: Thu, 16 Aug 2007 21:29:59 +0200 (CEST)
<html><head><title>,please activate your account on ttrade</title></head><body>Hi (pir), <br/> <br/> Someone, probably you, has just registered a new account on x <br/> You now only have to activate your account by clicking this link: <br/> <a x me, or paste the link to your browser</a><br/> <a x <br/> <br/> Have fun! x Team</body></html>
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | $to = $_POST['realname']." <".$_POST['email'] . ">"; $subject = $lang['remail']['subject']; $subject = preg_replace("/%name%/i",$_POST['nick'],$subject); $message = "<html><head><title>".$lang['remail']['subject']."</title></head><body>"; $message .= $lang['remail']['message']; $message .= "</body></html>"; $message = preg_replace("/\|\|/i","<br/>",$message); $message = preg_replace("/%name%/i",$_POST['realname'],$message); $message = preg_replace("/%nickname%/i",$_POST['nick'],$message); $message = preg_replace("/%link%/i",$link,$message); (i)$headers = 'MIME-Version: 1.0' . "\r\n"; (i)$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n"; (i)$headers .= 'To: ' . $_POST['email'] . (i)$headers .= 'From: x team <@gmail.com>' . "\r\n"; (i)if(mail($to, $subject, $message, $headers)){ array_push($msg,"prio3!!!_".$lang['esucces']); }ELSE{ array_push($msg,"prio1!!!_".$lang['efail']); } |
Ik kan je aanbevelen Swift te gebruiken. Enorm portable aangezien het een volledig PHP gebaseerde mailer is (dus geen sendmail configuraties) en het abstraheert het begrip mailen goedquote:Op donderdag 16 augustus 2007 21:59 schreef PiRANiA het volgende:
wie helpt me?
Ooh die ga ik zeker onthoudenquote:Op donderdag 16 augustus 2007 23:05 schreef autocue het volgende:
[..]
Ik kan je aanbevelen Swift te gebruiken. Enorm portable aangezien het een volledig PHP gebaseerde mailer is (dus geen sendmail configuraties) en het abstraheert het begrip mailen goed.
Okee,quote:Op donderdag 16 augustus 2007 23:05 schreef autocue het volgende:
[..]
Ik kan je aanbevelen Swift te gebruiken. Enorm portable aangezien het een volledig PHP gebaseerde mailer is (dus geen sendmail configuraties) en het abstraheert het begrip mailen goed.
Forum Opties | |
---|---|
Forumhop: | |
Hop naar: |