login  Naam:   Wachtwoord: 
Registreer je!
 Nota's op tutorial:

Tutorials > PHP > Websites maken met Zend Framework: deel 5/5
Pagina:

Reacties op de tutorial Websites maken met Zend Framework: deel 5/5


Offline  Ultimatum
Gepost op: 13 augustus 2007 - 13:55
PHP expert

En een heel mooie einde . Maar ik vind, blijf maar komen met die tutorials want daar leer ik (persoonlijk) meer van dan een 200 pagina's tellende handleiding door te bladeren (printen is beetje veel werk )

Offline  Stijn
Gepost op: 13 augustus 2007 - 16:46
PHP expert

Ik heb de handleiding van versie 0.7 afgedrukt grotendeels Er staan nog een paar dingen op het programma hoor. Een login maken oa met Zend_ACL en Zend_Auh.

Offline  Skelton
Gepost op: 16 augustus 2007 - 15:17
Nieuw lid

In de IndexController zit een klein foutje. Er wordt ook een mail verstuurd als deze niet valid is!

Dit moet worden:
  1. //setFrom only when email is valid!
  2. $email = $this->_request->getPost('email');
  3. if( $validEmail->isValid( $email ) ) {
  4. $mail->setFrom( $email , $this->_request->getPost('naam') );
  5. //mail conifgureren
  6. $mail->addTo( 'stijnleenknegt@gmail.com' , 'Stijn Leenknegt' );
  7. $mail->setSubject('Contactpagina portfolio');
  8. if( $mail->send() ) {
  9. $this->view->succes = true;
  10. }
  11. } else {
  12. $this->view->validError = $validEmail->getMessages();
  13. }

Offline  Stijn
Gepost op: 16 augustus 2007 - 16:48
PHP expert

Inderdaad, maar een from header is niet required om een mail te sturen. Dus daarom laat ik hem versturen zonder from header als de email niet valid is. Maar jou versie is ook goed natuurlijk 

Offline  Assailant
Gepost op: 16 augustus 2007 - 23:09
Nieuw lid

Wanneer mogen we de tutorial over Zend_Auth ism Zend_Acl verwachten?  

Offline  Stijn
Gepost op: 17 augustus 2007 - 16:11
PHP expert

Assailant schreef:
Wanneer mogen we de tutorial over Zend_Auth ism Zend_Acl verwachten?  
Van zodra ik het zelf door heb. ACL is niet moeilijk maar Auth is een ander paar mouwen, morgen (zaterdag) bekijk ik het nogmaals.

Auth is gelukt (zit nog met één detail fout waar ik nog niet aan uitkom). Probeer maar eens in te loggen (zoek zelf maar de link op de site) met stijn en stijn.

http://www.mindios.com/portfolio/gallery

(de volgende twee tutorials gaan over Zend_Session en Zend_Auth, Zend_ACL komt later).

woot, ik weet nu genoeg voor de Auth zondag begin ik te schrijven, spannend hé....

Offline  zamna
Gepost op: 31 augustus 2007 - 11:01
HTML beginner

Goeie tutorials !
Ondertussen ben ik overtuigd geraakt van de ZF.

Vraag: je script is toch nog altijd onveilig voor SqlInjections ? Je voegt nergens slashes toe. Bestaat er dan geen 'real_escape'-filter ofzo ?

Offline  Stijn
Gepost op: 31 augustus 2007 - 18:27
PHP expert

Dit staat standaard niet aan. Maar als je quotes wilt escapen moet je volgende code gebruiken in je controllers:

  1. $projects = new Projects();
  2. $db = $projects->getAdapter(); //de adapter terug vragen van de model.
  3.  
  4. //data
  5. $data = array(
  6. 'titel' => $db->quote( $this->_request->getPost('titel') ),
  7. 'omschrijving' => $db->quote( $this->_request->getPost('omschrijving') ),
  8. 'status' => $this->_request->getPost('status')
  9. );
  10.  
  11. //updaten
  12. $projects->update( $data , 'id = ' . (int) $this->_request->getParam('id') );
De functie quote zal de quotes escapen.

Offline  zamna
Gepost op: 01 september 2007 - 09:54
HTML beginner

Bedankt. Je kan natuurlijk ook je filter wat uitbreiden:
  1. $filter->addFilter( new Zend_Filter_HtmlEntities(ENT_QUOTES) );

Heel eenvoudig, je voegt de ENT_QUOTES mee als quotestyle. Nu worden alle " en ' geconverteerd. Stripslashes zijn dan in principe overbodig.

Offline  Stijn
Gepost op: 01 september 2007 - 13:03
PHP expert

Inderdaad, je kan ook htmlentities gebruiken zoals zamna hierboven aantoont maar je moet ENT_QUOTES niet meegeven als parameter want als je htmlentities gebruikt worden de quotes automatisch geconverteerd naar entities.

Offline  zamna
Gepost op: 01 september 2007 - 13:44
HTML beginner

