Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 19
  1. #1
    Utente di HTML.it L'avatar di Lak3d
    Registrato dal
    Aug 2006
    Messaggi
    1,035

    Come controllare GET e POST

    Codice PHP:
    <HTML>
    <BODY>
    <?
    if ($_POST['Ora']!=null)
       echo (
    $_POST['Ora']);

    if(!
    is_null($_GET['par1']) && (!is_null($_GET['par2']))
       echo (
    "ci sono valori get");
    else
       echo 
    "Non ci sono valori get";   

    <
    FORM ACTION="prova.php" NAME="Orario" METHOD=POST>
    <
    input type=Checkbox value=Ciao>
    <
    input type=text name="Ora">
    <
    input type=submit value="Invia">
    </
    FORM>
    [
    url="prova.php?par1=edit&par2=stv"]click[/url]</BODY>
    scusate, ma la guida di html.it mi è di poco aiuto...
    Come posso evitare che all'apertura mi dia un errore di undefined mode? Se vado di get, me lo da sul post e viceversa...
    Ho provato is_null, is_empty ecc ma non riesco a risolvere, nemmeno con Google...

    Gracias.

  2. #2
    isset se vuoi vedere se esiste o meno, ti darà true anche se è vuoto

  3. #3
    Utente di HTML.it L'avatar di Lak3d
    Registrato dal
    Aug 2006
    Messaggi
    1,035
    e quindi a che mi serve isset se restituisce true anche se è vuoto?
    Per inciso... l'avevo già provata ma continua a dare errore.

    So che is_null se la variabile è indefinita genera un errore notice, ma deve esserci una soluzione... è impossibile che non esista un modo per verificare se una querystring è vuota...

  4. #4
    codice:
    if(isset($_POST['Ora']) && strlen($_POST['Ora']) > 0)
    	echo ($_POST['Ora']);
    if((isset($_GET['par1']) && strlen($_GET['par1']) > 0) || (isset($_GET['par2']) && strlen($_GET['par2']) > 0))
    	echo ("ci sono valori get");
    else
    	echo "Non ci sono valori get";
    P.S. leggiti anche questa pillola
    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

  5. #5
    Utente di HTML.it L'avatar di Lak3d
    Registrato dal
    Aug 2006
    Messaggi
    1,035
    Ti ringrazio, ma... a che serve isset se devi controllare anche se ci sono caratteri? :master:

  6. #6
    Utente di HTML.it L'avatar di Lak3d
    Registrato dal
    Aug 2006
    Messaggi
    1,035
    niente, non funziona... i parametri passati nella barra degli indirizzi non vengono riportati e con il post se il checkbox non viene selezionato va in errore... bah, misteri del php.

  7. #7
    Originariamente inviato da Lak3d
    Ti ringrazio, ma... a che serve isset se devi controllare anche se ci sono caratteri? :master:
    isset serve a controllare che la variabile $X, in questo caso $_POST o $_GET, con la chiave 'Y', in questo caso 'Ora' o 'part1' / 'part2' esista ed evita quindi il messaggio / notice qualora la variabile non sia settata.
    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

  8. #8
    Originariamente inviato da Lak3d
    niente, non funziona... i parametri passati nella barra degli indirizzi non vengono riportati e con il post se il checkbox non viene selezionato va in errore... bah, misteri del php.
    io sono stato "cazzuolato" da uno sviluppatore del php.... per l'uso improprio di POST

    mi ha fatto osservare che $_POST/$_GET e' sempre presente, e che la forma corretta per verificare se sono valorizzati oppure no, e' utilizzare EMPTY() e non ISSET()....
    codice:
    if(!empty($_POST['Ora']) )
    	echo ($_POST['Ora']);
    	else echo "post vuoto";
    
    if(!empty($_GET['par1']) OR !empty($_GET['par2']) )
    	echo ("ci sono valori get");
    else
    	echo "Non ci sono valori get";

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

  9. #9
    Originariamente inviato da piero.mac
    io sono stato "cazzuolato" da uno sviluppatore del php....
    e chi sarebbe costui ?


    Originariamente inviato da piero.mac
    mi ha fatto osservare che $_POST/$_GET e' sempre presente, e che la forma corretta per verificare se sono valorizzati oppure no, e' utilizzare EMPTY() e non ISSET()....
    e quale sarebbe il nesso ?
    siccome esiste l'array globale diamo per scontato che esista anche una qualunque chiave ?

    isset($_POST) è il controllo più inutile che ci sia ... ma
    isset($_POST['nome_chiave']) non ha nulla a che vedere col controllo precedente.

    Chi ti ha cazzuolato o parlava del primo caso oppure non ha le idee molto chiare sugli array del php ...

    l'alternativa è utilizzare array_key_exists('nome_chiave', $_POST) ma sia isset che array_key_exists non servono a verificare il valore vuoto della stringa (empty() o !strlen()) ... quindi il modo corretto è usare o isset o array_key_exists e poi aggiungere il controllo empty o !empty oppure !strlen o strlen
    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

  10. #10
    Originariamente inviato da andr3a
    e chi sarebbe costui ?



    e quale sarebbe il nesso ?
    siccome esiste l'array globale diamo per scontato che esista anche una qualunque chiave ?

    isset($_POST) è il controllo più inutile che ci sia ... ma
    isset($_POST['nome_chiave']) non ha nulla a che vedere col controllo precedente.

    Chi ti ha cazzuolato o parlava del primo caso oppure non ha le idee molto chiare sugli array del php ...

    l'alternativa è utilizzare array_key_exists('nome_chiave', $_POST) ma sia isset che array_key_exists non servono a verificare il valore vuoto della stringa (empty() o !strlen()) ... quindi il modo corretto è usare o isset o array_key_exists e poi aggiungere il controllo empty o !empty oppure !strlen o strlen
    belle parole le tue.

    la risposta e' sempre stata: con POST e GET usa EMPTY() ... Ci si puo' inventare ogni ben di Dio, e pensare che LUI (Dio) non avrebbe potuto fare di meglio. Ma la risposta era sempre: usa EMPTY()

    Era un discorso relativo al passaggio di dati al $_SESSION. E devo dire che analizzando successivamente il discorso ed il numero delle righe e delle funzioni usate per fare quello che fa empty() per conto suo aveva ragione lui (non Dio, l'altro).

    Poi tu sei liberissimo di farci una classe.... ovviamente


    .

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

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.