Partage
  • Partager sur Facebook
  • Partager sur Twitter

MOOC Programmez en orienté objet en PHP

    21 mars 2020 à 0:27:12

    @djedjethai daccord et quel est la méthode utilisée dans la version finale du cours ? Et esque je pourrais avoir un pdf de cette dernière ? si non un lien à la place suffit merci.
    • Partager sur Facebook
    • Partager sur Twitter
      21 mars 2020 à 11:22:59

      @MGM777 vois ce lien https://github.com/eheintzmann/OC_PHP-OO_Activite c'est le projet complet. Par contre il y a un systhem de cache en plus, c'etait le test final avant (a moins que cela le soit toujours), il a donc quelques rajout, mais pas dans les views. 

      Va dans app/frontend/'module/news'/views et tu trouveras le fichier show.php

      ps: aussi dans la precedente explication j 'ai fait une err, a la fin 

      // cet ligne n'est pas l'equivalent de $news = $_GET['id']
      $news = $this->managers->getManagerOf('News')->getUnique($request->getData('id'));
      
      // c'est ce code qui l'est
      $request->getData('id')
      
      // $request est passer en argument dans BackController.php
      public function execute()
        {
          $method = 'execute'.ucfirst($this->action);
      
          if (!is_callable([$this, $method]))
          {
            throw new \RuntimeException('L\'action "'.$this->action.'" n\'est pas définie sur ce module');
          }
      
          $this->$method($this->app->httpRequest()); // ici
        }
      
      // et donc recupere ici (NewsController.php)
      class NewsController extends BackController
      {
        public function executeIndex(HTTPRequest $request)
        {



      • Partager sur Facebook
      • Partager sur Twitter
        24 mars 2020 à 13:26:53

        @djedjethai on peut pas se passer de la transmission de données via url . Esque la manière classique fera l'affaire ?
        • Partager sur Facebook
        • Partager sur Twitter
          24 mars 2020 à 13:33:17

          Les données sont toujours transmises dans l'url, mais sous un autre format.
          • Partager sur Facebook
          • Partager sur Twitter

          Face a quelqu'un pour qui l'on n'éprouve que de l'aversion et du mépris, les yeux d'un homme deviennent extrêmement froids et cruels.

            28 mars 2020 à 5:19:24

            @lartak excuse moi mais je te comprend pas comment sa sous un autre format et lequel justement ? es-que cela justifie le fait de ne pas passer des variables dans l'url de manier classique c.a.d : '''news.php?var=77&var2=7'' et elle sont sur le format chainne de caractère bien-sur mais plustot  '''news.php-var-var2''', ou sont les valeurs ? Autant de questions.

            @djedjethai j'ai parcourus le support de cours sur github et malheureusement c'est toujours la même chose pour passer des valeurs dans l'url, donc je ne me retrouve toujours pas .:(:'(help !!!


            • Partager sur Facebook
            • Partager sur Twitter
              28 mars 2020 à 8:38:55

              Ce que veut dire Lartak c'est que toutes les datas transmises (que cela soit $_POST, $_GET, ou autres...) transitent via l'url. Avec $_POST elles se trouvent dans un 'body' et donc n'apparaissent pas dans l'url en lui-meme (mais sont bien presentes), alors que avec $_GET elles sont visibles, comme tu peux le voir. 

              Les variables HTTP get sont tres pratiques et tres utiliser, il est necessaire de les maitriser.

              voici un copy paste du fichier 'show.php', je ne comprends pas la question que tu m'adresses ??, peux tu preciser.

              <p>Par <em><?= $news['auteur'] ?></em>, le <?= $news['dateAjout']->format('d/m/Y à H\hi') ?></p>
              <h2><?= $news['titre'] ?></h2>
              <p><?= nl2br($news['contenu']) ?></p>
              
              <?php if ($news['dateAjout'] != $news['dateModif']) { ?>
                <p style="text-align: right;"><small><em>Modifiée le <?= $news['dateModif']->format('d/m/Y à H\hi') ?></em></small></p>
              <?php } ?>
              
              <p><a href="commenter-<?= $news['id'] ?>.html">Ajouter un commentaire</a></p>
              
              <?php
              if (empty($comments))
              {
              ?>
              <p>Aucun commentaire n'a encore été posté. Soyez le premier à en laisser un !</p>
              <?php
              }
              
              foreach ($comments as $comment)
              {
              ?>
              <fieldset>
                <legend>
                  Posté par <strong><?= htmlspecialchars($comment['auteur']) ?></strong> le <?= $comment['date']->format('d/m/Y à H\hi') ?>
                  <?php if ($user->isAuthenticated()) { ?> -
                    <a href="admin/comment-update-<?= $comment['id'] ?>.html">Modifier</a> |
                    <a href="admin/comment-delete-<?= $comment['id'] ?>.html">Supprimer</a>
                  <?php } ?>
                </legend>
                <p><?= nl2br(htmlspecialchars($comment['contenu'])) ?></p>
              </fieldset>
              <?php
              }
              ?>
              
              <p><a href="commenter-<?= $news['id'] ?>.html">Ajouter un commentaire</a></p>



              • Partager sur Facebook
              • Partager sur Twitter
                29 mars 2020 à 3:37:23

                @djedjethai Merci beaucoup pour cette brillante explication. Dans ce fichier show.php justement la derniere ligne qui permet d'ajouter un commentaire a une news est l'objet de ma preocupation.   Pour peciser la news a la quelle on voudrait ajouter un commentaire il faudrait passer l'id de la news dans l'url. ceux qui est ici :

                <a href="commenter-<?= $news['id'] ?>.html">
                //remarquons que la valeur d'id est directement transmise sans index
                 // Sauf qu'on pouvait faire de manniere clasique <a href="commenter.html?id=<?= $news['id'] ?>"> //ceux qui aurait cree la super global $_GET['id'] //La aucun probleme

                Mais etant donne que nous avons redefinie l'url avec notre nouveau system je m'interoge : toute les url sont redefinis dans

                le fichier routes.xml (en balise 'route' ) exemple du fichier

                <?xml version="1.0" encoding="utf-8" ?>
                <routes>
                  <route url="/" module="News" action="index" />
                  <route url="/news-([0-9]+)\.html" module="News" action="show" vars="id"/>
                  <route url="/commenter-([0-9]+)\.html" module="News" action="insertComment" vars="news" />
                </routes>

                vars ici contient la liste des index aux variables transmisent via url

                (separare par des virgule si besoin exemple vars="id,maxlength"). Sauf qu'il faut avant usage reconstituer chaque variable

                super global c.a.d (creer des $_["id"] et $_["maxlength"]) afin que la classe HTTPRequest puisse aisement les manipuler. 

                La question est : quelle methode de  quelle classe fait cela ? c.a.d associe a une valeur transmise dans l'url l'index
                adequats contenu dans l'attribut vars de la balise route.

                Attention il ne sagit pas ici de la methode qui verifie si une url correspond a une route mais plustot celle qui assignie a une valeur transmise dans l'url l'index adequats contenu dans l'attribut vars de la balise route. existe-t-elle, dans qu'elle classe ?

                Doit-t-on la créer nous meme ?                                                                                                                                                         Merci!

                • Partager sur Facebook
                • Partager sur Twitter
                  4 avril 2020 à 9:32:41

                  Le bootstrap instancie la class FrontendApplication.php ou BackendApplication.php

                  / Il ne nous suffit plus qu'à déduire le nom de la classe et de l'instancier
                  $appClass = 'App\\'.$_GET['app'].'\\'.$_GET['app'].'Application';
                  
                  $app = new $appClass;
                  $app->run();

                   ces class heritent de Application.php, et dans leur method run() ils appellent la method getController() (se trouvant dans la class mere)

                   public function run()
                    {
                      $controller = $this->getController();

                  voici le dbut de la method dans cette class Application.php

                  ici on instancie le Router, on recupere les routes du fichier xml et on instancie avec un/des class Route avec

                  a la derniere ligne le router va seclectioner la route(provenant du fichier xml) qui va matcher l'url 

                  public function getController()
                    {
                      $router = new Router;
                  
                      $xml = new \DOMDocument;
                      $xml->load(__DIR__.'/../../App/'.$this->name.'/Config/routes.xml');
                  
                      $routes = $xml->getElementsByTagName('route');
                  
                      // On parcourt les routes du fichier XML.
                      foreach ($routes as $route)
                      {
                        $vars = [];
                  
                        // On regarde si des variables sont présentes dans l'URL.
                        if ($route->hasAttribute('vars'))
                        {
                          $vars = explode(',', $route->getAttribute('vars'));
                        }
                  
                        // On ajoute la route au routeur.
                        $router->addRoute(new Route($route->getAttribute('url'), $route->getAttribute('module'), $route->getAttribute('action'), $vars));
                      }
                  
                      try
                      {
                        // On récupère la route correspondante à l'URL.
                        $matchedRoute = $router->getRoute($this->httpRequest->requestURI());
                  
                      }

                  donc on se retrouve dans la class Router, et dans la method getRoute()

                  public function getRoute($url)
                    {
                      foreach ($this->routes as $route)
                      {
                        // Si la route correspond à l'URL
                        if (($varsValues = $route->match($url)) !== false)
                        {
                          echo 'get route<br />';
                          var_dump($varsValues);
                          echo '<br />';
                  
                          // Si elle a des variables
                          if ($route->hasVars())
                          {
                            $varsNames = $route->varsNames();
                            $listVars = [];
                  
                            // On crée un nouveau tableau clé/valeur
                            // (clé = nom de la variable, valeur = sa valeur)
                            foreach ($varsValues as $key => $match)
                            {
                              
                              // La première valeur contient entièrement la chaine capturée (voir la doc sur preg_match)
                              if ($key !== 0)
                              {
                                $listVars[$varsNames[$key - 1]] = $match;
                              }
                            }
                  
                            echo 'numero de la news ou comment<br />';
                            var_dump($match);
                            // On assigne ce tableau de variables � la route
                            $route->setVars($listVars);
                          }
                  
                          return $route;
                        }
                      }
                  

                  je t'ai mis deux reperes (les echo avec var_dump), je fais tourner l'appli, je suis a l'url : http://monsupersite/news/news-62.php, ca affiche 

                  get route
                  array(2) { [0]=> string(17) "/news/news-62.php" [1]=> string(2) "62" }
                  numero de la news ou comment
                  string(2) "62"

                  A la suite de l'execution de cette methode le deroulement de la method getController() dans Application.php continue, voici la fin de cette method.

                  il y a le catch de l'err, puis le $_GET = array_merge($_GET, $matchedRoute->vars());. ici le numero de la news (ds cet ex) qui a ete stoque dans la class Route (comme on vient de la voir dans la methode precedente getRoute()), est insere dans la super global $_GET, et donc est diponible via la class HTTPRequest (comme explique precedemment) partout dans l'application.

                  catch (\RuntimeException $e)
                      {
                        if ($e->getCode() == Router::NO_ROUTE)
                        {
                          // Si aucune route ne correspond, c'est que la page demandée n'existe pas.
                          $this->httpResponse->redirect404();
                        }
                      }
                  
                      // On ajoute les variables de l'URL au tableau $_GET.
                      $_GET = array_merge($_GET, $matchedRoute->vars());
                  
                      // On instancie le contrôleur.
                      $controllerClass = 'App\\'.$this->name.'\\Modules\\'.$matchedRoute->module().'\\'.$matchedRoute->module().'Controller';
                  
                      //var_dump($controllerClass);
                      return new $controllerClass($this, $matchedRoute->module(), $matchedRoute->action());
                    }










                  -
                  Edité par djedjethai 4 avril 2020 à 9:36:37

                  • Partager sur Facebook
                  • Partager sur Twitter
                    7 avril 2020 à 6:15:14

                    @djedjethai Merci,mais  tu vois dans cette url que tu prend comme exemple 

                    /news/news-72.php


                    la valeur 72 qui est un id qui doit etre

                    enregistrer dans une super Global.

                    Et bien dans le cours ou plus precisement 

                    dans aucune classe il n'existe une methode

                    qui analyse les url demaniere a savoir que

                    apres les tirets : '-' c'est une valeurs exploitable

                    c'est sa le vrai probleme.

                    On devrai avoir une fonction qui utilise des fonctions

                    de chainnes de caratere existante deja en php pour

                    savoir qu'a un endroit de l'url se trouve une valeur

                    qui doit etre affecter a une Super Global $_GET. Si

                    on ne recupere pas deja cette valeur le reste ne peut

                    pas fonctionner.

                    Parceque si non on affecte quoi a $_GET ?

                    il faut cette fonction !!! J'espere que

                    tu m'auras compris maintenant
                    Merci.

                    -
                    Edité par MGM777 7 avril 2020 à 6:28:16

                    • Partager sur Facebook
                    • Partager sur Twitter
                      7 avril 2020 à 12:55:46

                      il y a cette method (dans la class Route), une regex qui verifie que l'url correspond bien a une des routes du fichier xml, si aucune ne match il y a une err 404 genere par une method se trouvant dans la class Page.php (si mes souvenirs sont bon). 

                      public function match($url)
                        {
                          if (preg_match('`^'.$this->url.'$`', $url, $matches))
                          {
                            return $matches;
                          }
                          else
                          {
                            return false;
                          }
                        }



                      • Partager sur Facebook
                      • Partager sur Twitter
                        8 avril 2020 à 11:36:59

                        Bonjour, 

                        d'après vous pour la réalisation d'un site Web pro qui sera amené à évoluer dans le temps, peut-on prendre comme base de création le framework de ce cours OCFram ?  Personnellement je n'aime pas trop les frameWork de type Symfony car parfois ils demandent beaucoup de temps d'apprentissage et avec les mises à jour il deviennent obsolète rapidement. J'aime bien le côté PHP pure avec la maîtrise totale sur le code et un minimum de clarté dans le code grâce aux objets et au MVC. 

                        Merci pour vos avis. 

                        • Partager sur Facebook
                        • Partager sur Twitter
                          9 avril 2020 à 7:58:06

                          Tout a fait possible, mais il y a du boulot. 

                          • Partager sur Facebook
                          • Partager sur Twitter
                            12 avril 2020 à 3:15:04

                            @djedjethai D’accord je vois que jusqu'ici

                            on est pas sur la même longueur d'onde.

                            cette méthode match dont tu fais allusion

                            dans ton dernier message a juste pour rôle

                            de se rassurer qu'une URL correspond a une

                            route c'est a dire : a une expression

                            reguliere enregistrer dans une  balise

                            route du fichier route.xml.

                               Cependant ce dont on a besoin c'est

                            d'une fonction qui analyse et  traite

                            l'url de manier a extirper les valeurs

                            transmissent en paramètres dans l'url.

                            Comme dans cette url.

                            /news/news-73.php

                            Cette fonction devra pouvoir récuperer 73 de l'url et

                            l'affecter a une super global $_GET pour être exploiter

                            comme id de news par exemple.

                              L'auteur du cours aurait du y penser, mais il la omis.

                            Je suis surpris que personne d'autre ne l'ai constater.


                            -
                            Edité par MGM777 12 avril 2020 à 3:18:16

                            • Partager sur Facebook
                            • Partager sur Twitter
                              14 avril 2020 à 18:40:11

                              Bonjour,

                              J'en suis à la partie 5 "mini-jeu". Je ne comprends pas pourquoi dans la déclaration d'une fonction tantôt on indique la classe, tantôt no. Par exemple la déclaration :  public function frapper(Personnage $perso), pourquoi indiquer "Personnage" dans le parametre reçu par la fonction ? Je l'ai supprimé et le code fonctionne quand même. Pouvez-vous m'indiquer la raison ?

                              • Partager sur Facebook
                              • Partager sur Twitter
                                18 avril 2020 à 21:02:57

                                Bonjour.

                                En fait tu exiges comme paramètre un objet de la classe Personnage dans ton exemple. Cela évite de planter le code si tu passes un INT comme paramètre par erreur.

                                Dans ton cas, le code marche puisque tu appelles bien la méthode avec le bon type en paramètre.

                                https://openclassrooms.com/fr/courses/1665806-programmez-en-oriente-objet-en-php/1666060-utiliser-la-classe#/id/r-1669325

                                -
                                Edité par DebruJerome 18 avril 2020 à 21:03:26

                                • Partager sur Facebook
                                • Partager sur Twitter
                                  23 avril 2020 à 14:29:37

                                  hello tout le monde j'espère que vous allez bien et en bonne santé surtout !

                                  j'ai une petite question, je suis en train de faire un pac-man en js !! 

                                  j'aimerai afficher en php, si on a deux même pseudo afficher le meilleur seulement ! 

                                  si quelqu'un pourais m'aide ça serai vraiment cool il me manque plus que ça pour pacman sois fonctionnelle !

                                  merci d'avance !

                                  • Partager sur Facebook
                                  • Partager sur Twitter
                                    25 avril 2020 à 2:08:33

                                    @djedjethai je propose cette solution pour resoudre le probleme, tout ce qui souhaite pourons l'integrer dans leur programme.

                                    $url="news/show-72-77-37.7-.php";
                                         
                                         function extractGetValue($url)
                                         {
                                    // LUC 3:14 JESUS, revêtu de la puissance de l'esprit...     
                                              /*Voici des recommandations à prendre en compte pour le bon fonctionnement de cette fonction
                                              ~~~~>Tout paramètre transmit dans l'url est precédé et suivie du tiret (-),
                                              toute url contenant dont au moins un paramètre se termineras TOUJOURS par (-.php ou -.html)
                                              ~~~~>Il faudra convertir les valeurs retourné par la fonction en int ou float (selon le cas écheant),
                                              car les valeurs contenu dans le tableau sont des "string"
                                              ~~~~>Veuillez à ce que les noms de vos modules et des vos actions ne contienne aucun tiret(-)
                                              exemple : Modu-le ou ac-tion 
                                              ~~~~>N'existeer pas a améliorer cette fontion Cependant,
                                              ~~~~>Consever ces commentaires.
                                              */
                                           $getParam=explode("-",$url);  
                                           array_shift($getParam);
                                           array_pop($getParam);
                                           
                                           return $getParam;
                                    // LUC 3:14 JESUS, revêtu de la puissance de l'esprit...     
                                         }
                                         
                                         var_dump(extractGetValue($url));



                                    • Partager sur Facebook
                                    • Partager sur Twitter
                                      28 avril 2020 à 14:27:36

                                      @MGM777.  "il n'y a aucun probleme, le code de l'application fonctionne parfaitement". Ta function est inutile dans le context de cette application.

                                      1/l'url est matche avec les routes extraitent du dossier de config 'route.xml'.

                                      2/si match ok, le numero du commentaire ou de la news est extrait puis injecte dans $_GET[''] (relis mes precedentes explications).

                                      3/il n'y a pas besoin de array_shift() ni de array_pop(). Car a chaque request du client, l'appli reload, et le $_GET[] (si nouvelles datas: numero de news ou de comment) se trouve ecrase, pointe sur la nouvelle valeur.

                                      • Partager sur Facebook
                                      • Partager sur Twitter
                                        8 mai 2020 à 16:52:23

                                        Bonjour j'essaie de démarrer le Tp concernant l'application, j'en suis au chapitre description de l'application et je suis un peu perdue.

                                        Je suis sous windows, j'utilise wamp Serveur. Je voudrai savoir si il faut obligatoirement utiliser le module mod_vhost_alias d'Apache ? 

                                        Il  est demandé de rajouter un code donné à la fin du fichier et je ne comprend pas vraiment ce qu'il nous permet de réaliser à part changez le nom de l'hôte virtuelle ? Cela est-il indispensable pour la suite du cours ? Merci d'avance pour vos lumières =).

                                        • Partager sur Facebook
                                        • Partager sur Twitter
                                          9 mai 2020 à 21:28:25

                                          Salut, 

                                          Oui la première partie est très importante pour le cours, j'ai personnellement galéré plusieurs jours car je n'ai pas fait cette étape du coup rien ne marché ah ah.

                                          Cela vas permettre de dire a ton sevrer que si tu tape dans ta barre "monsupersite/" cela vas faire comme si tu tapes "localhost/monsupersite/Web/" comme le cours travail beaucoup avec le système de routeur qui vas modifier nos URL celons les besoin une tel différence d'URL n'est pas acceptable pour le bon fonctionnement du cours.

                                          Le fait que si tu ne la fais pas tu auras une URL de ce genre "localhost/monsupersite/Web/" ce qui vas poser problème car le cours est conçu sur une URL de ce genre "monsupersite/" enfin c'est ce que je suppose je n'ai pas encore bien compris pourquoi une URL de type "localhost/monsupersite/Web/" ne fonctionne pas avec le cours, j'imagine qu'avec le routeur et peut être calibré pour une URL précise, ou le fait d'enter dans le dossier "Web" perturbe le fonctionnement du code, mais je vais bien finir par trouver ah ah. En tout cas fait bien cette première étape.

                                          -
                                          Edité par MaxLenire 9 mai 2020 à 21:38:03

                                          • Partager sur Facebook
                                          • Partager sur Twitter
                                            10 mai 2020 à 11:47:05

                                            Ok merci j'ai abandonné ce cours pour le moment il est bien trop difficile pour moi. Je le reprendrai plus tard quand j'aurai un peu plus d'expérience

                                            Merci de ta réponse en tout cas. 

                                            • Partager sur Facebook
                                            • Partager sur Twitter
                                              10 mai 2020 à 20:30:16 - Message modéré pour le motif suivant : Message complètement hors sujet


                                              Bonne chance
                                                16 mai 2020 à 10:34:08

                                                Bonjour à tous, besoin d'aide svp. Je cree un site de gestion de stock et je n'arrive pas à insérer chaque quantité livrée directement dans QTE STOCK de ma table ARTICLE qui difère de la table livraison à chaque insertion d'un article livre dans livraison.

                                                Deux jours que je fais des recherches et rien. Vraiment besoin d'aide siouplait !

                                                ma table article contient QTE STOCK de chaque article; ma livraison contient fk de idarticle et qte livre.

                                                Ce que je veux faire, c'est insérer automatiquement chaque qte livrée dans qtestock en fonction de l'idarticle concerné. 

                                                Vraiment merci pour votre aide précieuse. 

                                                • Partager sur Facebook
                                                • Partager sur Twitter
                                                  18 mai 2020 à 21:29:42

                                                  Salut, 

                                                  Je crois, que tu devrais regarder du coté des clauses INNER JOIN ou LEFT JOIN ou RIGHT JOIN combiner à une clause WHERE pour pouvoir cibler l'id de t'as table article en fonction de l'id de la table livraison, cela te permettrais de lié ton id article et livraison pour insérer au bon endroit.

                                                  -
                                                  Edité par MaxLenire 18 mai 2020 à 21:31:42

                                                  • Partager sur Facebook
                                                  • Partager sur Twitter
                                                    19 mai 2020 à 9:24:08

                                                    Bonjour à tous,

                                                    dans le chapitre UML 2/2, il y a un lien vers un module de DIA permettant d'exporter nos classes en langage PHP (uml2php).

                                                    Ce lien ne semble plus être actif. Existe-t-il un autre lien permettant de retrouver ce module (je n'ai pas réussi à le trouver) ? Ou d'autres utilitaires permettant la même opération ?

                                                    • Partager sur Facebook
                                                    • Partager sur Twitter
                                                      22 mai 2020 à 16:38:58

                                                      Bonjour,

                                                      je pense qu'il y a un petit oubli à la fin de ce TP. Je ne sais pas vous mais si vous créez un personnage, et juste après, vous attaquez un autre, cela va fonctionner mais vous faire également l'erreur suivante :

                                                      Warning: PDOStatement::execute(): SQLSTATE[23000]: Integrity constraint violation: 1048 Le champ 'timeEndormi' ne peut être vide (null)

                                                      J'ai regardé, et je pense avoir trouvé: il manque 'timeEndormi' =>  dans l'hydrate du manager. Alors oui en base de donnée c'est bon car par défaut on demande à mettre 0, et si vous faite un echo de $perso->timeEndormi()  cela vous remontera bien 0 (je ne sais pas trop pourquoi d'ailleur, surement que par défaut echo renvoi 0 au lieu de null) , mais je pense que comme nous somme dans la session, il n'y a pas eu de recherche de cet attribut dans la base, et c'est pourquoi on a ce message d'erreur.

                                                      en tout cas, cette correction a fonctionné pour moi.

                                                      • Partager sur Facebook
                                                      • Partager sur Twitter
                                                        18 juin 2020 à 16:47:13

                                                        Si tu veut mette un attribut null ça se spécifie à la création de la table.

                                                        SInon j'ai bien aimé ce tutoriel et ce tp final , j'avais besoin de revoir quelques points de la poo (les iterator et closure notamment) et ce cours ma plu , après si vous n'avez pas fait de POO avant je pense que il sera un peu complexe

                                                        • Partager sur Facebook
                                                        • Partager sur Twitter
                                                          28 juin 2020 à 2:08:11

                                                          @djedjethai Meaculpa tu as raison le code fonction parfaitement, neanmoins cette fonction que je propose est une amelioration.

                                                          Cependant je suis a la recherche d'une solution pour creer des pdf a partir d'un code jquery ou php

                                                          J'ai trouver FPDF et HTML2PDF tres lourd et moins flexible a mes attentes

                                                          Quelqu'un a t'il une autre solution SVP. Mais si jamais vous avez des anciens fichiers sources de HTML2PDF qui ne necessite pqs un gestionnaire de dependance JE SUIS PRENEURS.

                                                          Ma boite mail :

                                                          georgesmbassegue@gmail.com

                                                          • Partager sur Facebook
                                                          • Partager sur Twitter
                                                            11 octobre 2020 à 19:23:35

                                                            Bonjour, je suis actuellement en train de suivre le MOOC "concevoir un site web avec PHP, je rencontre un problème, je ne sais pas trop vers quel forum me tourner. J'espère que je trouverai un âme charitable qui pourra m'aiguiller.

                                                            je suis dans un chapitre sur "la lecture des données". je n'arrive pas à afficher mon code PHP dans MAMP. Je suis sur MAC, j'ai suivi toutes les démarches à faire, j'ai rentré mes données dans PHPMyAdmin. Je n'arrive pas à trouver l'erreur,  et j'ai aucun message d'erreur qui s'affiche. c'est pareil je ne comprends pas comment il faut faire, j'ai beau suivre les démarches à effectuer  rien ne se passe. j'ai beau chercher, je ne vois pas. je vous met ma capture d'écran de ce que j'ai écrit. 

                                                            • Partager sur Facebook
                                                            • Partager sur Twitter
                                                              17 octobre 2020 à 13:19:42

                                                              Bonjour,

                                                              Essaies ca dahgfkhgfns un premier temps, tu verras ce que contient $datas, ainsi tu sauras si ta request fonctionne. 

                                                              $db = new PDO("....."); // ca c bon
                                                              $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
                                                              
                                                              $q = $db->prepare('SELECT * FROM jeux_video');
                                                              $q->execute();
                                                              $datas = $q->fetchAll();
                                                              
                                                              echo '<pre>';
                                                              print_r($datas);
                                                              echo '</pre>';


                                                              pour faire tourner ce code, 

                                                              1.start MAMP

                                                              2.dans le browser entre l'url: http://localhost/nomFichier.php

                                                              -
                                                              Edité par djedjethai 17 octobre 2020 à 13:22:43

                                                              • Partager sur Facebook
                                                              • Partager sur Twitter

                                                              MOOC Programmez en orienté objet en PHP

                                                              × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                                                              • Editeur
                                                              • Markdown