Crunchez vos adresses URL
|
Rejoignez notre discord
|
Hébergez vos photos
Page 29 sur 310 PremièrePremière ... 1921222324252627282930313233343536373979129 ... DernièreDernière
Affichage des résultats 841 à 870 sur 9277
  1. #841
    Oui, exact
    Je corrige (j'avais mis name="name" au départ avant de me dire que c'était pas très pédago )

  2. #842
    Merci ! Je vois mieux le pourquoi du comment (même si le côté serveur est une réalité bien obscure pour moi). En checkant sur le MDN, ils proposent une autre façon d'utiliser <label> :

    https://developer.mozilla.org/en-US/.../Element/label

    Code:
    <!-- Simple label example with for attribute -->
    <label for="Name">Click me</label>
    <input type="text" id="Name" name="Name" />
     
    <!-- or more simply -->
    <label>Click me <input type="text" id="Name" name="Name" /></label>
    Merci pour "for", je connaissais pas (j'avais utilisé "id" ou "name" pour les labels dans mes exercices).

  3. #843
    Le for c'est juste pour que quand tu cliques dessus ça donne le focus sur l'input. Le label, généralement tu le fous en type block avec width fixe histoire d'avoir un formulaire bien aligné

  4. #844
    Citation Envoyé par Mdt Voir le message
    Name peut être utilisé comme selecteur via le selecteur d'attribut genre input[name='foo'], mais c'est moche niveau perf. (ce selecteur marche aussi pour les classes ou les ID hein, genre div[class='foo']. Tout aussi moche.)

    En soi, les trois ont leur utilité, l'ID étant peut-être le moins utile (certains te diront de ne jamais utiliser d'ID, mais ils sont cons.)
    Rho le provocateur^^
    en ce qui concerne le style c'est plutôt malin de ne pas utiliser l'ID
    http://openweb.eu.org/articles/css-l-age-de-raison

  5. #845
    Citation Envoyé par elkoo Voir le message
    Rho le provocateur^^
    en ce qui concerne le style c'est plutôt malin de ne pas utiliser l'ID
    http://openweb.eu.org/articles/css-l-age-de-raison
    Bof. J'ai jamais pigé les mecs qui s'amputaient du petit doigt sous prétexte qu'il était peu utile. Ça doit être un truc de professionnel

    Plus sérieusement, à mon sens l'OOSS est, comme la plupart des OOwhatever, un concept creux monté en sauce par des mecs qui ne captent pas grand chose à la programmation orientée objet. Cf. la phrase que j'ai cité voilà quelques pages : inheritance is the 21st century goto. Ça et le MVC sont les deux grand fléaux de la programmation*.

    C'est d'autant plus vrai que, d'une part, j'ai tendance à trouver que les guru du CSS actuels n'ont jamais rien fait de leur vie et sont juste des guru professionnels (Le mec de CSS-tricks par exemple, c'est un gros guignol. Jadis des mecs comme Eric Meyer te donnaient des conseils tirés de leur pratique du métier, pas de theorycrafting sur coussin d'air) et, d'autre part, les gens du front-end ne sont pas vraiment des barbus et donc ont une compréhension approximative des principes de la prog. (Y'a qu'à voir le massacre coté JavaScript.)

    Tout n'est pas stupide dans les préceptes de l'OOCSS hein, attention, d'ailleurs une bonne partie ce qui est conseillé se voit dans les feuilles de style depuis des années. Je comprend aussi que le métier doive se professionnaliser, s'industrialiser et qu'un amateur comme moi qui faisait des sites internets dans les années 90 n'a pas vraiment sa place dans le débat vu que ce n'est pas mon quotidien.

    N’empêche. Une ID est unique et spécifique, ce qui est pratique et a une réelle utilité. Quand je vois les mecs t’enchaîner un .page1.bouton.soumettre.valider.mescouilles { color : red /* sur la page 1, ce bouton est rouge*/ } au lieu de #page1 .mescouilles { /* ma spécificité nique toutes les classes de merde */ }, ça me fait de la peine.


    Choses sérieuses à part, lesquels d'entre vous ont passé des nuits à patcher leurs applications Ruby on Rails fulls of failles ?



    * ce n'est pas une critique de l'OO ou du MVC mais de l'application approximative de ces concepts, conséquence logique de leur popularité.

    edit : pour le plaisir, un extres de la source de la home du dernier développement de l'auteur de l'article que tu cites :

    Code HTML:
     <ul id="mainnav">
      	<li class="active" id="first"><a href="../fr/"><span class="short" id="home"><span>Home</span></span></a></li>
      	<li><a href="../fr/portrait-cevres.php"><span class="normal">À propos</span></a></li>
      	<li><a href="../fr/concept-materiel-reeducation.php"><span class="normal">Concept &amp; bénéfices</span></a></li>
      	<li><a href="../fr/myolux-athletik-preparation-physique.php"><span class="normal">Myolux Athletik <span class="mini">professionnels sport</span></span></a></li>
        <li><a href="../fr/myolux-medik2-materiel-kinesitherapie.php"><span class="normal">Myolux Medik II <span class="mini">professionnels santé</span></span></a></li>
      	<li><a href="../fr/myolux-soft-renforcement-chevilles.php"><span class="normal">Myolux Soft <span class="mini">particuliers</span></span></a></li>
      	<li><a href="../fr/contact-myolux.php" accesskey="7"><span class="normal">Contact</span></a></li>
      </ul>
      
    
      
      </nav>
    </div>
    <div id="pubhome" role="main">
     <h1>Myolux : La solution pour la rééducation de la cheville, du genou et de la posture</h1>
     
     <div id="medik_highlight_1">
      <p class="h4"><a href="../fr/myolux-athletik-preparation-physique.php">Myolux Athletik</a></p>
     	<p class="accroche">Pour les professionnels du sport</p>
      <span class="button1">
        <a href="../fr/myolux-athletik-preparation-physique.php" title="Commander Myolux Athletik" onclick="_gaq.push(['_trackEvent', 'Myolux Athletik', 'Click', 'Command']);">
        <span class="button1-left">&nbsp;</span>
        <span class="button1-middle">Commander</span>
        <span class="button1-right">&nbsp;</span>
        </a>
       </span>
     </div>
     
     <div id="medik_highlight_2">
      <p class="h4"><a href="../fr/myolux-medik2-materiel-kinesitherapie.php">Myolux Medik II</a></p>
     	<p class="accroche eurostilereg">Pour les professionnels de santé</p>
      <span class="button1">
        <a href="../fr/myolux-medik2-materiel-kinesitherapie.php" title="Commander Myolux Medik II" onclick="_gaq.push(['_trackEvent', 'Myolux Medik II', 'Click', 'Command']);">
        <span class="button1-left">&nbsp;</span>
        <span class="button1-middle">Commander</span>
        <span class="button1-right">&nbsp;</span>
        </a>
       </span>
     </div>
     
     <div id="soft_highlight">
      <p class="h4"><a href="../fr/myolux-soft-renforcement-chevilles.php">Myolux Soft</a></p>
     	<p class="accroche">Pour les sportifs et les particuliers</p>
      <span class="button1">
        <a href="../fr/myolux-soft-renforcement-chevilles.php" title="Commander Myolux Soft" onclick="_gaq.push(['_trackEvent', 'Myolux Medik Soft', 'Click', 'Command']);">
        <span class="button1-left">&nbsp;</span>
        <span class="button1-middle">Commander</span>
        <span class="button1-right">&nbsp;</span>
        </a>
       </span>
     </div>

  6. #846
    Woaw "Object-Oriented CSS"
    Là sur le coup je te rejoins, les mecs n'ont absolument aucune idée de ce que veut dire l'orientation objet et/ou confondent avec MVC.

    Je pige même pas comment on peut pondre des articles sur comment séparer le plus parfaitement possible HTML et CSS.
    Pour l'instant c'est impossible de séparer totalement, point, fin du débat.



    Sinon tout à l'heure je reçois un email "hey jette un coup d'oeil à ce vieux site web d'il y a 10 ans, le bouton mot de passe oublié ne fonctionne plus".
    Je télécharge le code par FTP (ben oui, pas de subversion ou autre), je vois des $_POST partout, du SQL partout, un énorme switch qui englobe tout le bouzin.
    Finalement je trouve la ligne "case 'forgotpassword': break;"
    Oui, cette feature n'a jamais été codée Et maintenant c'est à moi de le faire
    Rust fanboy

  7. #847
    Et une sécurité assurée par mysql_real_escape_string ?
    (ou même magic quotes )

  8. #848
    Nan, avec PDO::quote.

    Là en fait je me choppe une erreur 500 avec page blanche, j'arrive pas à trouver le log sur le serveur (p'têt qu'il y en a pas).
    Je sens que je vais partir sur "on commente telle ligne de code et on regarde si ça marche".
    Rust fanboy

  9. #849
    Ah, y'a quand même PDO. Jte voyais déjà en PHP4 sans extensions. Retour vers le passé.

  10. #850
    Citation Envoyé par Mdt Voir le message
    Ah, y'a quand même PDO. Jte voyais déjà en PHP4 sans extensions. Retour vers le passé.
    En fait je me suis gouré, c'est bien mysql_real_escape_string
    L'objet qui sert à accéder à la base de données a une méthode quote(), du coup j'ai cru que c'était un wrapper PDO, mais en fait elle appelle mysql_machin.

    En plus ça utilise la fonction PHP mail()
    Mais je vais quand même pas changer ça, ce serait un trop gros boulot.
    Rust fanboy

  11. #851

  12. #852
    À chaque fois que j'écris le nom d'une table je suis obligé de faire $database->prefix('table') pour rajouter un préfixe devant le nom de la table, peut être au cas où la base de données serait partagée avec quelque chose d'autre.

    Il y a une grosse fonction "handlePOST" de 600 lignes qui gère toutes les actions post du site à l'aide d'un méga-switch

    Bon j'ai codé ça en envoyant un email avec un lien de confirmation du genre "?key=machin&newpass=truc", avec key qui est un md5 salté de l'id de l'utilisateur à qui on doit changer le mot de passe.
    Et pass c'est le md5 du nouveau mot de passe, puisque les mots de passe sont en md5 dans la base de données.

    Je me sens sâle.
    Rust fanboy

  13. #853
    Ce qui est génial avec ces devs pourris comme ça, c'est que si quoique ce soit merde sur le site parce que c'est codé à l'arrache, ça va être de ta faute vu que tu es le dernier à y avoir touché

  14. #854
    Ben ce qui est génial, c'est que ce site a l'air pas mal utilisé (c'est un site en interne, pas un site public).
    Et que jusqu'à présent il n'y a eu aucun problème, jusqu'à ce que quelqu'un remonte ce "mot de passe oublié ?" qui n'était même pas implémenté. En fait je crois qu'à la place ils demandaient tout simplement à un admin de leur changer leur mot de passe (ce qui n'est pas du tout secure vu que les admins connaissent la moitié des mots de passe du coup).

    Pour un truc codé à l'arrache ça marche plutôt très bien.

    Maintenant il faut que je prie pour qu'ils ne fassent pas de mise à jour de PHP sur le serveur vu que les fonctions mysql_* vont être supprimées.
    Rust fanboy

  15. #855
    Citation Envoyé par Tomaka17 Voir le message
    Maintenant il faut que je prie pour qu'ils ne fassent pas de mise à jour de PHP sur le serveur vu que les fonctions mysql_* vont être supprimées.
    Bah, t'auras juste à coder des wrappers...

    Bon, pour les barbus qui n'entendent rien à la musique (i.e. les rares développeurs backend qui n'utilisent pas Symphony), il y en a qui sont passés de Zend Framework 1 à 2, et qui veulent bien en parler ? Ca fait mal ?

  16. #856
    De mémoire, Odd bosse là dessus, attends qu'il soit déban

    Sinon j'avais acheté un bouquin pour m'y mettre, mais ça m'avait vite gonflé.

  17. #857
    À propos de ZF 1, je reprends un projet qui tourne dessus mais j'ai des difficultés avec Auth et Acl et le guide officiel a pas mal d'erreurs, vous avez des tutos bien ficelés sur la question?

  18. #858
    C'est quoi tes soucis avec Zend_Auth et Zend_Acl ?

  19. #859
    Citation Envoyé par GrandFather Voir le message
    C'est quoi tes soucis avec Zend_Auth et Zend_Acl ?
    J'ai suivi le tuto sur l'authentification http://framework.zend.com/manual/1.1...ntication.html mais ça foire au niveau de la vue bien qu'ayant testé avec
    Code:
    $this->loginForm->setAction($this->url());
        echo $this->loginForm;
    au lieu du simple $this->form->setAction.
    Je me prends une quand même
    Code:
    Fatal error:  Call to a member function setAction() on a non-object
    ce qui me parait étonnant après avoir regardé la déclaration de la méthode.

    J'ai bien entendu adapté mon contrôleur et la class Default_Form_Auth_Login() en fonction de mon namespace (une erreur dans le tuto d'ailleurs)
    J'ai trouvé entre temps un webniar pas mal foutu qui devrait me mettre sur la bonne voie, qui m'a permis de piger le coup du fichier ini pour les règles action/user pour Acl:
    http://www.zend.com/fr/webinar/zf/70...f-20110111.flv

  20. #860
    Citation Envoyé par elkoo Voir le message
    J'ai suivi le tuto sur l'authentification http://framework.zend.com/manual/1.1...ntication.html
    effectivement, il y a quelques coquilles dans le tuto... Tu as bien ces deux lignes dans ton contrôleur ?
    Code:
    $loginForm = new TonNamespace_Form_Auth_Login();
    $this->view->loginForm = $loginForm;

  21. #861
    Absolument, mais je précise : j'ai bien mon formulaire c'est lors de la validation que je prends la fatal error.
    Dernière modification par elkoo ; 07/02/2013 à 21h30.

  22. #862
    Pourtant la méthode setAction est bien appelée dans la vue, donc en dehors de la validation qui est faite en principe dans une méthode d'action... Ton erreur est typique d'un objet non initialisé et/ou mal transmis à la vue, a priori ça n'a rien à voir avec les ACL. Le mieux serait que tu postes le code de ton contrôleur et celui de ta vue.

  23. #863
    Citation Envoyé par GrandFather Voir le message
    Pourtant la méthode setAction est bien appelée dans la vue, donc en dehors de la validation qui est faite en principe dans une méthode d'action... Ton erreur est typique d'un objet non initialisé et/ou mal transmis à la vue, a priori ça n'a rien à voir avec les ACL. Le mieux serait que tu postes le code de ton contrôleur et celui de ta vue.
    Effectivement, par de rapport avec Zend_Acl.
    V'la mon code, le contrôleur, la vue et le formulaire:
    Code PHP:
    <?php
    //application/controllers/AuthController.php

    class AuthController extends Zend_Controller_Action{
        
        public function 
    loginAction(){

            
    $db $this->_getParam('db');
            
    $loginForm = new Application_Form_Auth_Login();
            
            if( 
    $loginForm->isValid($_POST) ){
                
    $adapter = new Zend_Auth_Adapter_DbTable(
                        
    $db,
                        
    'users',
                        
    'username',
                        
    'password'/*,
                        'MD5(CONCAT(?, password_salt))'*/
                
    );
                
                
    $adapter->setIdentity($loginForm->getValue('username'));
                
    $adapter->setCredential($loginForm->getValue('password'));
                
                
    $auth   Zend_Auth::getInstance();
                
                
    $result $auth->authenticate($adapter);
                
    //$auth->getStorage()->write(array('name' => $loginForm->getValue('username') ));
                
                
    $this->view->identity $auth->getIdentity();
                echo 
    '<pre>'print_r($result1), '</pre>';
                if( 
    $result->isValid() ){
                    
    $this->_helper->FlashMessenger('Successful login');
                    
    //$this->_redirect('/');
                    
    return;
                }else{
                    echo 
    'Erreur d\'authentification';
                }
            }
            
    $this->view->loginForm $loginForm;
        }
        
        public function 
    logoutAction(){
            
    Zend_Auth::getInstance()->clearIdentity();
        }
    }


    //application/views/auth/login.phtml

    $this->loginForm->setAction($this->url());
    echo 
    $this->loginForm;

    //debug de ouf
    $auth  Zend_Auth::getInstance();
    echo 
    '<pre>'print_r($auth1), '</pre>';

     if ( isset(
    $this->identity) ) : ?>
        <h6>Salut <?php echo $this->escape$this->identity['name'] ); ?></h6>
    <?php endif; ?>


    <?php
    //application/forms/auth/login.php

    class Application_Form_Auth_Login extends Zend_Form{
        
        public function 
    init(){
            
    $this->setMethod('post');
            
    //Champs username
            
    $this->addElement(
                    
    'text',
                    
    'username',
                    array(
                        
    'label'     => 'Username : ',
                        
    'required'  => true,
                        
    'filter'    => array('StringTrim'),
                    )
                );
            
    //Champs password
            
    $this->addElement(
                    
    'password',
                    
    'password',
                    array(
                        
    'label'     => 'Password : ',
                        
    'required'  => true,
                    )
                );
            
    //Bouton de validation
            
    $this->addElement(
                    
    'submit',
                    
    'submit',
                    array(
                        
    'ignore'    => true,
                        
    'label'     => 'Login',
                    )
                );
        }
    }
    L'authentification semble fonctionner correctement d'après Zend_Auth_Result
    Code:
    Zend_Auth_Result Object
    (
        [_code:protected] => 1
        [_identity:protected] => admin
        [_messages:protected] => Array
            (
                [0] => Authentication successful.
            )
    
    )
    et si je donne un mauvais password j'ai le résultat attendu, mais sans la fatal error
    Code:
    Zend_Auth_Result Object
    (
        [_code:protected] => -3
        [_identity:protected] => admin
        [_messages:protected] => Array
            (
                [0] => Supplied credential is invalid.
            )
    
    )
    J'ai mal où Docteur?
    Dernière modification par elkoo ; 06/02/2013 à 15h05. Motif: désolé tenshu!

  24. #864
    I repeat.

    Utilisez la balise [PHP][/PHP]


  25. #865
    Faut que tu vires le return en cas d'authentification réussie. C'est lui qui empêche que le formulaire soit correctement transmis à la vue dans ce cas de figure.

  26. #866
    Ha le con, j'ai commenté le redirect() pour voir ce qu'il se passait, donc forcement... Merci GrandFather!

  27. #867
    Dites les canards, je vais demander un truc de méga noob, je voudrais présenter de manière sobre et très simple mes travaux (des vidéos Vimeo vu que je suis motion designer, et tout juste quelques images pour le coté graphique) tout ce que j'ai pour le moment c'est une espèce de truc wordpress pourri, et en cherchant sur l'interweb un moyen simple et pas cher de chopper un nom de domaine et d'y construire un truc très sobre je tombe que sur des sites et des tutos qui soit sont incompréhensibles soit sont clairement financées et qui te renvoient vers des hébergeurs et des outils kikoutcher

    Comme c'est censé être le topic du noob et pas celui de la programmation y'en a qui auraient des tutos, des topics ou forums ou des formules simples et pas cher ?

  28. #868
    Wordpress c'est bien et puissant, si tu choppes un thème assez sobre tu peux t'en sortir sans coder grand-chose.

    Si tu veux absolument du (presque) zéro config, tu peux avoir un Tumblr avec un domaine perso. Là encore, un thème gratos un peu sobre et roule ma poule.

  29. #869
    Les hébergements sont gratuits ou pas très chers maintenant, y'a même des offres où t'as un mini hébergement avec un nom de domaine

  30. #870
    Wordpress.com me semble pas mal, tu peux aussi prendre un simple hosting chez gandi (environs 50€ à l'année) et un ndd pour 15€ pour plus de liberté.
    À ce propos j'ai quelques coupons pour 1 mois gratos à donner si y'a un mangeur de cookies qui n'en veux.

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •