AJAX + PHP je suis perdu !

  • WordPress :4.9
  • Statut : non résolu
4 sujets de 1 à 4 (sur un total de 4)
  • Auteur
    Messages
  • #2039399

    lavega
    Participant
    Padawan WordPress
    83 contributions

    Bonjour,

    Problème(s) rencontré(s) :

    Bonjour, j’ai développé une extension présente sur WordPress, j’ai voulu me lancer dans l’Ajax mais la… je bloque complètement !

    Voici le souci en détails :

    Je vous explique, j’ai un formulaire qui, quand on choisit une option et qu’on soumet, il écrit dans le fichier .htaccess des lignes de codes.

    Avant le formulaire je check si le code (des options du formulaire) sont déjà présentes dans le fichier .htaccess avec une condition simple et un echo avec le symbole « validé » et écriture verte si le code existe dans le .htaccess ou rouge si le code n’est pas présent dans le .htaccess.

    (voir photo joint)

    Seulement, il y a un décalage, quand on soumet une option, elle se met en vert uniquement quand on actualise la page ou que l’on soumet une deuxième option car c’est une fois que la page s’actualise et j’aimerai si possible que ce soit direct.

    Je choisis l’option du formulaire, je valide, et direct la phrase s’affiche en vert sans avoir besoin de recharger la page.

    Voici le code (tout est sur la même page)

    $htaccess = sanitize_text_field($_POST['htaccess']);
    $content_access = file_get_contents('../.htaccess');
    $htaccesschemin = get_home_path().".htaccess";
     
    $wpconf_code = "\n" .
    '<files wp-config.php>'. "\n" .
    'order allow,deny'. "\n" .
    'deny from all'. "\n" .
    '</files>'
    "\n\n" ;
     
     
     
    $comparaison_conf   = stristr($content_access, $wpconf_code);
    $lines_conf = $wpconf_code;
     
    /* Dans la page, s'affiche si oui ou non le code est présent dans le htaccess, j'aimerai que la couleur passe du rouge au vert instantanément, si le code n est aps dans le htaccess alors il y a la phrase rouge automatiquement sans meme soumettre le formulaire, et si on valide elle passe au vert sans rechargement de page*/
     
    if($comparaison_conf == false){
        echo '<span style="color: red;"><i class="fa fa-check" aria-hidden="true"></i> Votre fichier wp-config.php n\'est pas protégé !</span><br />';                             
    }else{
        echo '<span style="color: green;"><i class="fa fa-check" aria-hidden="true"></i> Fichier wp-config.php protégé !</span><br />';  
    }
     
     
     
     
    <form method="POST" action="">
                <div class="selectform">
                  <select name="htaccess" >
                    <option   value="wpconfig" <?php if(isset($htaccess) && $htaccess == "wpconfig" ){
                        echo 'disabled'; }?>><?php echo __('Protect the wp-config file','carla');?></option>
                    <option   value="navigation" <?php if(isset($htaccess) && $htaccess == "navigation"){
                        echo 'disabled'; }?>><?php echo __('Prevent listing your directories','carla');?></option>
                    <option   value="htaccess" <?php if(isset($htaccess) && $htaccess == "htaccess"){
                        echo 'disabled'; }?>><?php echo __('Protect the .htaccess file','carla');?></option>
                    <option   value="inclusion" <?php if(isset($htaccess) && $htaccess == "inclusion"){
                        echo 'disabled'; }?>><?php echo __('Block access to wp-includes','carla');?></option>
                  </select>
                 </div>
                    <input type="submit" name="securiser" value="<?php echo __('To secure !','carla');?>" class="btn btn-primary marge_input"/>
               </form>
    
    /* ---------------------------------- CONDITIONS FORMULAIRES ------------------------------------------------ */           
    $securiser = $_POST['securiser'];          
    if(isset($securiser)) {
         
        if($htaccess == "wpconfig"){       
        /* Si le code n est aps dans le fichier .htaccess alors on l ecrit et on affiche une phrase de validation */
            if($comparaison_conf == false){
                insert_with_markers($htaccesschemin, "carla_conf", $wpconf_code);
                $valids['conf'] = '<div class="alert alert-success">
                                      <strong>'.__('The wp-config file is now protected !','carla').'</strong>
                                   </div>';
            }else{
                $errors['conf'] = '<div class="alert alert-danger">
                                  <strong>'.__('Warning ! ','carla').'</strong>'.__('The wp-config file is already protected !','carla').'</div>';
            }
        }

    Si quelqu’un pourrait m’aiguiller … j’ai fait tout un tas de tuto, à peu près 5 mais je galère comme il faut !

    Merci beaucoup !

    Fichiers joints :
    Vous devez être connecté pour voir les fichiers joints.
    #2039412

    lavega
    Participant
    Padawan WordPress
    83 contributions

    Précision :

    J’ai lu le code de toutes mes extensions utilisant l’ajax, j’ai fait 5 tutos youtube, celui d’openclassroom ainsi que la documentation wordpress ajax plugin  et je comprend strictement rien, j’accroche pas du tout avec la syntaxe, pour moi il y a rien de logique dans tout ce que j’ai pu voir ni rien de compréhensible, tuto peu détaillé, sachant que c’est sur wordpress ça ajoute beaucoup plus de complications, niveau sécurité je ne sais pas non plus comment sa se gère, je vais surement finir par faire un vieux bouton tout deg pour actualiser la page avec un Onclick parce que sa me fou les nerfs de rien comprendre

    #2040119

    lavega
    Participant
    Padawan WordPress
    83 contributions

    Je laisse tomber, personne ne comprend pourtant je voulais juste : afficher un echo instantanément.

    Mais ça confirme ce que je pensais, les vidéos youtube sont reprises par l’un et par l’autre et je suis persuadé que les auteurs ne comprennent pas eux même leur vidéo car ils ressortent les explications et code d’autres vidéos.

    On peut voir par rapport à la multitude de commentaires sans réponses.

    Très étrange en tout cas. tut le monde en parle mais personne comprend.

    J’ai donc ajouter un simple OnClick sur le submit pour recharger la page et sa ira très bien.

     

     

    #2040268

    CAMEO172
    Participant
    Maître WordPress
    1175 contributions

    Le seul truc que j’ai réussi avec Ajax c’est ajouter une série de billets à une liste.

    Profondément désolé mais ça dépasse mes compétences et même pour mon besoin j’y ai passé 3 jours !

4 sujets de 1 à 4 (sur un total de 4)
  • Vous devez être connecté pour répondre à ce sujet.