IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Ajax pour charger mes controleurs dans l'index


Sujet :

Langage PHP

  1. #1
    Candidat au Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2014
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Octobre 2014
    Messages : 2
    Points : 3
    Points
    3
    Par défaut Ajax pour charger mes controleurs dans l'index
    Salut les amis,

    Je suis actuellement en train de me casser la tete

    J'ai aucune idée de comment je pourrais proceder m'voyez ?

    J'ai tous simplement une page index.php qui récupérer la valeur de $_GET['controleur'] et tanté d'afficher le controleur correspondant rien de bien méchant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    session_start();
    // Initialisation
    include_once('init.php');
    //CONNEXION à LA BASE DE DONNées
    PDOConnect();
     
    //Inclusion du Header avec la fonction BuildPageHeader();
    BuildPageHeader();
     
    //Inclusion du controleur
    //Controleur demandé dans $_GET['controleur']
        if (isset($_GET['controleur'])){$URLControleur = Verif_magicquotes(htmlspecialchars(stripslashes(trim(strtolower($_GET['controleur'])))));}
        if (empty($URLControleur)) {
                $NOM_CONTROLEUR = strtolower('home');
                $NOM_FICHIER_CONTROLEUR = 'controleur.'. $NOM_CONTROLEUR .'.php';
                include_once PATH_MVC_CONTROLEUR . '/' . $NOM_FICHIER_CONTROLEUR;
        }
        ELSE {
            $NOM_CONTROLEUR = $URLControleur;
            $NOM_FICHIER_CONTROLEUR = 'controleur.'. $NOM_CONTROLEUR .'.php';
            if (is_file(PATH_MVC_CONTROLEUR.'/'. $NOM_FICHIER_CONTROLEUR)){
                include PATH_MVC_CONTROLEUR . '/' . $NOM_FICHIER_CONTROLEUR;}
            ELSE {
                $NOM_CONTROLEUR = strtolower('home');
                $NOM_FICHIER_CONTROLEUR = 'controleur.'. $NOM_CONTROLEUR .'.php';
                include_once PATH_MVC_CONTROLEUR . '/controleur.home.php';}
        }
    }
     
    //Inclusion du footer avec la fonction BuildPageFooter();
    BuildPageFooter();
     
    //Déconnexion à la base de données
    PDODisconnect();
    Mon objetifs charger n'importe quel controleur en utilisant la méthode GET pour Ajax

    Voila j'ai absolument aucune idée de comment faire ceci je metrise absolument pas le JS ^^

    Voir pour le moment j'appelle mes controleur comme t'elle index.php?controleur=liste-serveurs ou encore index.php?controleur=games?game=csgo

    Mon site http://nolimitgaming.fr/

  2. #2
    Expert éminent
    Avatar de Watilin
    Homme Profil pro
    En recherche d'emploi
    Inscrit en
    Juin 2010
    Messages
    3 093
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : En recherche d'emploi

    Informations forums :
    Inscription : Juin 2010
    Messages : 3 093
    Points : 6 754
    Points
    6 754
    Par défaut
    Si tu as l'intention d'apprendre un peu JavaScript, je te recommande chaudement de mettre les mains dans le cambouis et utiliser directement l'objet XMLHttpRequest qui est le cœur d'Ajax.

    Par exemple, ouvre la console de ton navigateur (essaye la touche F12, en général ça marche) et utilise ce code :
    Code JS : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    var req = new XMLHttpRequest();
    req.onload = function(response) {
      console.log(response);
    };
    req.open('GET', 'index.php?controleur=liste-serveurs');
    req.send();

    Reste à savoir de quelle façon tu veux déclencher ces requêtes Ajax, par exemple en cliquant sur un bouton, et si tu veux avoir un retour visuel. Ça aussi ça demande un peu de JS.

    Comme tu le vois, Ajax c'est plutôt simple. Du moins, c'est la théorie : ça marchera sur les navigateurs assez récents. En JS on se heurte toujours à des problèmes de compatibilité, par exemple la méthode onload que j'ai utilisée n'est pas implémentée par tous les navigateurs. Du coup il y a la méthode « bas niveau » onreadystatechange. Elle marche partout mais elle est moins pratique : il faut vérifier l'état readyState qui correspond à l'état de la requête (valeurs allant de 0 à 4 et signifiant des choses comme pas prête / en cours / terminée) et le code HTTP (200 si ça a marché, sinon des codes d'erreurs tels que 404, 500, etc.). Ça donne typiquement du code qui ressemble à ça :
    Code JS : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    req.onreadystatechange = function() {
      if (req.readyState < 4) return;
      if (req.status !== 200) {
        console.log('Il y a eu un problème');
      } else {
        console.log('Tout va bien', req.responseText);
      }
    };

    C'est pourquoi les gens utilisent des librairies ou des frameworks (le plus connu : jQuery), qui font les vérifications de compatibilité et collent des rustines à ta place. C'est mieux de prendre le temps de comprendre ce qui se passe sous le capot avant, mais tu as le choix. Tu peux adopter un tel outil dès maintenant, et personne ne te blâmera pour ça
    La FAQ JavaScript – Les cours JavaScript
    Touche F12 = la console → l’outil indispensable pour développer en JavaScript !

Discussions similaires

  1. Utiliser Ogre pour charger mes dll personnelles
    Par Kromagg dans le forum Ogre
    Réponses: 0
    Dernier message: 29/09/2008, 20h58
  2. Probléme pour charger une List dans un s:select
    Par Elthriel dans le forum Struts 2
    Réponses: 10
    Dernier message: 17/07/2008, 11h21
  3. Réponses: 7
    Dernier message: 30/01/2008, 18h24
  4. Réponses: 5
    Dernier message: 14/05/2006, 12h57
  5. Réponses: 8
    Dernier message: 06/11/2005, 20h39

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo