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

Discussione: aiuto php e mysql

  1. #1

    aiuto php e mysql

    CIAO a tutti dovrei risolvere una cosa abbastanza semplice ma nn conosco il codice che mi permette di fare ciò.
    vi spiego tutto :
    praticamente ho una pagina php con un form per la registrazione...tutti i dati vengoni inviati ad un database e vengono salvati al suo interno fin qui tutto ok...
    ADESSO spiego cosa vorrei fare!
    1. vorrei che alcuni campi del form siano OBBLIGATORI.
    2.vorrei che il campo mail sia riconosciuto come campo mail e no come text. grazie a chi mi aiuterà vi posto il codice...




    <?php



    $host = 'localhost';
    $id_come_utente_mysql = 'root';
    $password_per_utente_mysql = 'root';
    $nome_database = 'community';
    $nome_tabella = 'members';

    //considero una tabella con sei campi, se hai un numero maggiore di campi, modifica come necessario, e inserisci i valori corretti come li hai definiti in mysql
    $campo_zer = 'id';
    $campo_uno = 'user';
    $campo_due = 'pass';
    $campo_tre = 'nome';
    $campo_qua = 'cognome';
    $campo_cin = 'age';
    $campo_sei = 'email';

    // inserisci,se vuoi, valori più evocativi per i nomi dei campi del modulo
    $campo_zer_form = 'id';
    $campo_uno_form = 'user';
    $campo_due_form = 'pass';
    $campo_tre_form = 'nome';
    $campo_qua_form = 'cognome';
    $campo_cin_form = 'age';
    $campo_sei_form = 'email';

    $link = mysql_connect($host, $id_come_utente_mysql, $password_per_utente_mysql);
    if (!$link) {
    die ('Non riesco a connettermi: ' . mysql_error());
    }

    $db_selected = mysql_select_db($nome_database, $link);
    if (!$db_selected) {
    die ("Errore nella selezione del database: " . mysql_error());
    }





    if($_POST) {
    inserisci_record();
    }
    else {
    mostra_form();
    }

    // definizione della funzione inserisci_record()
    function inserisci_record()
    {
    //considero una tabella con sei campi, se hai un numero maggiore di campi, modifica come necessario, e inserisci i valori corretti come li hai definiti in mysql
    $campo_zer = 'id';
    $campo_uno = 'user';
    $campo_due = 'pass';
    $campo_tre = 'nome';
    $campo_qua = 'cognome';
    $campo_cin = 'age';
    $campo_sei = 'email';
    // devi assegnare a queste variabili gli stessi valori come nella definizione di mostra_form()
    $campo_zer_form = 'id';
    $campo_uno_form = 'campo_uno';
    $campo_due_form = 'campo_due';
    $campo_tre_form = 'campo_tre';
    $campo_qua_form = 'campo_qua';
    $campo_cin_form = 'campo_cin';
    $campo_sei_form = 'campo_sei';

    // recupero i campi
    $campo_uno_record = $_POST[$campo_uno_form];
    $campo_due_record = $_POST[$campo_due_form];
    $campo_tre_record = $_POST[$campo_tre_form];
    $campo_qua_record = $_POST[$campo_qua_form];
    $campo_cin_record = $_POST[$campo_cin_form];
    $campo_sei_record = $_POST[$campo_sei_form];



    // preparo la query
    $query = "INSERT INTO members ($campo_uno, $campo_due, $campo_tre, $campo_qua, $campo_cin, $campo_sei)
    VALUES ('$campo_uno_record', '$campo_due_record', '$campo_tre_record', '$campo_qua_record', '$campo_cin_record', '$campo_sei_record')";

    // invio la query
    $result = mysql_query($query);

    // controllo l'esito
    if (!$result) {
    echo "Errore nella query $query: " . mysql_error();
    }else echo "Ti Sei Registrato Con Successo!";


    }

    // definizione della funzione mostra_form()
    function mostra_form()
    {
    // inserisci,se vuoi, valori più evocativi per i nomi dei campi del modulo

    $campo_uno_form = 'campo_uno';
    $campo_due_form = 'campo_due';
    $campo_tre_form = 'campo_tre';
    $campo_qua_form = 'campo_qua';
    $campo_cin_form = 'campo_cin';
    $campo_sei_form = 'campo_sei';

    echo '


    Area Di Registrazione</p>

    <hr>



    <form name=form_registrazione method=post action='.$_SERVER['PHP_SELF'].' >
    User:

    <input name="'.$campo_uno_form.'" type=text />
    </label>




    Pass:


    <input name="'.$campo_due_form.'" type=text />

    </p>



    Nome:

    <input name="'.$campo_tre_form.'" type=text />

    </p>


    Cognome:

    <input name="'.$campo_qua_form.'" type=text />

    </p>


    Age:

    <input name="'.$campo_cin_form.'" type=text />

    </p>


    Email:

    <input name="'.$campo_sei_form.'" type=text />

    </p>




    <hr>
    <input name="invia" type="submit" value="Registrati" />
    </p>
    </form>
    ';
    }



    ?>

  2. #2
    I campi del form obbligatori li rendi "not null" nel database, così se si prova a lasciarli bianchi si ha un errore (che dovrai gestire).

    Cosa sarebbe un campo di tipo mail scusa??
    Can You See Curtains? Then Isn't Windows!

  3. #3
    praticamente vorrei che nel campo text della mail mi obblighi ad usare "@" prima di inviarlo...
    comunque per l altro discorso vorrei che prima di inviare la registrazione, o inviandola mi dia un errore di qualche campo vuoto presente nel form che nn è stato compilato...mi puoi aiutare???

  4. #4
    Originariamente inviato da aleritty
    I campi del form obbligatori li rendi "not null" nel database, così se si prova a lasciarli bianchi si ha un errore (che dovrai gestire).

    Cosa sarebbe un campo di tipo mail scusa??
    Ma non è più semplice controllare se il campo è vuoto da PHP senza passare dei dati (potenzialmente incompleti) al DB???

    Codice PHP:
    $campo trim($_POST['campo']);
    if (
    $campo == "" OR !isset($campo)) {
    echo 
    "messaggio di errore";
    exit;

    Puoi anche inserire questo codice in una funzione e riciclarlo per ogni campo che vuoi non venga vuoto!

    <ALCIO />
    Per cortesia: no PVT Tecnici
    ******* LINKS *******
    SRL
    MetalWave

  5. #5
    Originariamente inviato da federik87
    praticamente vorrei che nel campo text della mail mi obblighi ad usare "@" prima di inviarlo...
    comunque per l altro discorso vorrei che prima di inviare la registrazione, o inviandola mi dia un errore di qualche campo vuoto presente nel form che nn è stato compilato...mi puoi aiutare???
    Per fare quello che vuoi te, quindi validare il campo dove viene inserita l'email, devi usare PREG_MATCH() ed una espressione regolare.
    Al manuale ufficiale di PHP trovi tutto quanto bello e confezionato a questo LINK.

    <ALCIO />
    Per cortesia: no PVT Tecnici
    ******* LINKS *******
    SRL
    MetalWave

  6. #6
    questo script FUNZIONA

    $campo_uno_form = trim($_POST['user']);
    if ($campo_uno_form == "" OR !isset($campo_uno_form)) {
    echo "messaggio di errore";
    exit;
    }

    ma comunque se lascio un campo vuoto mi manda i dati vuoti al database ma mi comunica anche l errore
    in che punto del mio codice lo devo inserie per evitare cio??

  7. #7
    Utente di HTML.it
    Registrato dal
    Mar 2009
    Messaggi
    110
    Devi mettere una condizionale affinchè la query non venga eseguita a meno che tutti i campi obbligatori non siano stati compilati.

    Anche io, comunque, ti consiglio di utilizzare le regular expression.

  8. #8
    Vi riposto il codice perchè nn riesco prorpio a farlo funzionare... mi aiutate a far si che la quey parta solo quando si risolve la condizione nn riesco...grazie



    if($_POST) {
    inserisci_record();
    }
    else {
    mostra_form();
    }

    // definizione della funzione inserisci_record()
    function inserisci_record()
    {
    //considero una tabella con sei campi, se hai un numero maggiore di campi, modifica come necessario, e inserisci i valori corretti come li hai definiti in mysql
    $campo_zer = 'id';
    $campo_uno = 'user';
    $campo_due = 'pass';
    $campo_tre = 'nome';
    $campo_qua = 'cognome';
    $campo_cin = 'age';
    $campo_sei = 'email';
    // devi assegnare a queste variabili gli stessi valori come nella definizione di mostra_form()
    $campo_zer_form = 'id';
    $campo_uno_form = 'campo_uno';
    $campo_due_form = 'campo_due';
    $campo_tre_form = 'campo_tre';
    $campo_qua_form = 'campo_qua';
    $campo_cin_form = 'campo_cin';
    $campo_sei_form = 'campo_sei';

    // recupero i campi
    $campo_uno_record = $_POST[$campo_uno_form];
    $campo_due_record = $_POST[$campo_due_form];
    $campo_tre_record = $_POST[$campo_tre_form];
    $campo_qua_record = $_POST[$campo_qua_form];
    $campo_cin_record = $_POST[$campo_cin_form];
    $campo_sei_record = $_POST[$campo_sei_form];



    $query = "INSERT INTO members ($campo_uno, $campo_due, $campo_tre, $campo_qua, $campo_cin, $campo_sei)
    VALUES ('$campo_uno_record', '$campo_due_record', '$campo_tre_record', '$campo_qua_record', '$campo_cin_record', '$campo_sei_record')";

    // invio la query
    $result = mysql_query($query);

    // controllo l'esito
    if (!$result) {
    echo "Errore nella query $query: " . mysql_error();
    }else echo "Ti Sei Registrato Con Successo!";


    }

    // definizione della funzione mostra_form()
    function mostra_form()
    {
    // inserisci,se vuoi, valori più evocativi per i nomi dei campi del modulo
    $campo_uno_form = 'campo_uno';
    $campo_due_form = 'campo_due';
    $campo_tre_form = 'campo_tre';
    $campo_qua_form = 'campo_qua';
    $campo_cin_form = 'campo_cin';
    $campo_sei_form = 'campo_sei';

    echo '


    Area Di Registrazione</p>

    <hr>



    <form name=form_registrazione method=post action='.$_SERVER['PHP_SELF'].' >
    Username:

    <input name="'.$campo_uno_form.'" type=text />
    </label>




    Password:


    <input name="'.$campo_due_form.'" type=text />

    </p>



    Name:

    <input name="'.$campo_tre_form.'" type=text />

    </p>


    Surname:

    <input name="'.$campo_qua_form.'" type=text />

    </p>


    Age:

    <input name="'.$campo_cin_form.'" type=text />

    </p>


    Email:

    <input name="'.$campo_sei_form.'" type=text />

    </p>




    <hr>
    <input name="invia" type="submit" value="Registrati" />
    </p>
    </form>
    ';
    }




    ?>

  9. #9
    Originariamente inviato da Justino
    Devi mettere una condizionale affinchè la query non venga eseguita a meno che tutti i campi obbligatori non siano stati compilati.

    Anche io, comunque, ti consiglio di utilizzare le regular expression.
    Mi spiace ma non sono d'accordo.
    In coda all'IF c'è EXIT() che blocca lo script per cui tutto il codice successivo, query compresa, non viene eseguito.
    Basta mettere in echo un link che permette il ritorno alla form per completare il tutto.
    Evito di parlare di funzioni AJAX e redirect super-fighi per la validazione dei campi, perché mi sembra che forse federik87 necessita di uno script più usabile per lui.

    <ALCIO />
    Per cortesia: no PVT Tecnici
    ******* LINKS *******
    SRL
    MetalWave

  10. #10
    Originariamente inviato da federik87
    Vi riposto il codice perchè nn riesco prorpio a farlo funzionare... mi aiutate a far si che la quey parta solo quando si risolve la condizione nn riesco...grazie
    Innanzi tutto spiegaci un minimo che tipo di conoscenze hai di PHP.
    Scusa se lo chiedo, ma lo script che hai postato, mi sembra piuttosto semplice, anche se incasinato di partenza, e volevo capire come poterti dare una mano.... partendo dal presupposto che non mi piace servire la pappa pronta!

    <ALCIO />
    Per cortesia: no PVT Tecnici
    ******* LINKS *******
    SRL
    MetalWave

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.