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

Discussione: valore "zero"

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

    valore "zero"

    salve a tutti
    ho un problemino
    vorrei passare un valore "zero" (0) da un form con radio button ma non ci riesco....mi dice che non ho imputato il dato:
    ecco uno stralcio del form
    Codice PHP:
    ......
    echo 
    "<td><input type=\"radio\" name=\"ora1\" value=\"0\">(0);</td>"
    echo 
    "<td><input type=\"radio\" name=\"ora1\" value=\"1\">(1);</td>"
    ecco il file contine la query:

    Codice PHP:
    ....
    if (!empty(
    $_POST['ora1'])== ""
        { echo die (
    "non hai imputato le ore di presenza all'allievo 1");                 }                     
    else 

    $presenza1 $_POST['ora1']; 

    se clicco il radio button del valore uno tutto ok
    seclicco il radio button del valore zero mi dice che ("non hai imputato le ore di presenza all'allievo 1")
    perchè

  2. #2

  3. #3
    Utente di HTML.it L'avatar di mgfx
    Registrato dal
    Feb 2008
    Messaggi
    173
    ma perchè non fai direttamente

    if ($_POST['ora1'] == "")
    { echo("non hai imputato le ore di presenza all'allievo 1"); }

  4. #4
    Perchè così facendo potrebbe sollevare un notice undefined index ...

  5. #5
    Utente di HTML.it L'avatar di mgfx
    Registrato dal
    Feb 2008
    Messaggi
    173
    ha ok xD

  6. #6
    Ho corretto la query; copiala e sostituiscila a quella errata che hai:

    Codice PHP:
    if ($_POST['ora1']== "")
        { 
        die (
    "non hai imputato le ore di presenza all'allievo 1");                 }                     
    else
    {
    $presenza1 $_POST['ora1'];
    echo 
    $presenza1;

    Ciao.

  7. #7
    Utente di HTML.it L'avatar di ttcc
    Registrato dal
    Dec 2008
    Messaggi
    489
    ma il il valore "0" lo devo passare!. anche se per empty è false.
    dunque:
    di fatto nel radio box ho come valori 0, 1, 2, 3, ecc
    l'operatore deve scegliere tra 0 e \n quindi devo avere la possibilità di passare anche 0.
    quindi
    al posto del value 0 dovrei mettere "zero" scritto in lettere:
    Codice PHP:
    echo "<td><input type=\"radio\" name=\"ora1\" value=\"zero\">(0);</td>"
    e lo script mi funziona bene.
    il problema che ho è come faccio a scrivere sul db il numero "0 ?
    senza che 0 venga letto come false?
    adesso mi leggerò il manuale di php
    fatemi sapere in merito

  8. #8
    Scusami, ma cosa c'entra prelevare lo 0 da un database con prelevare lo zero da un form tramite $_POST?

    Devi impostare in ogni caso il database ad INT (cioè intero) e non VARCHAR o TEXT.

  9. #9
    Utente di HTML.it L'avatar di ttcc
    Registrato dal
    Dec 2008
    Messaggi
    489
    Scusami, ma cosa c'entra prelevare lo 0 da un database con prelevare lo zero da un form tramite $_POST?
    forse non ho capito. non devo prelevare, devo insert
    scrivendo in lettere zero il valore dalla funzione "empty" mi viene riconosciuto true se invece scrivo 0 mi da false.
    ora il problema (quasi tutto in tempo reale) devo verificare se tale valore ("zero") nel db mi viene scritto int "0".


    Devi impostare in ogni caso il database ad INT (cioè intero) e non VARCHAR o TEXT.
    il campo è già INT decimale


  10. #10
    Scusami, ma tu mi dici che la stringa "zero" ti dà true, mentre 0 ti restituisce false.

    Ora vorrei farti una domanda: che senso ha questo che hai scritto:

    Codice PHP:
    if (!empty($_POST['ora1'])== ""
    con quello che devi fare. Visto che devi far passare lo 0, non ti basta sapere se il radiobox sia stato valorizzato con

    Codice PHP:
    if (isset($_POST['ora1'])) 
    o con:

    Codice PHP:
    if(empty($_POST['ora1'])) 
    ?

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.