Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 20
  1. #1

    Visualizzazione scritta dopo click submit

    Ciao a tutti, ho un piccolo problema che mi sta un pò esaurendo
    Ho creato una pagina in cui c'è un form per modificare i propri dati, e utilizzo un codice php per fare l'update nel db mysql.
    Ho un problema in questa parte di codice:
    Codice PHP:
    <?
    $email
    =$_POST['email'];
    $pattern="^[^@ ]+@[^@ ]+\.[^@ \.]+$";
    if(!
    ereg($pattern,$email))
    {
    echo 
    "$email non e' un'email valida per cui verra' ripristinata la precedente.";
    } else {
        
    mysql_query(
            UPDATE pannellomod 
            SET email = '" 
    $_POST['email'] . "'
            WHERE username = '"
    .$user."' 
                 "
    );
    }
    ?>
    come è facilmente intuibile dal codice, controllo se nel post email c'è una "@" e un ".".
    Se l'email non è corretta viene mostrato l'eco "$mail non è un email...", se invece l'email è corretta fa l'update al db.
    Il problema che ho è che il messaggio viene visualizzato ancor prima che l'utente possa cliccare il submit per creare l'$_POST. Esce scritto "non è un'email valida..." saltando appunto l'email perchè non è stata scritta.
    Come posso fare in modo che il testo venga visualizzato solo dopo aver cliccato il submit?

    Grazie a tutti per l'aiuto

  2. #2
    presumo che il codice php sia nella stessa pagina del form.
    dovresti quindi aggiungere un input di tipo hidden, o semplicemente assegnare un name al pulsante di submit, che controllerai all'inizio dello script

    Codice PHP:
    <?php
    if (isset($_POST['done']))
    {
       
    // tuo codice
    }
    ?>

    <form ...>
    <input type="hidden" name="done" />
    ...
    </form>

  3. #3
    Grazie funziona

    Se volessi fare in modo che venga visualizzata la data di nascita?
    Mi spiego meglio, ho una <select name="annonascita"><option value="1960"> fino a <option value="2000">
    Se vado a fare submit aggiorna nel db, ma come posso fare a far visualizzare ciò che è scritto nel db? ad esempio 1997?

  4. #4

  5. #5
    costruisci il select dinamicamente e se l'anno di nascita coincide con quello del db fai un
    <option value="1997" selected>1997</option>

  6. #6
    quindi mi puoi postare il codice mettendo 2-3 esempi?Grazie mille

  7. #7
    up per favore è urgente

  8. #8
    Codice PHP:
    <?php
    $data_di_nascita_utente 
    1982// pescato dal db

    echo '<select name="nascita">';
    echo 
    '<option>Seleziona data di nascita</option>';
    for(
    $i=1910$i<=date('Y'); $i++)
        {
        
    $select '';
        if(
    $i ==  $data_di_nascita_utente)
            {
            
    $select ' selected';
            }
        echo 
    '
            <option value="'
    .$i.'"'.$select.'>'.$i.'</option>';
        }
    echo 
    '</select>'
    ?>

  9. #9
    e per più campi come posso fare?

  10. #10
    Ti chiedo scusa, ma non avevo visto il codice e ho fatto direttamente copia-incolla...
    Guardandolo ho capito che non c'è la visualizzazione del campo nel db, ma bensì il numero che hai inserito ossia 1982, quindi cosa posso inserire per far vedere il numero già presente nel db?
    PS=l'update già lo ho pronto, quindi il problema è solo questo

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.