slam4:php:phalcon:first

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
slam4:php:phalcon:first [2015/01/07 12:34] – [2.3- Premier formulaire] jcheronslam4:php:phalcon:first [2019/08/31 14:21] (Version actuelle) – modification externe 127.0.0.1
Ligne 3: Ligne 3:
 ===== -- Création ===== ===== -- Création =====
  
-Dans Eclipse, créer un nouveau projet PHP, en prenant soin de spécifier un dossier appartenant à la racine du serveur web (htdocs) +A partir de votre IDE, créer un nouveau projet PHP, en prenant soin de spécifier un dossier appartenant à la racine du serveur web (htdocs ou www).
- +
-{{:slam4:php:phalcon:firstproject.png?|}}+
  
 ==== -- Structure des fichiers ==== ==== -- Structure des fichiers ====
Ligne 40: Ligne 38:
  
 <sxh bash;title:firstPhalcon/public/.htaccess> <sxh bash;title:firstPhalcon/public/.htaccess>
 +AddDefaultCharset UTF-8
 +
 <IfModule mod_rewrite.c> <IfModule mod_rewrite.c>
     RewriteEngine On     RewriteEngine On
Ligne 53: Ligne 53:
 Créer le fichier index.php dans public : Créer le fichier index.php dans public :
  
-<sxh php;title:firstPhalcon/index.php>+<sxh php;title:firstPhalcon/public/index.php>
 <?php <?php
  
Ligne 136: Ligne 136:
  
 {{:slam4:php:phalcon:controllernotpresenterror.png?nolink|}} {{:slam4:php:phalcon:controllernotpresenterror.png?nolink|}}
 +
 +<html><div class="todo">Ajouter le code pour éviter cette erreur</div></html>
 +
 +
 +
  
 ==== -- Premier formulaire ==== ==== -- Premier formulaire ====
Ligne 165: Ligne 170:
  <p>  <p>
     <label for="nom">Nom : </label>     <label for="nom">Nom : </label>
-    <?php echo Tag::textField("nom","required") ?>+    <?php echo Tag::textField(array("nom","required")) ?>
  </p>  </p>
  
Ligne 189: Ligne 194:
 PhalconException: Action 'enregistrement' was not found on handler 'inscription' PhalconException: Action 'enregistrement' was not found on handler 'inscription'
 </code> </code>
-Il faut ajouter la méthode suivante dans InscriptionController, correspondant à l'url : inscription/enregistrement 
  
 +==== -- Premier modèle ====
 +=== -- Création de la base ===
 +
 +Créer la base de données Mysql **firstPhalconDb**.
 +
 +Créer la table users :
 +
 +<sxh sql;title:Table users>
 +CREATE TABLE `users` (
 +  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
 +  `nom` varchar(70) NOT NULL,
 +  `email` varchar(70) NOT NULL,
 +  PRIMARY KEY (`id`)
 +);
 +</sxh>
 +
 +=== -- Création d'un modèle ===
 +
 +<sxh php;title:app/models/users.php>
 +<?php
 +class Users extends \Phalcon\Mvc\Model{
 +
 +}
 +</sxh>
 +
 +=== -- Connexion à la base ===
 +
 +<sxh php;title:public/index.php>
 +...
 +    $di = new Phalcon\DI\FactoryDefault();
 +
 +    //Configuration du service database
 +    $di->set('db', function(){
 +        return new \Phalcon\Db\Adapter\Pdo\Mysql(array(
 +            "host" => "localhost",
 +            "username" => "root",
 +            "password" => "",
 +            "dbname" => "firstPhalconDb"
 +        ));
 +    });
 +...
 +</sxh>
 +==== -- Validation du formulaire et enregistrement ====
 +
 +Ajouter la méthode suivante dans **InscriptionController**, correspondant à l'url : **inscription/enregistrement**
 +
 +<sxh php;title:firstPhalcon/app/controllers/InscriptionController.php>
 +<?php
 +class InscriptionController extends \Phalcon\Mvc\Controller
 +{
 +
 + public function indexAction(){
 +
 + }
 +
 + public function enregistrementAction(){
 +   $user = new Users();
 +
 +        //Enregistrement et vérification des erreurs
 +        $success = $user->save($this->request->getPost(), array('nom', 'email'));
 +
 +        if ($success) {
 +            echo "Merci de votre enregistrement !";
 +        } else {
 +            echo "Erreurs lors de l'enregistrement : ";
 +            foreach ($user->getMessages() as $message) {
 +                echo $message->getMessage(), "<br/>";
 +            }
 +        }
 +        $this->view->disable();
 + }
 +}
 +</sxh>
 +
 +<html><div class="todo">
 +Tester le formulaire d'ajout, et vérifier l'insertion du nouvel utilisateur dans la base de données.
 +</div></html>
 +
 +==== Liste des utilisateurs ====
 +
 +En utilisant la méthode find() de la classe Model :
  
 +<html><div class="todo">
 +Afficher la liste des utilisateurs à partir de l'action index</div></html>
  
  • slam4/php/phalcon/first.1420630461.txt.gz
  • Dernière modification : il y a 6 ans
  • (modification externe)