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

    dubbi sulla valorizzazione delle variabili con metodo post o get

    Vi spiego: vorrei sapere in che modo testare se una variabile ricevuta da un form con metodo post è vuota. Ma andando a monte che cosa succede se sottometto un form e alcune caselle sono vuote? che cosa contengono le variabili post, dei valori nulli? spazio? oppure sono indefinite?

    posto questo codice per chiarire meglio il concetto:

    Codice PHP:
    if (!isset($_POST['autore']))
    {
    $autore "%";
    }
    else
    {
    $autore $_POST['autore'];

    la variabile autore non dovrebbe contenere nulla perché ho lasciato la casella corrispondente nel form della pagina precedente vuota.
    il problema è che quando stampo £autore non viene fuori nulla mentre dovrebbe apparire questo simbolo: %.
    chiedo lumi, grazie

    holden

  2. #2
    Utente di HTML.it L'avatar di eraclito
    Registrato dal
    May 2002
    Messaggi
    1,273

    Re: dubbi sulla valorizzazione delle variabili con metodo post o get

    [supersaibal]Originariamente inviato da holden_1972
    Vi spiego: vorrei sapere in che modo testare se una variabile ricevuta da un form con metodo post è vuota. Ma andando a monte che cosa succede se sottometto un form e alcune caselle sono vuote? che cosa contengono le variabili post, dei valori nulli? spazio? oppure sono indefinite?

    posto questo codice per chiarire meglio il concetto:

    Codice PHP:
    if (!isset($_POST['autore']))
    {
    $autore "%";
    }
    else
    {
    $autore $_POST['autore'];

    la variabile autore non dovrebbe contenere nulla perché ho lasciato la casella corrispondente nel form della pagina precedente vuota.
    il problema è che quando stampo £autore non viene fuori nulla mentre dovrebbe apparire questo simbolo: %.
    chiedo lumi, grazie

    holden [/supersaibal]
    non ho provato, ma così ad occhio il form crea la variabile $POST['autore'] anche se il campo è vuoto.

    prova con:

    if ($_POST['autore']=='')
    {
    $autore = "%";
    }
    L'apprendere molte cose non insegna l'intelligenza
    Voglio avere dubbi più chiari

  3. #3
    Ho provato questo codice:

    Codice PHP:

    if ($_POST['autore']=="")
    {
    $autore "%";
    }
    else
    {
    $autore $_POST['autore'];
    }
    if (
    $_POST['titolo']=="")
    {
    $titolo "%";
    }
    else
    {
    $titolo $_POST['titolo'];
    }
    if (
    $_POST['scaffale']=="")
    {
    $scaffale "%";
    }
    else
    {
    $scaffale $_POST['scaffale'];
    }
    if (
    $_POST['riservato']=="")
    {
    $riservato "%";
    }
    else
    {
    $riservato $_POST['riservato'];
    }
    echo 
    $titolo;
    echo 
    $autore;
    echo 
    $scaffale;
    echo 
    $riservato
    ma vengono stampate solo titolo che è valorizzata correttamente da form e autore che non essendo valorizzata da form dà %, non capisco perché le ultime due variabili non le controlla, credo che non risultino vuote, e non so più come gestirle,

    holden

  4. #4
    Utente di HTML.it L'avatar di eraclito
    Registrato dal
    May 2002
    Messaggi
    1,273
    [supersaibal]Originariamente inviato da holden_1972


    ma vengono stampate solo titolo che è valorizzata correttamente da form e autore che non essendo valorizzata da form dà %, non capisco perché le ultime due variabili non le controlla, credo che non risultino vuote, e non so più come gestirle,

    holden [/supersaibal]
    prova a postare il form
    L'apprendere molte cose non insegna l'intelligenza
    Voglio avere dubbi più chiari

  5. #5
    TIPS

    All'inizio della pagina dove ricevi il form mettici come debug la stampa dell'array POST. Cosi' vedi che cosa hai effettivamente.

    echo "<pre>";
    print_r($_POST);

    e' il debug per eccellenza.


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

  6. #6
    Codice PHP:
    if (!isset($_POST['autore']))
    {
    $autore "%";
    }
    else
    {
    $autore $_POST['autore'];

    questo controllo verifica se la variabile 'autore' passata attraverso POST esiste, ed infatti esiste (anche se è vuota).
    questo controllo insomma non ti dice se la variabile è vuota.

    il controllo per eccellenza è questo:

    Codice PHP:
    if (isset($_POST['autore']) && !empty($_POST['autore']))
    {
    $autore $_POST['autore'];
    }
    else
    {
    $autore "%";


  7. #7
    Grazie raga ho risolto, il problema era nel form nell'impostazione di default delle due select, invece di mettere "" avevo messo " ", quindi c'era uno spazio html, ciao,

    holden

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.