Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11

Discussione: funzione nativa php

  1. #1
    Utente di HTML.it L'avatar di ttcc
    Registrato dal
    Dec 2008
    Messaggi
    489

    funzione nativa php

    ciao a tutti,
    ho un quesito su cui sto facendo delle prove:

    esiste una funzione nativa php che verifica i dati ($_POST /$_GET) di un INPUT di un form. l'input è tipo:
    <input type="text" name="nome[]" value="">

    grazie

  2. #2
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,503
    Non è che abbia capito molto bene la tua richiesa, ma da un'occhiata a filter_var(), potrebbe essere ciò che cerchi.

  3. #3
    Utente di HTML.it L'avatar di ttcc
    Registrato dal
    Dec 2008
    Messaggi
    489
    Quote Originariamente inviata da Alhazred Visualizza il messaggio
    Non è che abbia capito molto bene la tua richiesa, ma da un'occhiata a filter_var(), potrebbe essere ciò che cerchi.
    adesso guardo...

    per spiegarti: in presenza di un form
    dove gli input sono il risultato di un foreach($array as $dati)
    si predispongono gli input con il " name="nome[]" ".
    quando con php si elaborano i dati, l'array $_POST (ad esempio) contiene diversi valori (tanti quanti sono gli input con name="nome[]"). Il punto è, appunto, verificare che i diversi valori corrispondano alle esigenze. ad esempio che siano stringhe o numeri o altro...
    spero che sia comprensibile..
    fammi sapere...

  4. #4
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,503
    Verificare semplicemente se un dato è una stringa ha poco senso, praticamente tutto in PHP può essere considerato una stringa.
    Ha senso invece verificare se si tratta di un numero o una stringa che segue delle regole precise (per esempio che abbia una lnghezza minima, che sia un indirizzo email valido...).

    Per fare queste verifiche ci sono diverse funzioni, per esempio per verificare che arrivi un numero ineroopuoi usare is_int(), per verificare che una stringa abbia una certa lunghezza puoi usare strlen(), per verificare un indirizzo email puoi usare filter_var()... insomma sì, funzioni native ci sono, bisogna solo sapere che ti po di dato devi verificare.

  5. #5
    Utente di HTML.it L'avatar di ttcc
    Registrato dal
    Dec 2008
    Messaggi
    489
    Quote Originariamente inviata da Alhazred Visualizza il messaggio
    Verificare semplicemente se un dato è una stringa ha poco senso, praticamente tutto in PHP può essere considerato una stringa.
    Ha senso invece verificare se si tratta di un numero o una stringa che segue delle regole precise (per esempio che abbia una lnghezza minima, che sia un indirizzo email valido...).

    Per fare queste verifiche ci sono diverse funzioni, per esempio per verificare che arrivi un numero ineroopuoi usare is_int(), per verificare che una stringa abbia una certa lunghezza puoi usare strlen(), per verificare un indirizzo email puoi usare filter_var()... insomma sì, funzioni native ci sono, bisogna solo sapere che ti po di dato devi verificare.

    un esempio : il form...
    Codice PHP:
    <?php

    $arr
    =array('uno','due');
    ?>
    <form method="post" action="formTesto.php">

    <?php foreach($arr as $value):?>
    <input type="text" name="numero[]" value="">
    <?php endforeach;?>
    <input type="submit" name="submit">
    </form>
    il php che elabora..
    Codice PHP:
    if(is_int($_POST['numero']))
    { echo 
    "è un numero";}else {echo "non è un numero";} 
    ho provato cosi ma non riesco ad avere il primo echo

  6. #6
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,503
    Perché se come name del campo metti numero[] per lo script PHP $_POST['numero'] è un array, non una variabile semplice, prova a scrivere

    print_r($_POST['numero']);

    vedi cosa ti stampa.

  7. #7
    Utente di HTML.it L'avatar di ttcc
    Registrato dal
    Dec 2008
    Messaggi
    489
    Quote Originariamente inviata da Alhazred Visualizza il messaggio
    Perché se come name del campo metti numero[] per lo script PHP $_POST['numero'] è un array, non una variabile semplice, prova a scrivere

    print_r($_POST['numero']);

    vedi cosa ti stampa.
    già fatto
    Codice PHP:
    print_r($_POST);
    print_r($_POST['numero']); 
    funzionano bene in ambo i modi...
    ma potrei avere la necessità continuare il codice una volta che ho la certezza che quei valori sono numeri e quindi continuare con successivo codice. è qui, credo, che mi serve una funzione (nativa?) che controlli la veridicità dei dati... o no?

  8. #8
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,503
    Ma certo che funzionano, vuoi che print_r() non stampi niente?
    Ti ho chiesto di guardare COSA viene stampato da print_r($_POST['numero']), non se print_r($_POST['numero']) stampa qualcosa.

    Ti accorgerai che stampa un array, quindi $_POST['numero'] è un array (nota bene, non $_POST, ma $_POST['numero']), non sarà mai né un numero, né una stringa, né altro, è un array.

  9. #9
    Utente di HTML.it L'avatar di ttcc
    Registrato dal
    Dec 2008
    Messaggi
    489
    Codice PHP:
    Array (     [numero] => Array ([0] => [1] => 
    ecco adesso, con php, come faccio a controllare che questo array contiene sono numeri?

  10. #10
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,503
    Fai un foreach su tale array e ad ogni iterazione controlli se hai un numero o no.

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.