Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2004
    Messaggi
    12

    Passaggio di un parametro con APICI

    Con una select estraggo il campo cognome (O'Nell) dal db mysql, lo stampo a video e ok. Poi lo passo come campo hidden.
    Quando lo recupero con HTTP_POST_VARS mi prende solo la prima parte (O')...

    // stampa a video corretta
    print"<td>".$utenti["u_nome"]."</td>";

    // passaggio parametro
    print"<input type='hidden' name='nome' value='".$utenti["u_nome"]."'";

    --- dall'altra parte:

    // recupero il parametro
    $nome = $HTTP_POST_VARS["nome"];
    // provo a stamparlo
    print " nome ".$nome;
    // ottengo: nome O

    // ho provato a passare il parametro con la addslashes
    // (si prova di tutto no?)
    print"<input type='hidden' name='nome' value='".addslashes($utenti["u_nome"])."'";

    --- ma anche questa volte dall'altra parte:

    // recupero il parametro
    $nome = $HTTP_POST_VARS["nome"];
    // provo a stamparlo
    print " nome ".$nome." senza slash ".stripslashes($nome);
    // ottengo: nome O\\ senza slash O\



    Perchè non mi prende il resto del campo?
    Devo sostituire / con qualcos'altro?


  2. #2
    codice:
    print "<input type='hidden' name='nome' value=\"$utenti[u_nome]\" >";
    sempre che ci siano le magic quote in on.



    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2004
    Messaggi
    12



    Non riesco a posizionare in modo corretto i due \..\ che mi hai segnalato...Troppi apici e virgolette!

    Dove devo metterli?

    print"<input type='hidden' name='nome' value=' ".$utenti["u_nome"]." ' ";

    E che funzione hanno?

    Grazie infinite!

  4. #4
    Utente di HTML.it
    Registrato dal
    Nov 2004
    Messaggi
    12
    Ok, ok, ci sono!
    Ce l'ho fatta!

    Ma che funzione hanno?

  5. #5
    Originariamente inviato da martuzza
    Ok, ok, ci sono!
    Ce l'ho fatta!

    Ma che funzione hanno?
    value=\"$utenti[u_nome]\"

    se metti apici semplici 'stringa' e queste delimitano una stringa con all'interno un'altro apice es.: 'O'Neil' il primo apice incontrato dopo l'inizio viene valutato come fine stringa. Se metti il carattere di escape 'O\'NEIL' questo viene valutato dalle magic quote che aggiungeranno alcune barre ... 'O\\\'Neil'.

    Quindi essendo il nome all'interno di una stringa che passi a print con i doppi apici, ecco che devi giocoforza mettere i doppi apici al nome "O'NEIL" in modo da non interrompere il nome, ma nello stesso tempo devi mettere il carattere di escape \" ai doppi apici per dire a print che quel doppio apice non significa fine stringa.

    Ahh!!... ora vado a bere... piu' difficile da spiegare che da capire.


    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  6. #6
    Utente di HTML.it
    Registrato dal
    Nov 2004
    Messaggi
    12


    CHIARO!!!
    Hai un futuro come insegnante!

    Grazie ancora

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.