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 :

Parse error: syntax error, unexpected T_OBJECT_OPERATOR in /web/youtube.php linge32


Sujet :

Langage PHP

  1. #1
    Nouveau Candidat au Club
    Inscrit en
    Septembre 2008
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Parse error: syntax error, unexpected T_OBJECT_OPERATOR in /web/youtube.php linge32
    hi every body , j'ai un problème dans se script, en fait je l'ai installer sur mon site et il m'affiche un erreur like :

    Parse error: syntax error, unexpected T_OBJECT_OPERATOR in /home/monsite/.../public_html/../web/youtube.php on line 32

    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
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    <?
     
    class Youtube
    {
        var $dom, $idvideo, $title, $video;
     
        function videoTitle()
        {
            return $this->title;
        }
     
        function pagination()
        {
            return true;
        }
     
        function tag($tag, $page = 1)
        {
            if ($page <= 0) $page = 1;
     
            $start = ($page-1)*10 + 1;
            $tag = str_replace(' ', '+', $tag);
            $feed = ('http://gdata.youtube.com/feeds/api/videos?vq='.$tag.'&start-index='.$start.'&max-results=10&orderby=updated&alt=rss');
            $this->dom = getFeed($feed);
        }
     
        function video($id)
        {
            $this->idvideo = $id;
            $feed = ("http://gdata.youtube.com/feeds/api/videos/".$id);
            $this->dom = getFeed($feed);
            $this->video = $this->dom->getElementsByTagName('entry')->item(0) // ligne 32;
            $this->title = $this->video->getElementsByTagName('title')->item(0)->textContent;
        }
     
     
        function player()
        {
            ?>
            <object width="425" height="355">
                <param name="movie" value="http://www.youtube.com/v/<?=$this->idvideo?>" />
                <param name="wmode" value="transparent" />
                <embed src="http://www.youtube.com/v/<?=$this->idvideo?>" type="application/x-shockwave-flash" wmode="transparent" width="425" height="355"></embed>
            </object>
            <?
        }
     
        function view($tag)
        {
            $videos = $this->dom->getElementsByTagName('item');
     
            foreach ($videos as $video)
            {
                $id = $video->getElementsByTagName('guid')->item(0)->textContent;
                $id = explode('/', $id);
                $id = $id[6];
     
                echo '<div class="video">';
                $title = $video->getElementsByTagName("title")->item(0)->textContent;
                    echo '<p><a href="'.BASE_URL.'/0/video/'.$tag.'/'.$id.'.html">'.$title.'</a></p>';
     
                    $fotos = $video->getElementsByTagNameNS("http://search.yahoo.com/mrss/", "thumbnail");
                    $tiempo = $video->getElementsByTagNameNS("http://gdata.youtube.com/schemas/2007", "duration");
                    $tiempo = $tiempo->item(0)->getAttribute("seconds");
     
                    $i = 0;
                    echo '<div class="img">';
                    foreach ($fotos as $foto)
                    {
                        $url = $foto->getAttribute("url");
                        echo '<a href="'.BASE_URL.'/0/video/'.$tag.'/'.$id.'.html"><img src="'.$url.'" alt="'.$title.'"/></a>';
                        $i++;
                        if ($i > 2) break;
                    }
                    echo '</div>';
     
                    echo '<p class="links"><a href="'.BASE_URL.'/0/video/'.$tag.'/'.$id.'.html">'._VIEW.'</a> '._DURATION.': '.minutes($tiempo).'</p>';
     
                    echo '<p>'.cut($video->getElementsByTagName("description")->item(0)->textContent).'</p>';
     
                    $tags = $video->getElementsByTagName("category");
     
                    echo '<div class="tags">'; echo 'tags: ';
                    foreach ($tags as $palabra)
                    {
                        if (strpos($palabra->textContent, "http") === FALSE)
                            echo '<a href="'.BASE_URL.'/0/tag/'.$palabra->textContent.'.html">'.$palabra->textContent.'</a> ';
                    }
                    echo '</div>';
     
                echo '</div>';
     
            }
        }
     
        function videoInfo()
        {   
                $id = $this->video->getElementsByTagName("id")->item(0)->textContent;
                $id = explode("/", $id);
                $id = $id[6];
     
                echo '<div class="video">';
                    $title = $this->video->getElementsByTagName("title")->item(0)->textContent;
     
                    $tiempo = $this->video->getElementsByTagNameNS("http://gdata.youtube.com/schemas/2007", "duration");
                    $tiempo = $tiempo->item(0)->getAttribute("seconds");
     
                    echo '<p class="links">'._DURATION.': '.minutes($tiempo).'</p>';
     
                    echo '<p>'.$this->video->getElementsByTagName("description")->item(0)->textContent.'</p>';
     
                    $tags = $this->video->getElementsByTagNameNS("http://www.w3.org/2005/Atom", "category");
     
                    echo '<div class="tags">'; echo 'tags: ';
                    foreach ($tags as $palabra)
                    {
                        if (strpos($palabra->getAttribute("term"), "http") === FALSE)
                            echo '<a href="'.BASE_URL.'/0/tag/'.$palabra->getAttribute("term").'.html">'.$palabra->getAttribute("term").'</a> ';
                    }
                    echo '</div>';
     
                echo '</div>';
        }
    }
     
    ?>
    jai marque la ligne 32 en gras
    plz

  2. #2
    Membre émérite Avatar de Djakisback
    Profil pro
    Inscrit en
    Février 2005
    Messages
    2 023
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 2 023
    Points : 2 273
    Points
    2 273
    Par défaut
    Salut,
    c'est peut-être dû à ta version de php qui ne supporte pas les enchaînements d'appels de méthodes. Tu peux trouver un script compatible php4, upgrader ta version ou sinon je pense qu'il faudra que tu modifies tout le code en passant par des variables intermédiaires, ceci devrait fonctionner et te donner une erreur à la ligne suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $v = $this->dom->getElementsByTagName('entry');
    $this->video = $v->item(0);

  3. #3
    Nouveau Candidat au Club
    Inscrit en
    Septembre 2008
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    merci, j'ai essayé ta solution mais il m'a annoncé une erreur sur la ligne 34 puis j'ai fait :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $a = $this->video->getElementsByTagName('title');
                                    $a = $a->item(0);
                                    $this->title = $a->textContent;
    Alors il m'a annoncé une erreur sur la ligne 57 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $id = $video->getElementsByTagName('guid')->item(0)->textContent;
    Alors là que dois-je faire ?

  4. #4
    Membre émérite Avatar de Djakisback
    Profil pro
    Inscrit en
    Février 2005
    Messages
    2 023
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 2 023
    Points : 2 273
    Points
    2 273
    Par défaut
    Il faut que tu modifies à chaque fois que tu as un enchaînement de 2 méthodes à la suite. Ex : $ttt->xxx()->yyy(); tu dois couper entre xxx() et yyy().

Discussions similaires

  1. Réponses: 12
    Dernier message: 16/05/2014, 08h47
  2. Parse error: syntax error, unexpected T_OBJECT_OPERATOR
    Par oceane751 dans le forum Langage
    Réponses: 4
    Dernier message: 24/03/2012, 20h48
  3. Réponses: 2
    Dernier message: 26/06/2007, 23h49
  4. Réponses: 4
    Dernier message: 16/10/2006, 15h16
  5. Parse error: syntax error, unexpected '}' help
    Par beur dans le forum Langage
    Réponses: 5
    Dernier message: 23/03/2006, 21h33

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