Ik denk dat je ENT_QUOTES wél moet meegeven. Standaard gebruikt htmlentities namelijk ENT_COMPAT, hiermee worden enkele dubbele quotes geconverteeerd. Enkele quotes blijven dus gevaarlijk.

Offline  ptrdvds
Gepost op: 25 september 2007 - 22:16
Nieuw lid

Prima tutorial die me goed op weg heeft geholpen.  

Wat ik zoek is een elegante manier om vaste items weer te geven zoals menu's etc.
De dynamische dingen gaan via een controller maar het integreren van menus en zo is in mijn ogen een beetje rommelen.

Heeft iemand een goed voorbeeld van hoe ik dit het beste kan doen?

Groetjes,
Peter

Offline  Stijn
Gepost op: 25 september 2007 - 23:21
PHP expert

Je kan een menu.phtml maken waarin je jou menu maakt in HTML. Je kan die dan naast header.phtml zetten en in je views dan renderen .

Offline  ptrdvds
Gepost op: 26 september 2007 - 10:40
Nieuw lid

Dat heb ik ook zo gedaan maar vind dit geen elegante methode.
Je moet dan voor elke controller/action de menu.phtml includen om te renderen. 


Offline  Stijn
Gepost op: 26 september 2007 - 14:13
PHP expert

Het is gewoon $this->render('menu.phtml'); plaatsen in je view pagina... Je kan het ook in je header.phtml zetten zodat wanneer header.phtml gerendert wordt, wordt ook menu.pthml gerendert en moet je het geen X aantal keer schrijven.

Offline  Wijnand
Gepost op: 01 november 2007 - 09:14
Moderator

Ik weet weinig nog van frameworks, maar ben dus begonnen met zend om mvc te leren snappen. Ik moet eerlijk toegeven dat ik nog wel lastig vind, omdat het toch totaal anders werkt en ik de handleiding van hen ook niet echt gemakkelijk vind.

Maar deze 5 (eigenlijk 6 met sessions erbij) vind ik goed te begrijpen. Dat heb je heel goed gedaan Stijn.

Ik ga ook maar eens spelen hiermee, lijkt mij leuk.

Offline  DMM
Gepost op: 12 november 2007 - 20:28
PHP beginner

Ik heb al verschillende tutorials gelezen i.v.m. het Zend Framework maar deze steekt er echt bovenuit qua kwaliteit! Proficiat en bedankt!

Oja, die tutorial over Zend_Auth mag er ook gerust komen  

Offline  frozz
Gepost op: 12 november 2008 - 23:23
Nieuw lid

Zeer nuttige tutorials.. Aanrader voor iedereen die Zend wil leren..

Offline  Thomas
Gepost op: 16 december 2013 - 20:13
Moderator

Als je via WAMP/XAMPP (je eigen testserver) mail wilt versturen, zou je kunnen proberen dit via je ISP te doen. Je maakt hierbij dus gebruik van de SMTP-server van je provider. Dit werkt waarschijnlijk alleen als je via je eigen ISP verbonden bent met het internet, houd hier rekening mee!

In ZF is dit vrij simpel (geteste versie: 1.12.3) met behulp van de toevoeging van een SMTP transport verzendwijze:

  1. <?php
  2. // stel je mail samen zoals in het contact formulier
  3. $mail = new Zend_Mail();
  4. // ...
  5. // definieer extra informatie over hoe deze verstuurd zou moeten worden
  6. Zend_Loader::loadClass('Zend_Mail_Transport_Smtp');
  7. $transport = new Zend_Mail_Transport_Smtp('<smtp server van je provider>', array(
  8. // GEEN SSL-key meegeven als je provider hier geen gebruik van maakt!
  9. 'port' => <poort van SMTP server>,
  10. 'auth' => '<het type authorisatie, meestal "login">',
  11. 'username' => '<jouw username voor de SMTP server>',
  12. 'password' => '<jouw wachtwoord voor de SMTP server>',
  13. ));
  14.  
  15. // en verstuur vervolgens je mail via deze verzendwijze:
  16. $success = $mail->send($transport);
  17. ?>


Ik was eerst op zoek naar een methode om WAMP zodanig aan te passen zodat je standaard vanuit WAMP kunt mailen via je ISP, en heb dit geprobeerd via een of andere executable (fake SMTP o.i.d.) maar dit kreeg ik niet aan de praat. Als je dan toch van ZF gebruik maakt (je zou er ook voor kunnen kiezen enkel deze classes te gebruiken voor je mail, je hebt hier niet heel het framework/heel de library voor nodig) bied(en) deze klasse(s) uitkomst, ik was eerlijk gezegd verbaasd over hoe makkelijk dit was, zonder te zitten prutten in allerlei WAMP configuratie.

Pagina:

Enkel aanvullende informatie is welkom. Geen prijzende of afkeurende reacties.
 
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.056s