Omdat ik straks ook nog de status moet uitlezenquote:Op woensdag 10 februari 2010 10:51 schreef ursel het volgende:
[..]
Wat doet die dan wel zeg maar...
Overigens doe je zover ik snel zag niets met de status en is het dus niet zinvol die mee te querien.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | <div id="slider"> <ul id="sliderContent"> <li class="sliderImage"> <img src="http://imgur.com/jw1L5.png" alt="4" /> <span class="bottom"><strong>Title text 2</strong></span> </li> <li class="sliderImage"> <img src="images/410/5.jpg" alt="5" /> <span class="top"><strong>Title text 2</strong></span> </li> <div class="clear sliderImage"></div> </ul> </div> ?> |
1 2 3 4 5 6 | while ($row = mysql_fetch_array($result)) { echo "<td><a title=\"".$row['title']."\"href=\"http://www.test.nl/coppermine/thumbnails.php?album=".$row['aid']."\">"._substr($row['title'], 25, 0)."</a>"; } ?> |
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 | class AuthenticationController extends Zend_Controller_Action { public function init() { /* Initialize action controller here */ } public function indexAction() { } public function loginAction() { $form = new Form_LoginForm(); $this->view->form = $form; $authAdapter = $this->getAuthAdapter(); $username = 'Lala'; $password = '912ec803b2ce49e4a541068d495ab570'; $authAdapter->setIdentity($username) ->setCredential($password); $auth = Zend_Auth::getInstance(); $result = $auth->authenticate($authAdapter); if($result -> isValid()){ $identity = $authAdapter->getResultRowObject(); $authStorage = $auth->getStorage(); $authStorage->write($identity); $this->_redirect('index/index'); }else{ echo 'Invalid'; } return $result; } public function logoutAction() { // action body } private function getAuthAdapter(){ $authAdapter = new Zend_Auth_Adapter_DbTable(Zend_Db_Table::getDefaultAdapter()); $authAdapter->setTableName('users') ->setIdentityColumn('username') ->setCredentialColumn('password'); return $authAdapter; } } |
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 | class Form_LoginForm extends zend_Form { public function __construct($option = null){ parent::__construct($option); $this->setName('login'); $username = new Zend_Form_Element_Text('username'); $username->setLabel('User Name') ->setRequired(); $password = new Zend_Form_Element_Password('password'); $password->setLabel('Pass') ->setRequired(); $login = new Zend_Form_Element_Submit('login'); $login->setLabel('Login!'); $this->addElements(array($username,$password,$login)); $this->setMethod('post'); $this->setAction('/authentication/login'); } } ?> |
Heb je die map "forms" wel in de map "application" gezet? Daar staat'ie in ieder geval bij een ZF-project waar ik mee bezig ben.quote:Op woensdag 10 februari 2010 22:57 schreef HotSpotShield het volgende:
Ik ben vandaag begonnen met het Zendframework icm met een paar goede tutorials.
ben nu een tijdje onderweg maar ik zit nu echt vast.
In de tutorial werd namelijk gezegd dat alle forms in het mapje "forms" geplaatst dienen te worden, echter had ik deze map niet standaard dus deze heb ik handmatig aangemaakt. Echter pakt hij nu niet de form-classes uit deze map. Ben ik nu gewoon een instelling vergeten aan te vinken waardoor deze automatisch gevonden worden, of is het een fout in mijn code?
Geen idee. Ik heb een bestaand project op m'n bord gekregen en maar daar nu de fouten uit gaan halen. De formulieren werken wel goed, dus dat heb ik verder niet uitgezocht.quote:Op woensdag 10 februari 2010 23:16 schreef HotSpotShield het volgende:
De map forms heb ik wel gewoon onder "Application" staan.
Maar bij jou is die map dus wel automatisch aangemaakt?
1 2 3 | define('NAME_FULL', 'Bedrijf B.V.'); ?> |
quote:Op vrijdag 12 februari 2010 12:10 schreef Chandler het volgende:
Laat je code eens zien? misschien geeft dat meer inzicht?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | // reguliere expressie $reg = '/({|})/'; // voorbeeld string om te testen $a = 'testing {ABF_NAME_FULL} bladiebla en natuurlijk ook {ABF_FULL} niet te vergeten'; // Splitsen op de expressie, resultaat komt in een array terug $test = preg_split($reg, $a, -1); $iCountTest = count($test); for($i = 0; $i < $iCountTest; $i++) { // resultaat zit altijd op de oneven nummers. if( $i & 1 ) { eval("\$test[\$i] = \"$test[$i]\";"); } } ?> |
quote:Op vrijdag 12 februari 2010 12:23 schreef Trollface. het volgende:
Waarom preg_split als je ook str_replace kunt doen?
Omdat ik dat al uitgelegd heb.quote:Op donderdag 11 februari 2010 09:47 schreef ursel het volgende:
Toch nog even mijn probleem met m'n define kicken.
Mijn define is bijv. zoals onderstaand:
[ code verwijderd ]
Mijn defines worden afhankelijk van de omgeving ingeladen en staat er de naam van het bedrijf in de NAME_FULL
In de database heb ik een aantal velden met verschillende blokken tekst. Ik zou graag in deze tekst een define willen gebruiken. Om er onderscheid in te maken heb ik er al {} omheen gezet. Met de preg_split filter ik de defines er nu uit.
Echter krijg ik de defines niet vertaal en blijft er NAME_FULL staan, ook al gooi ik deze door een eval heen.
Enig idee hoe ik dit wel kan bewerkstelliggen zonder de str_replace. Want bij deze moet ik voor elke define welke ik wil gebruiken nogmaals apart in een functie definieren. Liefst wil ik dus gewoon de defines kunnen gebruiken welke ik al gedefinieerd heb.
quote:
1 2 3 | $inhoud = str_replace(array_keys(get_defined_constants()), array_values(get_defined_constants()), $inhoud); ?> |
Kijk, daar was ik dus naar op zoek..quote:Op vrijdag 12 februari 2010 12:34 schreef Trollface. het volgende:
[..]
[ code verwijderd ]
Dit lost dat op.
Met number_format($bedrag, 2, ",", ".");quote:Op maandag 15 februari 2010 11:41 schreef DaFan het volgende:
Hoe krijg ik een FLOAT, met als output (bv) 20111.18 naar een fatsoenlijke weergave (voor geld):
20.111,18 ?
Sorry dit ging over SQL, niet phpquote:Op maandag 15 februari 2010 11:45 schreef Intrepidity het volgende:
[..]
Met number_format($bedrag, 2, ",", ".");
Waarbij parameter 2 het aantal decimalen is, parameter 3 het scheidingsteken voor decimalen, en parameter 4 het scheidingsteken voor duizendtallen.
1 2 | {echo "- U bent vergeten uw naam in te vullen<br>Klik op <a href=javascript:history.back(1)>Ga terug</a> om terug te keren.";} |
Met een conversie naar een float gaat dat natuurlijk niet lukken.quote:Op maandag 15 februari 2010 11:48 schreef DaFan het volgende:
[..]
Sorry dit ging over SQL, niet php
Edit:
Was het toch niet.
Heb nu:
select CONVERT(float,CAST(FreeNumberField_01 as Money),1)
Dit geeft xxxxxx,xx
Er moeten punten tussen de duizendtallen
Zoek eerst eens op register_globalsquote:Op dinsdag 16 februari 2010 20:56 schreef boem-dikkie het volgende:
Ik heb een hele domme vraag.
Ik heb als oefening voor mezelf en school een formulier waar je wat dingen in kunt vullen. Ik heb de mail functie even niet gebruikt dus als ik wat invul en ik druk op submit dan komen de 'ingevulde' items gewoon boven aan de pagina staan. Nou heb ik als 'controle' dit er in staan.
[ code verwijderd ]
Als ik dus niks heb ingevuld bij voornaam dan krijg je deze error en kun je terug keren naar het formulier. Wat ik me nou afvraag is. Hoe krijg ik mijn 'echo' foutmelding naast het formulier.
Ik wil dus dat als mensen op submit drukken en ze hebben iets niet ingevuld er gewoon met rode letters naast het formulier komt te staan. U bent vergeten uw naam in te vullen..
Ik hoop dat jullie kunnen helpen, ik ben nogal een newbie.
Ja, dat soort dingen snap ik dus al niet. Ik ben pas net begonnen met PHP leren. Ik zoek het een beetje uit via sheets van school maar die zijn redelijk onduidelijk. Ik ben al zover dat als iemand zijn naam niet ingevuld is hij gewoon naar een pagina gaat met errors en je terug kunt keren maar ik wil dus nu dat andere proberen, of is dat een beetje outta my league voor hoeveel ik weet ( vrij weinig )quote:Op dinsdag 16 februari 2010 20:59 schreef GlowMouse het volgende:
[..]
Met een conversie naar een float gaat dat natuurlijk niet lukken.
[..]
Zoek eerst eens op register_globalsEn die melding krijg je naast het formulier door te echo'en naast het formulier.
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 | <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Les 3</title> </head> <body> <?php if ( isset( $_POST['submit'] ) ) { $voornaam = $_POST['voornaam']; $geslacht = $_POST['geslacht']; $woonplaats = $_POST['woonplaats']; $mailinglist = $_POST['mailinglist']; $achternaam = $_POST['achternaam']; $errors = array(); $errors = array(); if(empty($voornaam)) { $errors['voornaam'] = "U bent vergeten uw naam in te vullen"; } if(empty($achternaam)) { $errors['voornaam'] = "U bent vergeten uw naam in te vullen"; } if(count($error) == 0) { echo "--htmlspecialchars gebruiken, zie hierna--$voornaam $achternaam is een $geslacht en woont in $woonplaats.<br>"; } if($mailinglist) { echo htmlspecialchars($voornaam) . " wil <b>wel</b> gebruik maken van de mailinglist."; else echo htmlspecialchars($voornaam) . " wil <b>geen</b> gebruik maken van de mailinglist."; } } ?> <form method="POST" action=""<?php $_SERVER['PHP_SELF']; ?>""> Voornaam:<br /><input type="text" name="voornaam" value="<?php if(isset($_POST['voornaam'])) echo htmlspecialchars($_POST['voornaam']);?>"/><br /> <?php if(isset($errors['voornaam'])) echo $errors['voornaam']; ?> Achternaam<br /><input type="text" name="achternaam" value="<?php if(isset($_POST['achternaam'])) echo htmlspecialchars($_POST['achternaam']);?>"/><br /> <br />Geslacht: <br /> Man <input type="radio" name="geslacht" value="man" /> Vrouw <input type="radio" name="geslacht" value="vrouw" /> <br /><br />Woonplaats:<br /> <select name="woonplaats" value="<?php if(isset($_POST['woonplaats'])) echo htmlspecialchars($_POST['woonplaats']);?>"> <option value="Groningen">Groningen</option> <option value="Assen">Assen</option> </select> <br /><br />Mailinglist:<br /> <input type="checkbox" name="mailinglist" /><br /><br /> <input type="submit" name="submit" value="Post" /> </form> </body> </html> |
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 | <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Les 3</title> </head> <body> <?php if ( isset( $_POST['submit'] ) ) { $voornaam = $_POST['voornaam']; $geslacht = $_POST['geslacht']; $woonplaats = $_POST['woonplaats']; $mailinglist = $_POST['mailinglist']; $achternaam = $_POST['achternaam']; if ( empty( $voornaam ) ) //Naam controleren {$error ="U bent vergeten uw naam in te vullen<br>";} else { print "$voornaam $achternaam is een $geslacht en woont in $woonplaats.<br>"; if ($mailinglist) print "$voornaam wil <b>wel</b> gebruik maken van de mailinglist."; else print "$voornaam wil <b>geen</b> gebruik maken van de mailinglist."; } } ?> <form method="POST" action=""<?php $_SERVER['PHP_SELF']; ?>""> Voornaam:<br /><input type="text" name="voornaam" value="<?php if(isset($_POST['voornaam'])) echo $_POST['voornaam'];?>"/> <?php if(!empty($error)) { //Error bericht wanneer iets niet juist is ingevuld echo $error; } ?> Achternaam<br /><input type="text" name="achternaam" value="<?php if(isset($_POST['achternaam'])) echo $_POST['achternaam'];?>"/><br /> <br />Geslacht: <br /> Man <input type="radio" name="geslacht" value="man" /> Vrouw <input type="radio" name="geslacht" value="vrouw" /> <br /><br />Woonplaats:<br /> <select name="woonplaats" value="<?php if(isset($_POST['woonplaats'])) echo $_POST['woonplaats'];?>"> <option value="Groningen">Groningen</option> <option value="Assen">Assen</option> </select> <br /><br />Mailinglist:<br /> <input type="checkbox" name="mailinglist" /><br /><br /> <input type="submit" name="submit" value="Post" /> </form> </body> </html> |
1 |
Dat bedoel ik. Gebruik <option value="Assen" selected="selected">Assen</option>quote:Op dinsdag 16 februari 2010 21:50 schreef boem-dikkie het volgende:
Dat radio en check buttons 'sticky' maken is volgens ook wat moeilijk dan de achternaam etc.
Dus hij kijkt daar of je 'Groningen' geselecteerd heeft en als dit inderdaad zo is geeft hij een 'selected' mee als sticky aan die waarde?quote:Op dinsdag 16 februari 2010 21:51 schreef Intrepidity het volgende:
Klopt. Het attribuut wat je selecteerd wilt hebben moet selected="selected" als attribuut krijgen. De snelste manier om dat te doen (hoewel niet de mooiste) is om een kort if-statement in iedere <option> te zetten waarbij je de waarden vergelijkt:
[ code verwijderd ]
Mooi is anders, maar het werkt
1 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | // kijk geslacht en zet keuze // -- man echo '<option value="0" '; if ( $row['geslacht']=='0') { echo 'selected="selected">'.$lang_male.'</option>'; } else { echo '>'.$lang_male.'</option>'; } // -- vrouw echo '<option value="1" '; if ( $row['geslacht']=='1') { echo 'selected="selected">'.$lang_female.'</option>'; } else { echo '>'.$lang_female.'</option>'; } echo '</select>'; ?> |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | $geslachten = array(0 => $lang_male, 1 => $lang_female); echo "<select name=\"geslacht\">"; foreach($geslachten as $k => $v) { echo "<option value=\"{$k}\" "; if($row["geslacht"] == $k) { echo "selected=\"selected\" "; } echo ">{$v}</option>"; } echo "</select>'; ?> |
Awesome!quote:Op dinsdag 16 februari 2010 23:40 schreef Intrepidity het volgende:
[ code verwijderd ]
Zo kan ie ook. En ontdekken we dan op een verre planeet een ras met 3 geslachten dan hoef je alleen maar een itempje aan de array toe te voegenIn het geval van geslacht wellicht niet nodig, maar zo wordt je code wel een stuk dynamischer
1 2 3 4 5 6 7 8 | <?php $geslachten = array(0 => $lang_male, 1 => $lang_female); foreach($geslachten as $k => $v): ?> <option value="<?=$k?>"<?=($row["geslacht"] == $k ? 'selected="selected"' : '')?>><?=$v?></option> <?php endforeach; ?> </select> |
Het mixen van HTML en PHP is uberhaupt smerig imo, of je nou html echoot binnen PHP of korte PHP-tags gebruikt binnen je HTML, het is allebei slordig.quote:Op woensdag 17 februari 2010 05:29 schreef GuidooH het volgende:
Gadver, wat een smerige code!
Het is imho mooier om het volgende te doen:
[ code verwijderd ]
(wat een bagger PHP code ding)
Hoe wou je anders ooit HTML genereren met PHP?quote:Op woensdag 17 februari 2010 07:26 schreef Intrepidity het volgende:
[..]
Het mixen van HTML en PHP is uberhaupt smerig imo, of je nou html echoot binnen PHP of korte PHP-tags gebruikt binnen je HTML, het is allebei slordig.
Met een template enginequote:Op woensdag 17 februari 2010 07:28 schreef GuidooH het volgende:
[..]
Hoe wou je anders ooit HTML genereren met PHP?
Dat is pas een bullshit, dan krijg je er nog een "taal" bij die vervolgens weer geparsed moet worden, heeft dan toch helemaal geen meerwaarde ten opzichte van gewoon php gebruiken in de template bestanden?quote:
Een bescheiden kickje. Heeft iemand misschien een ingeving?quote:Op woensdag 10 februari 2010 18:37 schreef hello_moto1992 het volgende:
Hallo,
Met behulp van s3slider probeer ik gegevens uit de database op te halen.
HTML voor de slider:
[ code verwijderd ]
Nu haal ik op dit moment zo gegevens uit de database, zodat er rijen gevormd worden.
[ code verwijderd ]
Hoe krijg ik dan afzonderlijke gevens, zoals bijvoorbeeld bij de titel, de titels tussen de span? Er staan nl. ook allemaal dingen zoals IMG enzo tussen
bvd
Dus eigenlijk (min of meer) dezelfde methode als voor boem-dikkie?quote:Op woensdag 17 februari 2010 05:29 schreef GuidooH het volgende:
Gadver, wat een smerige code!
Het is imho mooier om het volgende te doen:
[ code verwijderd ]
(wat een bagger PHP code ding)
Ik zeg ook niet dat dat altijd de juiste oplossing is, ik zeg dat dat netter staat vanwege de duidelijke scheiding tussen back- en frontendcode, want daar ging het over.quote:Op woensdag 17 februari 2010 07:57 schreef GuidooH het volgende:
[..]
Dat is pas een bullshit, dan krijg je er nog een "taal" bij die vervolgens weer geparsed moet worden, heeft dan toch helemaal geen meerwaarde ten opzichte van gewoon php gebruiken in de template bestanden?
Je zegt toch dat het in dit geval de beste oplossing is, of in ieder geval ooit de beste oplossing.. Daar ben ik het al niet mee eens.quote:Op woensdag 17 februari 2010 12:15 schreef Intrepidity het volgende:
[..]
Ik zeg ook niet dat dat altijd de juiste oplossing is, ik zeg dat dat netter staat vanwege de duidelijke scheiding tussen back- en frontendcode, want daar ging het over.
1 |
Nice. :Yquote:Op donderdag 18 februari 2010 09:50 schreef boem-dikkie het volgende:
Ik heb de radiobuttons nu ook sticky.
[ code verwijderd ]
1 |
Ooit gedacht aan scheiding van verantwoordelijkheden tussen front- en backendontwikkelaars? Ik ken weinig frontend mensen die met PHP kunnen omgaan. Een templatetaal is makkelijker te leren, en met fatsoenlijke caching doet de performance per definitie niet onder voor pure PHP. Daarnaast is het zeker beter leesbaar, voornamelijk voor niet PHP'ers.quote:Op woensdag 17 februari 2010 18:10 schreef GuidooH het volgende:
[..]
Je zegt toch dat het in dit geval de beste oplossing is, of in ieder geval ooit de beste oplossing.. Daar ben ik het al niet mee eens.Verder heeft het helemaal niks te maken met front- en backend.
Het heeft ook helemaal geen nut om totaal géén PHP in je html te willen gebruiken, dan maak je het jezelf alleen maar moeilijk! Het is imho het beste om in de templates alleen PHP te gebruiken om dingen te weergeven. Dat kan ook met een template engine, maar dan krijg je allemaal vage code's die het zeker niet overzichtelijker maken, maar uiteindelijk nog geparsed gaan worden door PHP en dan doet ie precies hetzelfde.
Forum Opties | |
---|---|
Forumhop: | |
Hop naar: |