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

    Inserire il tipo dati nel campo input

    Buongiorno
    se chiedo il tipo di dato passato dopo un form con metodo post il risultato è questo
    Codice PHP:
    foreach ($_POST as $value => $key) {    echo gettype($value), $key<br />\n";}

    // stampa questi risultati
    /*
    string xxxxx@gmail.com
    string 333...... <- sarebbe il cellulare
    string 167 <- sarebbe id citta
    string update  <- sarebbe il bottone di submit
    */ 

    tutti i dati, indipendentemente se numeri o stringhe, vengono riconosciuti come string

    è possibile inviare il tipo dati in modo che gettype() riconosca il vero tipo: int, string, varchar...?
    ---------------------------
    danielix05

  2. #2
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    Codice PHP:
    foreach ($_POST as $key => $value
    {
        echo 
    gettype($value) . $value<br />\n";

    Altrimenti dentro al gettype() ci metti la chiave della entry, non il valore e la chiave è sempre una stringa.

    PHP si basa sulla posizione delle variabili, non sul nome, non sa che $value è il valore se non lo metti dopo l'operatore =>

    Potresti scrivere anche
    foreach ($_POST as $pippo => $ciccio)

    funzionerebbe comunque, dentro a $pippo ci sarebbero le chiavi, dentro a $ciccio i valori, a PHP non importa come chiami le variabili.
    Ultima modifica di Alhazred; 30-10-2015 a 13:02

  3. #3
    Quote Originariamente inviata da Alhazred Visualizza il messaggio
    Codice PHP:
    foreach ($_POST as $key => $value
    {
        echo 
    gettype($value) . $value<br />\n";

    .....
    Grazie Alhazred, ma in questo modo viene stampato sempre questo risultato:
    codice:
    string info@sito.com
    string 06xxxxxx
    string nome
    string Piazza Italia, 3
    string 172
    string update
    tutte le variabili sono di tipo "string"

    il penultimo valore, per esempio, dovrebbe essere INT 172.
    Non so se mi sono spiegato.
    ---------------------------
    danielix05

  4. #4
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    Ho fatto qualche prova, a quanto pare tutte le variabili che arrivano da un form vengono trattate come stringhe.

  5. #5
    Utente di HTML.it L'avatar di .Kurt
    Registrato dal
    Jul 2007
    Messaggi
    654
    Non vedo come possa essere altrimenti. Ciò che ti arriva può essere o una stringa o un array. Ma non te ne devi preoccupare più di tanto. "172" == 172 -> il confronto è numerico => true.

  6. #6

    Sfruttare array per creare un update automatico

    Quote Originariamente inviata da .Kurt Visualizza il messaggio
    Non vedo come possa essere altrimenti. Ciò che ti arriva può essere o una stringa o un array. Ma non te ne devi preoccupare più di tanto. "172" == 172 -> il confronto è numerico => true.
    Volevo sfruttare l'array del post per creare un update che recuperasse tutti i post, creando un codice in automatico. Una specie di query parametrica.

    Ma per un maggiore controllo a volte si ha la necessità di aggiungere delle funzioni alle variabili di tipo stringa: addslashes eccetera.

    Se non ho il controllo dei tipi non posso percorrere questa strada.

    Altre idee?
    ---------------------------
    danielix05

  7. #7
    ---------------------------
    danielix05

  8. #8
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    Esistono funzioni per verificare che tipo di dato stai usando, per esempio is_int() che ti dice se la variabile è un intero o no.
    Andando al link indicato, sulla colonna di destra trovi tutte le altre funzioni is_xxxx()

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.