Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it L'avatar di Trinità76
    Registrato dal
    Jan 2002
    Messaggi
    1,439

    [php] help classe -> da dove escono fuori questi apici?

    Ecco la mia classe di qualche giorno fa:
    http://forum.html.it/forum/showthrea...hreadid=967465
    http://forum.html.it/forum/showthrea...hreadid=968658

    Codice PHP:
    Class BackParam {

        
    // [Member variables]
        
    var $backparams;

        
    // Member function
        
    function explodebackparams() {
            
    $returnvar="";
            
    parse_str($this->backparams$output);
            foreach (
    $output as $k=>$v) {
                
    $returnvar .= "<input type=\"hidden\" name=\"{$k}\" value=\"{$v}\">";
            }
            return 
    $returnvar;
        }

        function 
    returnasitis() {
            return 
    $this->backparams;
        }

        
    // Constructor function (php >=4)
        
    function BackParam($backparams) {
            
    $this->backparams $backparams;
            
    $returnvar="";
            
    parse_str($this->backparams$output);
            foreach (
    $output as $k=>$v) {
                if (!empty(
    $v)) $returnvar .= "&{$k}={$v}";
            }
            
    $this->backparams $returnvar;
        }


    In pratica con questa prendo un array di parametri passati nell'url, in questo modo:
    Codice PHP:
    $backparams = isset($_GET['backparams']) ? new BackParam(trim($_GET['backparams'])) : ""
    e poi ad esempio richiamando returnasitis() mi ritornano tutti i parametri che hanno un valore.

    Funziona bene; l'unico problema è che se un parametro ha un apice nell'url (scritto come %27) quando richiamo la funzione mi ritorna quell'apice preceduto da tre backslash!

    es:
    parametro passato -> d'aiuto
    parametro ritornato -> d\\\'aiuto

    È come se nell'url fosse passato un \' ma invece mi sono assicurato che l'apice passato è uno e non è preceduto da niente...
    :master:
    わさび

  2. #2
    prova ad usare strip_slashes x levare gli apici che il php mette "da solo" (ma dipende da come è stato compilato)

  3. #3
    Utente di HTML.it L'avatar di Trinità76
    Registrato dal
    Jan 2002
    Messaggi
    1,439
    Originariamente inviato da abmcr
    prova ad usare strip_slashes x levare gli apici che il php mette "da solo" (ma dipende da come è stato compilato)
    L'ho provato...
    sia strippando prima di formare i parametri, sia all'interno della classe nel constructor, ma non succede niente.
    Anche mettendone dieci di fila dentro il constructor mi ritorna sempre \'
    わさび

  4. #4
    Utente di HTML.it L'avatar di mamo139
    Registrato dal
    May 2005
    residenza
    Londra
    Messaggi
    841
    colpa del server che ti ospita!! a me lo fa altervista per esempio...
    basta uno stripslashes oppure la funzione per rimuovere parti da una stringa....

  5. #5
    Utente di HTML.it L'avatar di Trinità76
    Registrato dal
    Jan 2002
    Messaggi
    1,439
    Originariamente inviato da mamo139
    colpa del server che ti ospita!! a me lo fa altervista per esempio...
    basta uno stripslashes oppure la funzione per rimuovere parti da una stringa....
    Ci ho provato ma almeno uno me lo lascia sempre...
    わさび

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 © 2024 vBulletin Solutions, Inc. All rights reserved.