• ModSenior •

    Ciao Fabrizio23,

    Devi fare una query di update come hai fatto.
    Questo:

    
    <form method="post" action="inserimento_dati.php?id_cl=$id_cl\">
    
    

    Dovrebbe essere cosi:

    
    <form method="post" action="inserimento_dati.php">
    
    

    $id_cl sarebbe opportuno salvarlo in una variabile di sessione.


  • User Attivo •

    Ti ringrazio! Proverò...

    Scusami l'ignoranza...pian piano si impara...:smile5: che devo e come devo fare per salvare la variabile $id_cl in una variabile di sessione?

    Grazie!


  • ModSenior •

    La sintassi è la seguente:
    [php]
    $_SESSION['nome'] = 'valore';
    [/php]
    Dovresti mettere l'id nella fase di login.


  • User Attivo •

    Ciao! Per modificare un record (ad esempio nome e congnome di un elenco) perchè non và questa?

    [php]$id=$_POST['id'];
    $cognome=$_POST['cognome'];
    $nome=$_POST['nome'];
    $query=mysql_query("UPDATE inserimento_dati SET cognome = '$cognome', nome = '$nome' WHERE id = '$id'");
    $risultato = mysql_query($query) or die ("Query "$query" fallita

    Errore di sintassi nella query SQL vicino a '1' linea 1

    Grazie!


  • ModSenior •

    L'errore indica che $_POST['id'], $_POST['cognome'], $_POST['nome'] non sono dichiarati.


  • User Attivo •

    Come le dichiaro?


  • ModSenior •

    Quei dati non vengono inviati dal modulo, non c'è nessun input con quel name e quindi viene generato l'errore. Controlla di aver messo i name corretti nel tuo form.


  • User Attivo •

    Ciao! Lo script ora è così, ma perchè non dovrebbe passarle? 😞

    [PHP]
    $id_cl=$_POST['id_cl'];
    $cognome=$_POST['cognome'];
    $nome=$_POST['nome'];
    $query=mysql_query("UPDATE inserimento_dati SET cognome = '$cognome', nome = '$nome' WHERE id_cl = '$id_cl'");
    $risultato = mysql_query($query) or die ("Query "$query" fallita ::: ".mysql_error());
    ?>

    <form action="modifica_dati_clienti.php" method="post" name="modifica_dati_clienti">
    <input type="hidden" name="id_cl"><br><br>
    COGNOME: <input type="text" name="cognome"><br><br>
    NOME: <input type="text" name="nome"><br><br>
    <input type="submit" value="Invia" />
    </form> [/PHP]

    Nel form il "name" l'ho messo...


  • User Attivo •

    Inoltre, mi dà anche errore di sintassi nella query:

    Notice: Undefined index: id_cl in c:\programmi\easyphp1-8\www\modifica_dati_clienti.php on line 14

    Notice: Undefined index: cognome in c:\programmi\easyphp1-8\www\modifica_dati_clienti.php on line 15

    Notice: Undefined index: nome in c:\programmi\easyphp1-8\www\modifica_dati_clienti.php on line 16
    Query "1" fallita ::: Errore di sintassi nella query SQL vicino a '1' linea 1


  • ModSenior •

    Ciao,

    Dovresti postarmi la pagina per intero, in questo modo è impossibile trovare il problema.


  • User Attivo •

    Ciao, intendi postare la pagina "inserimento_dati"?
    Perchè la pagina "modifica_dati_clienti" è tutta lì...


  • ModSenior •

    Postare la pagina di elaborazione completa.


  • User Attivo •

    Ciao, questa è la pagina.php "inserimento_dati", anche se vedi scrittto "elenco_clienti" non preoccuparti perchè nell'originale va tutto ok.

    L'id_cl, il cognome e il nome li prendo da qui:

    [PHP]$query="INSERT INTO elenco_clienti (
    id_cl
    cognome,
    nome,
    sesso,
    data_di_nascita,
    citta_di_nascita,
    residenza,
    stato_civile,
    figli,
    telefono_abitazione,
    telefono_cellulare,
    utente_da_contattare,
    telefono_abitazione2,
    telefono_cellulare2,
    istruzione,
    professione,
    religione,
    data_registrazione)
    VALUES('" .
    addslashes ( $_POST['id_cl'] ) . "', '" .
    addslashes ( $_POST['cognome'] ) . "', '" .
    addslashes ( $_POST['nome'] ) . "', '" .
    addslashes ( $_POST['sesso'] ) . "', '" .
    addslashes ( $_POST['data_di_nascita'] ) . "', '" .
    addslashes ( $_POST['citta_di_nascita'] ) . "', '" .
    addslashes ( $_POST['residenza'] ) . "', '" .
    addslashes ( $_POST['stato_civile'] ) . "', '" .
    addslashes ( $_POST['figli'] ) . "', '" .
    addslashes ( $_POST['telefono_abitazione'] ) . "', '" .
    addslashes ( $_POST['telefono_cellulare'] ) . "', '" .
    addslashes ( $_POST['utente_da_contattare'] ) . "', '" .
    addslashes ( $_POST['telefono_abitazione2'] ) . "', '" .
    addslashes ( $_POST['telefono_cellulare2'] ) . "', '" .
    addslashes ( $_POST['istruzione'] ) . "', '" .
    addslashes ( $_POST['professione'] ) . "', '" .
    addslashes ( $_POST['religione'] ) . "', '" . )";

    $risultato = mysql_query( $query ) or die ( "query '$query' fallita

    " . mysql_error() );

    while ( $elenco_clienti = mysql_fetch_array( $risultato ) )

    {

    echo "<table>

    <style>
    table {
    border: solid 2px #000000;
    text-align: center;
    }
    td {
    solid 1px;
    color: Black;
    background: #F1EBAD;
    }
    </style>

           <tr>   
    
                <td><b>ID:</b>  " . stripslashes($elenco_clienti['id_cl']) . "</td></tr>   
                <td><b>COGNOME:</b>  " . stripslashes($elenco_clienti['cognome']) . "</td></tr>   
                <td><b>NOME:</b>  " . stripslashes($elenco_clienti['nome']) . "</td></tr>   
                <td><b>SESSO:</b>  " . stripslashes($elenco_clienti['sesso']) . "</td></tr>   
                <td><b>DATA DI NASCITA:</b>  " . stripslashes($elenco_clienti['data_di_nascita']) . "</td></tr>   
                <td><b>CITTA' DI NASCITA:</b>  " . stripslashes($elenco_clienti['citta_di_nascita']) . "</td></tr>   
                <td><b>RESIDENZA:</b>  " . stripslashes($elenco_clienti['residenza']) . "</td></tr> 
                <td><b>STATO CIVILE:</b>  " . stripslashes($elenco_clienti['stato_civile']) . "</td></tr>   
                <td><b>FIGLI:</b>  " . stripslashes($elenco_clienti['figli']) . "</td></tr>   
                <td><b>TELEFONO ABITAZIONE:</b>  " . stripslashes($elenco_clienti['telefono_abitazione']) . "</td></tr>   
                <td><b>TELEFONO CELLULARE:</b>  " . stripslashes($elenco_clienti['telefono_cellulare']) . "</td></tr>   
                <td><b>UTENTE DA CONTATTARE:</b>  " . stripslashes($elenco_clienti['utente_da_contattare']) . "</td></tr>   
                <td><b>TELEFONO ABITAZIONE:</b>  " . stripslashes($elenco_clienti['telefono_abitazione2']) . "</td></tr>   
                <td><b>TELEFONO CELLULARE:</b>  " . stripslashes($elenco_clienti['telefono_cellulare2']) . "</td></tr>   
                <td><b>ISTRUZIONE:</b>  " . stripslashes($elenco_clienti['istruzione']) . "</td></tr>   
                <td><b>PROFESSIONE:</b>  " . stripslashes($elenco_clienti['professione']) . "</td></tr>   
                <td><b>RELIGIONE:</b>  " . stripslashes($elenco_clienti['religione']) . "</td></tr>
    

    [/PHP]


  • ModSenior •

    Ma questa pagina non ha nulla a che vedere con quella sopra...


  • User Attivo •

    In che senso? :mmm:


  • ModSenior •

    La pagina che hai appena postato si occupa dell'inserimento e non dell'aggiornamento del record. Fanno anche riferimento a 2 tabelle differenti.


  • User Attivo •

    Per le tabelle differenti te l'ho detto, quello era uno script non aggiornato, dato che dietro di me avevo solo la penna, ma in quello originale coindidono, infatti funziona perfettamente. 🙂


  • User Attivo •

    Ciao! Ecco la pagina modifica_dati_clienti.php intera 🙂
    Gli ho aggiunto l'isset.
    [php]<?php
    // Dati connessione al database
    $db_host = 'localhost'; // Host - solitamente localhost
    $db_utente = 'root'; // Nome utente del Database
    $db_password = ''; // Password del Database
    $db_nomedb = ''; // Nome del Database
    // Effettua la connessione al database
    $dbh=mysql_connect ($db_host, $db_utente, $db_password) or die ('Errore nella stringa di connessione al database: '.mysql_error());
    mysql_select_db($db_nomedb);

    if (isset($_POST['id_cl']) && !empty($_POST['id_cl'])) {
    $id=$_POST['id_cl'];
    $cognome=$_POST['cognome'];
    $nome=$_POST['nome'];
    $query=mysql_query("UPDATE inserimento_dati SET cognome = '$cognome', nome = '$nome' WHERE id_cl = '$id_cl'");
    $risultato = mysql_query($query) or die ("Query "$query" fallita ::: ".mysql_error());
    echo "update eseguito";
    }
    else {
    ?>
    <form method="post" action="modifica_dati_clienti.php">
    <input type="hidden" name="id_cl"><br />
    NOME <input type="text" name="nome"><br />
    COGNOME <input type="text" name="cognome"><br />
    <input type="submit" value="Invia" />
    </form>
    <?php } ?>
    [/php]

    Non mi dà nessun errore, nè warning nè notice, mi fà compilare il form e mi rimanda al form, come da richiesta se l'update non è stato eseguito.


  • ModSenior •

    Perciò ora non ti da nessun errore ma non ti modifica i campi?
    Nella tabella c'è il record con quell'id?


  • User Attivo •

    Nella tabella db c'è id_cl, nome e cognome...PINCO PALLO...ma non modifica nulla...mi riporta al form...