1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | function kostenapk ( $veelstukaanauto ) { if ( $veelstukaanauto == "ja" ) { return "rekening is 700 euro"; } else { return "Rekening is niet duur"; // die smilie kwam door de BB parser van Fok <img class="rde_img_smiley" src="http://i.fok.nl/s/puh2.gif" width="15" height="15" alt="" /> } } echo kostenapk ( "ja" ); ?> |
regel 15: hoe weet php dat de string niet afgelopen is bij ss="quote:Op vrijdag 13 november 2009 18:25 schreef wobbel het volgende:
[ code verwijderd ]
@hierboven
http://www.phphulp.nl/php/scripts/3/328/
quote:Op vrijdag 13 november 2009 18:25 schreef wobbel het volgende:
[ code verwijderd ]
@hierboven
http://www.phphulp.nl/php/scripts/3/328/
Dat dus. Ik gebruik sinds een tijd Eclipse voor PHP, en ga binnenkort eens de PHP IDE voor Visual Studio testen (ik werk ook veel met .NET en Visual Studio, dus zou ideaal voor mij zijn). Ik heb jarenlang stug bij Notepad ( ++ ) afgezworen, maar een PHP die je al netjes aangeeft waar je syntaxfouten hebt; ik kan niet meer zonder.quote:Op vrijdag 13 november 2009 18:44 schreef hamkaastosti het volgende:
[..]
[ afbeelding ]
doe jezelf een lol en download voordat je ook maar iets aan php schrijft een beetje goede IDE.
netbeans is bijvoorbeeld gratis en werkt prima met php
bovendien wil je denk ik checken of $veelstukaanauto ja of iets anders is en dan moet je niet toewijzen (=) maar vergelijken (==)
http://nl2.php.net/manual/en/language.operators.comparison.php
1 2 3 4 5 6 7 | while ($iknogitemsheb) { $currentitem = new newsitem('id', 'author', 'undsoweiter'); array_push($newsitems, $currentitem); } ?> |
1 2 3 4 5 6 | <h2>Laatste 5 nieuwsitems</h2> foreach($newsitems as $item): echo $item->author; endforeach; ?> |
1 2 3 | $item['author'] ?> |
Ja, dan moet je de http headers uitlezen. Zie example 1 op http://php.net/manual/en/function.fsockopen.phpquote:Op zaterdag 14 november 2009 12:36 schreef JortK het volgende:
Kleine vraag:
Stel ik heb een link:http://www.domain.com/ref/113 welke doorverwijst naar http://www.google.com/.
Kan ik er met PHP achterkomen dat de betreffende URL naar http://www.google.com gaat?
Ik doe het nu via cURL: http://forums.devshed.com(...)edirects-544144.htmlquote:Op zaterdag 14 november 2009 12:41 schreef GlowMouse het volgende:
[..]
Ja, dan moet je de http headers uitlezen. Zie example 1 op http://php.net/manual/en/function.fsockopen.php
de vraag is eigenlijk wat doet hij hier?quote:Op woensdag 18 november 2009 16:52 schreef daReaper het volgende:
Op deze pagina staat een registratieformulier:
http://www.bonnydoggy.ru/component/user/register
Maar als je op "Registreer" (зарегистрируйтесь) drukt, gebeurt er helemaal niets, en daar snap ik nix van! Ik heb zelfs een onclick erin gezet, die niet reageert op het moment dat ik op de knop druk. Zelfs geen foutmeldingen in de Foutconsole van Firefox... Wat kan hier aan de hand zijn?
Een update met IF erin.quote:Op zondag 15 november 2009 16:28 schreef DirkZz het volgende:
even een SQL vraag je die ik binnen kort kreeg, namelijk hoe kan je in één query het volgende uitvoeren:
In de tabel boeken
alle boeken die in de catogorie nederlands vallen
de prijs verhogen met 19%
en alle boeken die niet in de catogorie nederlands vallen
de prijs verhogen met 6%
waarom?quote:Op woensdag 18 november 2009 20:41 schreef DirkZz het volgende:
Was blijkbaar dus een fout in de overhoring..
Waarom de volgende dingen?quote:Op vrijdag 20 november 2009 12:43 schreef hamkaastosti het volgende:
ik ben nog steeds bezig met m'n MVC systeempje en nu vroeg ik me af of ik sommige dingen compleet verkeerd aanpak dus hieronder wat code van een controller en een model.
mijn newscontroller: http://pastebin.com/d7cfa2981
mijn newsmodel: http://pastebin.com/m47be5495
Welke ervaren php'er kan me wat goede tips geven?
1 2 3 4 5 6 7 8 | $this->view->addContent($this->controller, __FUNCTION__); final class newscontroller extends basecontroller { private $controller = 'news'; } ?> |
1 2 3 4 | $this->newsitems = array(); $this->singleitem = array(); ?> |
dus die addContent methode kan 1 niveau hoger worden geplaatst, eigenlijk na de call van de controller functiequote:Op vrijdag 20 november 2009 13:15 schreef hamkaastosti het volgende:
$this->view->addContent haalt de view op uit modules/controllernaam/methodnaam.tpl.php en voegt dit toe op de juiste locatie in layout.tpl.php. zo voegt $this->view->addUserError('newsitem_not_found'); bijvoorbeeld de geselecteerde foutmelding toe aan de layout.
hij haalt het op en voegt het vervolgens toe aan de algehele layoutquote:Op vrijdag 20 november 2009 14:23 schreef Xcalibur het volgende:
Los van je vraag vind ik 'AddContent' een wat verwarrende naam voor iets wat content ophaalt
wat dacht je van getContent? doet precies wat hij zegt haalt content opquote:Op vrijdag 20 november 2009 17:21 schreef hamkaastosti het volgende:
[..]
hij haalt het op en voegt het vervolgens toe aan de algehele layout
ik ben niet zo goed met naamgevingen
Ik wil dis het deel tot de EERSTE </td> hebben. Ik heb dit al geprobeerd maar dat werkt uiteraard niet:quote:bla<br>bla<div></td>blabla
1 |
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 | public function react() { //form is submitted if(strtoupper($_SERVER['REQUEST_METHOD']) == "POST" && !empty($_POST['submit'])) { $validator = new validator(); $validator->validateField('name', 3, 45, '/^[aA-zZ0-9]+$/', true); $validator->validateMail('email', true); //form is valid if($validator->isValid()) { echo 'valide'; // hier moet ik dan ook nog een keer checken of nieuwsitem wel bestaat. // kan ik ook in het model doen maar wat is beter? } //form not valid. display it again with errors else { //not existing item $newsitem = $this->model->getSingleItem($this->path->getPiece(3)); if($newsitem == false) { $this->view->addUserError('newsitem_not_found'); } //it exists. else { $this->view->newsitem = $newsitem; $this->view->errors = $validator->getErrors(); $this->view->postvars = $validator->getPostVars(); $this->view->addContent($this->controller, __FUNCTION__); } } } //show the reactionform else { $newsitem = $this->model->getSingleItem($this->path->getPiece(3)); //not existing item if($newsitem == false) { $this->view->addUserError('newsitem_not_found'); } //it exists. else { $this->view->newsitem = $newsitem; $this->view->addContent($this->controller, __FUNCTION__); } } } ?> |
Als je een ? achter het sterretje plaatst zou het moeten werken. Da's het verschil tussen greedy en lazy binnen regular expressions.quote:Op vrijdag 20 november 2009 20:32 schreef PiRANiA het volgende:
Er is geen regex-topic, maar ik denk dat de PHP bazen hier mij wel kunnen helpen:
Ik wil een stuk tekst matchen tót een bepaald punt:
[..]
Ik wil dis het deel tot de EERSTE </td> hebben. Ik heb dit al geprobeerd maar dat werkt uiteraard niet:
[ code verwijderd ]
dan zoekt hij namelijk niet de eerste </td>, maar de laatste </td>
Anyone?
Werktquote:Op vrijdag 20 november 2009 20:38 schreef Sirolf het volgende:
[..]
Als je een ? achter het sterretje plaatst zou het moeten werken. Da's het verschil tussen greedy en lazy binnen regular expressions.
True, standaard zijn dingen als * en + in regular expressions allemaal greedy. Met de /U modifier maak je ze allemaal ungreedy. En met een ? erachter draai je greedy en ungreedy om op die plek.quote:Op vrijdag 20 november 2009 20:38 schreef Sirolf het volgende:
[..]
Als je een ? achter het sterretje plaatst zou het moeten werken. Da's het verschil tussen greedy en lazy binnen regular expressions.
Ik moet er eens een fatsoenlijk boek over lezenquote:Op vrijdag 20 november 2009 21:43 schreef Light het volgende:
[..]
True, standaard zijn dingen als * en + in regular expressions allemaal greedy. Met de /U modifier maak je ze allemaal ungreedy. En met een ? erachter draai je greedy en ungreedy om op die plek.
Een boek lezen hoeft nog niet eens vind ik. Gewoon dit downloaden en naast je leggen, en een programma als Regex Coach gebruiken om te oefenen.quote:Op zaterdag 21 november 2009 00:10 schreef PiRANiA het volgende:
[..]
Ik moet er eens een fatsoenlijk boek over lezen
Ik gebruik het best veel, maar moet steeds door forums achter dit soort dingetjes komen
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 | class db { private static $instance; private static $db; public function getInstance() { if (is_null(self::$instance)) { self::$instance = new db; } return self::$instance; } public function __construct() { mysql_connect('host', etc); } public function query($sql) { } } class user { private static $db; public function __construct() { $db = db::getInstance(); } public function login($u, $p, $t) { $query = self::$db->query("JE QUERY HIER"); } } $u = new user; print_r($u->login('username','password',true)); ?> |
1 2 3 | Fatal error: Call to a member function query() on a non-object in *\system\classes\class.user.php on line 29 |
Je moet gewoon eerst eens een goed boek kopen. En wat meer lezen over OO.quote:Op zondag 22 november 2009 17:21 schreef Chandler het volgende:
Gatverdamme, kun je dan eens een voorbeeld schetsen die wel zou moeten werken? ik sla blijkbaar gewoon continu de plank mis :'( :P
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | class user { private $db; public function __construct() { $this->db = db::getInstance(); } public function login($u, $p, $t) { $query = $this->db->query("JE QUERY HIER"); } } $u = new user(); ?> |
Da's ook een optie. Hoeveel verschil er is in geheugengebruik, weet ik niet.quote:Op zondag 22 november 2009 17:29 schreef Pakspul het volgende:
Haal die $db variabel uit de class, dat is echt geheugen versmering eerste klas
Wanneer je de DB nodig hebt doe je even DB::functienaam(); en dan query uitvoeren en waarde returnen. Garbage cleaner zorgt er dan zelf weer voor dat DB uit geheugen gaat en niet in de klasse blijft zwerven/.
Smarty ben ik nu even mee aan het klooien en ziet er goed uit! Vele malen uitgebreider dan m'n huidige template parserquote:Op zondag 22 november 2009 18:53 schreef hamkaastosti het volgende:
smarty is geloof ik de meest uitgebreide geloof ik. Zelf maak ik enkel nog gebruik van de beste template engine: php zelf
Je kunt eens zoeken naar btree of b-tree. Kun je ook nog dieper dan 7 niveau'squote:Op zondag 22 november 2009 19:10 schreef wobbel het volgende:
Is er btw een soort tutorial die mij verteld hoe ik met meerdere categorieen kan werken?
Heb nu een tabel "category" en "subcategory" maar dan houdt het al snel op... (Categorienaam => Subcategorienaam)
Ik wil ook tot wel 7 niveaus verder gaan indien dat mogelijk is...(Kleding => Heren => T-shirts => Merk X => Lijn Y => etc)
Moet ik dan met "nested id's" ofzo iets doen? zoals ik dat ooit een keer gehoord heb ofzo
Noem me eens een goed boek! dan zal ik deze aanschaffen!quote:Op zondag 22 november 2009 17:25 schreef Light het volgende:
[..]
Je moet gewoon eerst eens een goed boek kopen. En wat meer lezen over OO.
[ code verwijderd ]
Zo zou ik het doen. De verschillen met jouw code mag je zelf uitzoeken.
Ik ook niet, maar op deze manier is het niet goed in ieder geval.quote:Op zondag 22 november 2009 17:34 schreef Light het volgende:
[..]
Da's ook een optie. Hoeveel verschil er is in geheugengebruik, weet ik niet.
Upper camelcase, lower camelcase. Gewoon een kiezen en daar bij blijvenquote:Ik zou class names ook met een hoofdletter laten beginnen, voor een stukje extra duidelijkheid.
Forum Opties | |
---|---|
Forumhop: | |
Hop naar: |