Visualizzazione dei risultati da 1 a 5 su 5

Discussione: pagerank non va...

  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2001
    residenza
    Napoli, Italia
    Messaggi
    1,074

    pagerank non va...

    strano (come al solito...) problema: ho una pagina, con il codice per pubblicare il pagerank di Google; la pagina si apre con queste stringhe:
    Codice PHP:
    <?
    $_REQUEST
    ["url"] = isset($_REQUEST["url"]) ? $_REQUEST["url"] : 'http://www.magmart.it/'
    require(
    'pagerank.php');
    ?>
    il file pagerank.php è questo:
    Codice PHP:
    <?
    define
    ('GOOGLE_MAGIC'0xE6359A60); 
    function 
    zeroFill($a$b

        
    $z hexdec(80000000); 
            if (
    $z $a
            { 
                
    $a = ($a>>1); 
                
    $a &= (~$z); 
                
    $a |= 0x40000000
                
    $a = ($a>>($b-1)); 
            } 
            else 
            { 
                
    $a = ($a>>$b); 
            } 
            return 
    $a

    function 
    mix($a,$b,$c) { 
      
    $a -= $b$a -= $c$a ^= (zeroFill($c,13)); 
      
    $b -= $c$b -= $a$b ^= ($a<<8); 
      
    $c -= $a$c -= $b$c ^= (zeroFill($b,13)); 
      
    $a -= $b$a -= $c$a ^= (zeroFill($c,12)); 
      
    $b -= $c$b -= $a$b ^= ($a<<16); 
      
    $c -= $a$c -= $b$c ^= (zeroFill($b,5)); 
      
    $a -= $b$a -= $c$a ^= (zeroFill($c,3));    
      
    $b -= $c$b -= $a$b ^= ($a<<10); 
      
    $c -= $a$c -= $b$c ^= (zeroFill($b,15)); 
      return array(
    $a,$b,$c); 

    function 
    GoogleCH($url$length=null$init=GOOGLE_MAGIC) { 
        if(
    is_null($length)) { 
            
    $length sizeof($url); 
        } 
        
    $a $b 0x9E3779B9
        
    $c $init
        
    $k 0
        
    $len $length
        while(
    $len >= 12) { 
            
    $a += ($url[$k+0] +($url[$k+1]<<8) +($url[$k+2]<<16) +($url[$k+3]<<24)); 
            
    $b += ($url[$k+4] +($url[$k+5]<<8) +($url[$k+6]<<16) +($url[$k+7]<<24));  
            
    $c += ($url[$k+8] +($url[$k+9]<<8) +($url[$k+10]<<16)+($url[$k+11]<<24)); 
            
    $mix mix($a,$b,$c); 
            
    $a $mix[0]; $b $mix[1]; $c $mix[2]; 
            
    $k += 12
            
    $len -= 12
        } 
        
    $c += $length
        switch(
    $len)              
        { 
            case 
    11$c+=($url[$k+10]<<24); 
            case 
    10$c+=($url[$k+9]<<16); 
            case 
    $c+=($url[$k+8]<<8); 
            case 
    $b+=($url[$k+7]<<24); 
            case 
    $b+=($url[$k+6]<<16); 
            case 
    $b+=($url[$k+5]<<8); 
            case 
    $b+=($url[$k+4]); 
            case 
    $a+=($url[$k+3]<<24); 
            case 
    $a+=($url[$k+2]<<16); 
            case 
    $a+=($url[$k+1]<<8); 
            case 
    $a+=($url[$k+0]); 
        } 
        
    $mix mix($a,$b,$c); 
        return 
    $mix[2]; 

    function 
    strord($string) { 
        for(
    $i=0;$i<strlen($string);$i++) { 
            
    $result[$i] = ord($string{$i}); 
        } 
        return 
    $result

    function 
    getrank($url) { 
        
    $url 'info:'.$url
        
    $ch GoogleCH(strord($url)); 
        
    $file "http://www.google.com/search?client=navclient-auto&ch=6$ch&features=Rank&q=$url"
        
    $data file($file); 
        
    $rankarray explode (':'$data[2]); 
        
    $rank $rankarray[2]; 
        return 
    $rank

    $PR getrank($_REQUEST["url"]);
    ?>
    quindi, sempre nella prima pagina, ho questa stringa finale:
    Codice PHP:
    <? echo $PR?>
    Risultato: zero!
    Non mi mostra assolutamente alcun valore. Aggiungo che:
    1) lo stesso identico codice, utilizzato nello stesso identico modo su un'altro dominio (ed ovviamente, cambiando l'URL...), funziona perfettamente;
    2) naturalmente, il dominio ha un pagerank, per la precisione 5/10.
    Secondo voi, perchè qui non mi funziona?
    metatad
    graphic & web design

  2. #2
    forse hai una vecchia versione di php in cui $_REQUEST non esiste o si chiama in altro modo (mo' nonr icordo)...?

    prova prima di tutto a stampare i valori in $_REQUEST per vedere se arrivano...

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2001
    residenza
    Napoli, Italia
    Messaggi
    1,074
    No, il problema non è lì...
    Intanto, i due diversi domini stanno sullo stesso server. Inoltre, se faccio:
    Codice PHP:
    $_REQUEST["url"] = isset($_REQUEST["url"]) ? $_REQUEST["url"] : 'http://www.magmart.it/'
    require(
    'pagerank.php');
    echo 
    $_REQUEST["url"]; 
    mi restituisce http://www.magmart.it/... e del resto, cos'altro potrebbe dare?
    Comunque, sai dirmi qual'e - odove posso trovare - l'alternativa a $_REQUEST?
    metatad
    graphic & web design

  4. #4
    Originariamente inviato da metatad
    mi restituisce http://www.magmart.it/... e del resto, cos'altro potrebbe dare?
    un errore, se non ci fosse $_REQUEST...
    Comunque, sai dirmi qual'e - odove posso trovare - l'alternativa a $_REQUEST?
    se va, non c'è alternativa.. quella era in caso di vecchia versione PHP in cui $_REQUEST non c'era

    Così su due piedi non so che dirti..
    ùdebugga.. stampa valori in diversi punti dello script e vedi fin dove va tutto ok.. dopo di che avrai qualche indizio in più su quello che non va...


  5. #5
    Utente di HTML.it
    Registrato dal
    Sep 2001
    residenza
    Napoli, Italia
    Messaggi
    1,074
    Ho risolto altrimenti: ho trovato un'altro script, che funziona...
    Grazie 1Mb lo stesso...
    metatad
    graphic & web design

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.