Visualizzazione dei risultati da 1 a 6 su 6

Discussione: Dubbio apici

  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2007
    Messaggi
    260

    Dubbio apici

    Ciao a tutti,
    ho creato un form di registrazione e sembra funzionare tutto correttamente.
    Il mio dubbio era la gestione degli apici...

    codice:
    $nome = (isset($_POST['nome'])) ? str_replace("'", "'", htmlspecialchars(trim($_POST['nome']))) : '';
    
    	if (!get_magic_quotes_gpc()) {
        	$nome = addslashes($nome);
    	}
    Mentre nel form ho inserito

    codice:
    <input type="text" id="nome" name="nome" value="<?php echo stripslashes($nome);?>" tabindex="1" maxlength="100" />
    L'inserimento nel database funziona e mi lascia inalterati sia gli apici che i doppi apici(e qui vorrei sapere se è un bene o è meglio aggiungere gli slash), e risulta anche corretto nell'input il value nel caso debba recuperare il valore in caso di errore su altri campi.

    Ringrazio chiunque possa darmi un suggerimento o fare chiarezza.
    Ciao a tutti!

  2. #2
    Studiati questo codice:

    Codice PHP:
    <?php

    $nome 
    = isset($_POST['nome']) ? $_POST['nome'] : '';
    $nome get_magic_quotes_gpc() ? stripslashes($nome) : $nome;

    $html sprintf('<input type="text" name="nome" value="%s" />'htmlentities($nomeENT_QUOTES));

    $sql sprintf('SELECT * FROM table WHERE nome = "%s"'mysql_real_escape_string($nome));

    ?>

  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2007
    Messaggi
    260
    mmm...penso si sia capito che di php ne so poco e niente...che significa value="%s"???Da dove esce?

    in poche parole da quello che ho capito devo riscrivere per tutte le variabili ad es..
    codice:
    <?php
    
    $nome = isset($_POST['nome']) ? $_POST['nome'] : '';
    $nome = get_magic_quotes_gpc() ? stripslashes($nome) : $nome;
    
    $html = sprintf('<input type="text" name="nome" value="%s" />', htmlentities($nome, ENT_QUOTES));
    
    $cognome = isset($_POST['cognome']) ? $_POST['cognome'] : '';
    $cognome = get_magic_quotes_gpc() ? stripslashes($cognome) : $cognome;
    
    $html1 = sprintf('<input type="text" name="cognome" value="%s" />', htmlentities($cognome, ENT_QUOTES));
    
    
    ?>
    e nel form html a questo punto invece che inserire l'input normalmente lo faccio stampare con
    codice:
    <form action="<?=$_SERVER['PHP_SELF']?>" method="post">
    <?php echo $html;?>
    <?php echo $html1;?>
    ...
    </form>
    giusto???

  4. #4
    Utente di HTML.it
    Registrato dal
    Mar 2007
    Messaggi
    260
    ragazzi sono fermo, qualcuno gentilmente potrebbe confermare quanto detto sopra?
    grazie ancora

  5. #5
    Utente di HTML.it
    Registrato dal
    Mar 2007
    Messaggi
    260
    ciao filippo.toso, quello che mi hai postato me lo sono studiato,

    codice:
    <?php
    
    $nome = isset($_POST['nome']) ? $_POST['nome'] : '';
    $nome = get_magic_quotes_gpc() ? stripslashes($nome) : $nome;
    
    $html = sprintf('<input type="text" name="nome" value="%s" />', htmlentities($nome, ENT_QUOTES));
    
    $sql = sprintf('SELECT * FROM table WHERE nome = "%s"', mysql_real_escape_string($nome));
    
    ?>
    quello che non mi spiego è quel value="%s" e il motivo di fare stampare a php il form html e non solo il valore del value..

    ciao
    grazie ancora

  6. #6
    Utente di HTML.it
    Registrato dal
    Mar 2007
    Messaggi
    260
    ok me lo sono andato a studiare...
    se puo tornare utile a qualcuno...

    La funzione printf mostra il testo direttamente, mentre sprintf assegna a una stringa il valore restituito.

    il carattere "%" è detto specificatore, mentre "s" è detto argomento, nel nostro caso s indica che l'argomento è trattato e presentato come una stringa.

    correggetemi se sbaglio!

    Ciao a tutti

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.