Custom PHP qui ne fonctionne pas (PHP activé)

Réduire
X
 
  • Filtrer
  • Heure
  • Afficher
Tout effacer
nouveaux messages

  • Custom PHP qui ne fonctionne pas (PHP activé)

    Bonjour,

    J'ai joomla 2.5 et j'ai un code PHP qui ne veut pas fonctionner. J'ai tenté plusieurs plugigs pour insérer du custom PHP dans un module ou directement dans l'éditeur et ça fait toujours la même erreur.

    Voyez ici : http://www.jerlive.com/aboutme.html

    Alors je vais vous expliquer.

    J'ai rentré deux codes PHP différents pour vour faire voir que le deuxieme fonctionne (celui où c'est écrit true)
    [il faut regarder uniquement le module qui est en haut car j'ai mis les deux codes dedans)

    Par contre au dessus il y a le code qui ne fonctionne pas (alors que dans un simple fichier php ça marche)

    Voici les deux codes :

    Celui qui fonctionne pas :
    Code PHP:
    <?

    $live_id = $_GET['live_id'];
    $url = 'http://api.own3d.tv/liveCheck.php?live_id=105418' . $live_id;
    $xml = simplexml_load_file($url);

    $isLive=$xml->liveEvent->isLive;
    #echo $isLive;

    if ($isLive == "true") {

    $im = file_get_contents('online.png');
    header('content-type: image/png');
    echo $im;

    } else {

    $im = file_get_contents('offline.png');
    header('content-type: image/png');
    echo $im;

    }

    ?>
    Et celui qui fonctionne :

    Code PHP:
    <?php
    jimport
    'joomla.client.http' );

    $jhttp = new JHttp();

    $response $jhttp->get('http://api.own3d.tv/liveCheck.php?live_id=105418');

    $live 'unknown';
    if (
    $response->code == 200) {
        
    $xml simplexml_load_string($response->body);
        
    $live $xml->liveEvent->isLive;
    }

    echo 
    $live;
    ?>
    Vous l'avez peut-être compris, c'est pour montrer sur le site que mon livestream est en route (avec des images pnp [rond vert et rouge])

    J'ai bien mis les ronds dans le ftp à la racine online.png et offline.png

    Savez-vous ce qu'est le problème ?

    Lorsque je modifie le noms des images (dans le code uniquement) le message d'erreur disparait et n'arrive rien du tout (meme pas d'image missing)

    MErci !

  • #2
    Re : Custom PHP qui ne fonctionne pas (PHP activé)

    Bonjour,

    Le code PHP tel que est non fonctionnel en environnement Joomla!
    Code PHP:
    <?php
    // le short tag n'est plus reconnu sur toutes les configurations PHP et provoque des conflits avec les balises XML
    // toujours utiliser, pour portabilité du code la balise php intégrale.

    // ligne douteuse
    // $live_id = $_GET['live_id'];
    // L'API Joomla utilise JREQUEST  pour récupérer les paramètres
    $live_id JRequest::getInt'live_id' ) ;

    $url 'http://api.own3d.tv/liveCheck.php?live_id=105418' $live_id;
    $xml simplexml_load_file($url);

    $isLive=$xml->liveEvent->isLive;
    #echo $isLive;

    // Attention également ici il faut du chemin exploitable
    */
    // commenté pour correction
    if ($isLive == "true") {
        
    $im file_get_contents('online.png') ; 
        
    header('content-type: image/png');
        echo 
    $im;
    } else {
        
    $im file_get_contents('offline.png');
        
    header('content-type: image/png');
        echo 
    $im;
    }
    // fin zone commentée
    */
    $myimg = ( $isLive == 'true' ) ? 'online.png' 'offline.png' ;
    $myimg JURI::base() . '/' $myimg
    header
    ('content-type: image/png');
    echo 
    $myimg ;

    ?>
    Pas de demande de support par MP.
    S'il n'y a pas de solution, c'est qu'il n'y a pas de problème (Devise Shadok)

    Commentaire


    • #3
      Re : Custom PHP qui ne fonctionne pas (PHP activé)

      En faite en cherchant plein de codes différents j'ai réussi a en faire un (meme étant noob en php)

      j'ai fait ceci, peux-tu me dire s'il est bon ?
      Mais j'ai l'impression que ça fait ramer le chargement de la page d'accueil du site, c'est possible ?

      Code PHP:
      JerLive {source}

      <?php
      jimport
      'joomla.client.http' );

      $jhttp = new JHttp();

      $response $jhttp->get('http://api.own3d.tv/liveCheck.php?live_id=105418');

      $live 'unknown';
      if (
      $response->code == 200) {
      $xml simplexml_load_string($response->body);
      $live $xml->liveEvent->isLive;
      }

      if (
      $live=="true"){
      echo 
      '';
      echo 
      "<img src='http://jerlive.com/online.png'>";

      }


      else {
      echo 
      '';
      echo 
      "<img src='http://jerlive.com/offline.png'>";





      ?>

      {/source} - Kasu  {source}
      <?php

      $json_file 
      file_get_contents("http://api.justin.tv/api/stream/list.json?channel=noobcrafttv"0nullnull);
      $json_array json_decode($json_filetrue);

      if (
      $json_array[0]['name'] == 'live_user_noobcrafttv') {
      echo 
      "<img src='http://jerlive.com/online.png'>";
      }
      else {
      echo 
      "<img src='http://jerlive.com/offline.png'>";
      }


      ?>
      {/source}
      Merci pour ta réponse

      Commentaire


      • #4
        Re : Custom PHP qui ne fonctionne pas (PHP activé)

        Mais j'ai l'impression que ça fait ramer le chargement de la page d'accueil du site, c'est possible ?
        L'utilisation de JHTTP peut effectivement ralentir l'affichage de la page si le site distant tarde à répondre.
        Pas de demande de support par MP.
        S'il n'y a pas de solution, c'est qu'il n'y a pas de problème (Devise Shadok)

        Commentaire


        • #5
          Re : Custom PHP qui ne fonctionne pas (PHP activé)

          Re, salut,

          J'ai testé ton code et rien ne s'affiche. Dois-je modifier une partie du code ? je l'ai copié tel quel

          Pour le moment j'ai remis mon code, mais il fait ramer le site.

          Commentaire


          • #6
            Re : Custom PHP qui ne fonctionne pas (PHP activé)

            La seule chose qui pourrait être un problème est cette ligne
            Code PHP:
            $url 'http://api.own3d.tv/liveCheck.php?live_id=105418' $live_id
            qui est l'adaptation d eton code.
            Mais tu as passé l'ID en dur, donc
            Code PHP:
            $url 'http://api.own3d.tv/liveCheck.php?live_id=105418' 
            Pas de demande de support par MP.
            S'il n'y a pas de solution, c'est qu'il n'y a pas de problème (Devise Shadok)

            Commentaire


            • #7
              Re : Custom PHP qui ne fonctionne pas (PHP activé)

              J'ai donc mis le code ci dessous pour test (dans un autre module)


              Code PHP:
              {source}
              <?php
              // le short tag n'est plus reconnu sur toutes les configurations PHP et provoque des conflits avec les balises XML
              // toujours utiliser, pour portabilité du code la balise php intégrale.

              // ligne douteuse
              // $live_id = $_GET['live_id'];
              // L'API Joomla utilise JREQUEST pour récupérer les paramètres
              $live_id JRequest::getInt'live_id' ) ;

              $url 'http://api.own3d.tv/liveCheck.php?live_id=105418' ;
              $xml simplexml_load_file($url);

              $isLive=$xml->liveEvent->isLive;
              #echo $isLive;

              // Attention également ici il faut du chemin exploitable
              */
              // commenté pour correction
              if ($isLive == "true") {
              $im file_get_contents('online.png') ;
              header('content-type: image/png');
              echo 
              $im;
              } else {
              $im file_get_contents('offline.png');
              header('content-type: image/png');
              echo 
              $im;
              }
              // fin zone commentée
              */
              $myimg = ( $isLive == 'true' ) ? 'online.png' 'offline.png' ;
              $myimg JURI::base() . '/' $myimg
              header
              ('content-type: image/png');
              echo 
              $myimg ;

              ?>
              {/source}
              et rien ne s'affiche dans le module en question :/

              Commentaire


              • #8
                Re : Custom PHP qui ne fonctionne pas (PHP activé)

                En tests locaux, ça fonctionne. je n'ai pas testé sous forme de module.

                Passes en Configuration Joomla!, onglet serveur, Rapport d'erreur à Développement et ça te dira le pourquoi.
                Pas de demande de support par MP.
                S'il n'y a pas de solution, c'est qu'il n'y a pas de problème (Devise Shadok)

                Commentaire


                • #9
                  Re : Custom PHP qui ne fonctionne pas (PHP activé)

                  Oula ya beaucoup de messages d'erreurs, du coup j'arrive pas à savoir lequel c'est

                  est-ce que t'aurai skype pour qu'on puisse regarder ça à deux quand t'aura un petit moment ? je rentre chez moi dans 15 min

                  Commentaire


                  • #10
                    Re : Custom PHP qui ne fonctionne pas (PHP activé)

                    J'ai même copié collé ce code dans un fichier php et le lancer hors joomla et ça fait une erreur, t'es sur que ça a marché pour toi en local ? c'est exactement le même code ?

                    Code PHP:
                    <?php
                    // le short tag n'est plus reconnu sur toutes les configurations PHP et provoque des conflits avec les balises XML
                    // toujours utiliser, pour portabilité du code la balise php intégrale.

                    // ligne douteuse
                    // $live_id = $_GET['live_id'];
                    // L'API Joomla utilise JREQUEST pour récupérer les paramètres
                    $live_id JRequest::getInt'live_id' ) ;

                    $url 'http://api.own3d.tv/liveCheck.php?live_id=105418' ;
                    $xml simplexml_load_file($url);

                    $isLive=$xml->liveEvent->isLive;
                    #echo $isLive;

                    // Attention également ici il faut du chemin exploitable
                    */
                    // commenté pour correction
                    if ($isLive == "true") {
                    $im file_get_contents('online.png') ;
                    header('content-type: image/png');
                    echo 
                    $im;
                    } else {
                    $im file_get_contents('offline.png');
                    header('content-type: image/png');
                    echo 
                    $im;
                    }
                    // fin zone commentée
                    */
                    $myimg = ( $isLive == 'true' ) ? 'online.png' 'offline.png' ;
                    $myimg JURI::base() . '/' $myimg
                    header
                    ('content-type: image/png');
                    echo 
                    $myimg ;

                    ?>
                    lien du test : http://www.jerlive.com/test3.php
                    Erreur : Parse error: syntax error, unexpected '*' in /homez.420/inthegro/www/jerlive/test3.php on line 17

                    j'ai donc supprimé les * mais ça fait une erreur :
                    Parse error: syntax error, unexpected T_STRING in /homez.420/inthegro/www/jerlive/test3.php on line 32

                    Commentaire


                    • #11
                      Re : Custom PHP qui ne fonctionne pas (PHP activé)

                      Quand tu as viré le bloc de commentaires, tu as laissé les */ final, qui provoque cette parse error.

                      Et hors Joomla (voire en interne puisque tu fournis l'ID en dur), vires aussi la ligne $live_id = JRequest...

                      le résultat serait
                      Code PHP:
                      <?php
                      $url 
                      'http://api.own3d.tv/liveCheck.php?live_id=105418' ;
                      $xml simplexml_load_file($url);

                      $isLive=$xml->liveEvent->isLive;

                      $myimg = ( $isLive == 'true' ) ? 'online.png' 'offline.png' ;
                      $myimg '/' $myimg ;
                      header('content-type: image/png');
                      echo 
                      $myimg ;?>
                      Dernière édition par jisse03 à 19/07/2012, 17h20
                      Pas de demande de support par MP.
                      S'il n'y a pas de solution, c'est qu'il n'y a pas de problème (Devise Shadok)

                      Commentaire


                      • #12
                        Re : Custom PHP qui ne fonctionne pas (PHP activé)

                        J'ai edité le test3.php et ça fait cette erreur :

                        Fatal error: Class 'JURI' not found in /homez.420/inthegro/www/jerlive/test3.php on line 8

                        Ou bien sur joomla ça écrit le lien vers l'image, au lieu de l'afficher:

                        Commentaire


                        • #13
                          Re : Custom PHP qui ne fonctionne pas (PHP activé)

                          Dans Joomla!, tu ne fais pas un echo direct de l'image, et tu ne mets pas de header, mais simplement un tag '<img src="' .$myims . ' alt="" />' puisque tu es dans le contexte web.

                          Tu envoies un header + ton élément uniquement dans un contexte d'une page qui n'aurait que ça...
                          Pas de demande de support par MP.
                          S'il n'y a pas de solution, c'est qu'il n'y a pas de problème (Devise Shadok)

                          Commentaire


                          • #14
                            Re : Custom PHP qui ne fonctionne pas (PHP activé)

                            Désolé mais jsuis un noob en php, j'ai copié le dernier code que tu m'as filé et je l'ai collé dans le module joomla, c'était donc pas ça qu'il fallait mettre ?

                            Code PHP:
                            <?php
                            $url 
                            'http://api.own3d.tv/liveCheck.php?live_id=105418' ;
                            $xml simplexml_load_file($url);

                            $isLive=$xml->liveEvent->isLive;

                            $myimg = ( $isLive == 'true' ) ? 'online.png' 'offline.png' ;
                            $myimg JURI::base() . '/' $myimg ;
                            header('content-type: image/png');
                            echo 
                            $myimg ;?>
                            Et hors joomla il ne marche pas non plus :
                            Fatal error: Class 'JURI' not found in /homez.420/inthegro/www/jerlive/test3.php on line 8
                            Dernière édition par jeremyto à 19/07/2012, 17h45

                            Commentaire


                            • #15
                              Re : Custom PHP qui ne fonctionne pas (PHP activé)

                              Puisque ça doit être intégré dans un article ou module via Sourcerer, c'ets donc ça qu'il te faut:
                              Code PHP:
                              <?php
                              $url 
                              'http://api.own3d.tv/liveCheck.php?live_id=105418' ;
                              $xml simplexml_load_file($url);

                              $isLive=$xml->liveEvent->isLive;

                              $myimg = ( $isLive == 'true' ) ? 'online.png' 'offline.png' ;

                              $myimg JURI::base() . '/' $myimg ;
                              echo 
                              '<img src="' $myimg '" alt="" />' ;

                              ?>
                              Penser au contexte à chaque fois
                              JURI est invalide hors Joomla!
                              <img src est valide en contexte interne d'une page, invalide dans d'autres cas, etc...
                              Pas de demande de support par MP.
                              S'il n'y a pas de solution, c'est qu'il n'y a pas de problème (Devise Shadok)

                              Commentaire

                              Annonce

                              Réduire
                              Aucune annonce pour le moment.

                              Partenaire de l'association

                              Réduire

                              Hébergeur Web PlanetHoster
                              Travaille ...
                              X