Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    La funzione non funziona!

    Salve. Ho creato questa funzione che mi permette di modificare una stringa di testo per evitare che vada in conflitto con l'HTML o con il PHP



    codice:
    function preparingtxt($campo,$text)
            {
    		   $text = str_replace("<", "&lt;", "$text");
    	       $text = str_replace(">", "&gt;", "$text");
    	       //rendo la stringa tutta minuscola
    	       $text = strtolower($text);
    		   //rendo la prima lettera maiuscola
    	       $text = ucfirst($text);
    		   
    		   return $$campo = "$text 2";
    		}
    Come vedete gli input sono due: $campo che mi permette di inserire il nome del campo passato (i valori provengono da un form) e $text che passa il testo del campo. Questo per far si che io possa usare la funzione universalmente poichè alla fine ricostruise la variabile modificata. Il problema è che la funzione non funziona nel senso che non solo non modifica la stringa ma se io volessi stampare qualcosa tipo <ciao> non stampa! Cioè, nel sorgente c'è ma a video no! Cosa devo fare? Per passare i dati alla funzione uso questa forma:

    preparingtxt('field',"$value");
    eCommerceRS.NET - Commerciante, vendi on-line!
    Il mio nick è mircov e non mirco!!!

  2. #2
    scusa eh
    codice:
    return $$campo = "$text 2";
    ma hai idea di quello che hai scritto si ?!

  3. #3
    Certo che ne ho idea!

    return $$campo = "$text 2";

    $$campo = in questo modo definisco una variabile che assume come nome il testo passato nel primo parametro

    $text 2 = il 2 mi serve solo per tracciare lo script e visto che non me lo stampa vuol dire che la funzione non viene eseguita anche se non ho capito bene perchè.
    eCommerceRS.NET - Commerciante, vendi on-line!
    Il mio nick è mircov e non mirco!!!

  4. #4
    Perchè, secondo te come dovrei fare? Io ho bisogno che quella funzione sia universale perchè la devo richiamare per moltissimi campi. E mi serve anche che alla fine il nome restituito sia quello inserito all'inizio della funzione come devo fare secondo te? Io non ho avuto altre idee.
    eCommerceRS.NET - Commerciante, vendi on-line!
    Il mio nick è mircov e non mirco!!!

  5. #5
    Ma cosa deve fare la funzione ?

    L'istruzione return scritta in quel modo, proprio non la capisco, mi sarei aspettato un più banale:

    return $text;

    ossia che restituisse il testo adeguatamente trattato, ma:

    return $$campo = "$text 2";

    proprio non lo capisco
    Addio Aldo, amico mio... [03/12/70 - 16/08/03]

  6. #6
    Il fatto è che a volte si cercano soluzioni più complicate di quello che dovrebbero essere. Praticamente io ho voluto ricostruire la variabile che ho prima della funzione.

    Se per esempio io ho

    $fiore = "gelsomino";

    io alla funzione passavo due parametri

    preparingtxt("fiore",$fiore)

    in questo modo, ho pensato, alla fine faccion così

    $$campo = "$text";

    La variabile campo aveva assunto il valore di fiore (passato con il primo argomento della funzione

    quindi in realtà $$campo era $fiore ($campo = "fiore")

    e $text = gelsomino


    Alla fine però mi sono reso conto che basta fare $var = preparingtxt($var); e modificare un po' la funzione. O mi sbaglio?
    Cmq grazie per l'aiuto. Ciao ciao.
    eCommerceRS.NET - Commerciante, vendi on-line!
    Il mio nick è mircov e non mirco!!!

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.