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

    controllo campi form x invio dati al db

    Ciao a tutti,
    sto provando per la prima volta a fare un form molto semplice (solo 3 campi: titolo, autore, voto) che invia i dati al mio primo database MySql, fin qui tutto OK, ci sono riuscita e il mio database si popola correttamente.

    Quello che non mi viene, e sicuramente sbaglio a scrivere il codice, è il controllo dei campi form:
    - se sono tutti compilati vorrei che apparisse la scritta "OK..."
    - se uno o più sono vuoti vorrei che apparisse la scritta "ATTENZIONE..."


    Vi riporto qui sotto il mio script:

    <?php

    if (empty($_POST['titolo']) || empty($_POST['autore']) || empty($_POST['voto'])) {
    echo "
    [b]Attenzione! Il modulo non è stato inviato perché uno o più campi non sono stati compilati.";
    }

    else {

    include "config.php"; // includo il file di connessione al Db
    $sql="INSERT INTO libri (titolo, autore, voto) VALUES ('$titolo','$autore','$voto')";
    $query=@mysql_query($sql) or die (mysql_error());
    echo "
    [b]Grazie, i dati sono stati inviati correttamente.";

    ?>


    Vi ringrazio come sempre per l'aiuto.
    Buona giornata a tutti

  2. #2
    Il codice sembra giusto, dovrebbe funzionare. Posta anche la pagina con il form, magari l'errore è li
    PHP LEARN - Guide, tutorial e articoli sempre aggiornati
    NUOVO: standardLib; il potente framework PHP é ora disponibile
    *******************************************
    Scarica oggi la tua copia di MtxEventManager

  3. #3
    Utente di HTML.it
    Registrato dal
    Jun 2009
    Messaggi
    119
    Forse le variabili nel form non vengono passate col POST?

    Ad esempio nella query metti le variabili già definite

    Codice PHP:
    $titolo','$autore','$voto
    quindi immagino che prima le definirai (a meno di usare "register_globals"...).

    Prova a usare quelle variabili nella condizione dell' if.

    Ciao.



    ---------------------------------------------------

    Parma - Turismo

  4. #4
    ti sei dimenticata la parentesi alla fine ma forse è un problema di copia incolla?
    Comunque io l'avrei scritta così:

    if ( $_POST['titolo'] == '' || $_POST['autore'] == '' || $_POST['voto'] == '') {
    echo "
    [b]Attenzione! Il modulo non è stato inviato perché uno o più campi non sono stati compilati.";

    }else{

    include "config.php"; // includo il file di connessione al Db
    $sql="INSERT INTO libri (titolo, autore, voto) VALUES ('$titolo','$autore','$voto')";
    $query=@mysql_query($sql) or die (mysql_error());
    echo "
    [b]Grazie, i dati sono stati inviati correttamente.";

    }

    Poi io farei un var_dump di $_POST per vedere se realmente sono passati in post i valori.
    E come ultima cosa come mai non fai questo controllo in javascript?

  5. #5
    Ringrazio tutti, soprattutto "cristianb88" :-)
    era proprio la parentesi che avevo dimenticato!!

    Ora funziona, grazie ancora.

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.