• 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...


  • ModSenior

    Ah, ti rimostra proprio il form.
    Prova cosi:
    [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['nome'])) {
    $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]
    Ma comunque $_POST['id_cl'] non ha alcun valore perchè l'input non ha alcun value perciò non potrà fare l'update di niente.


  • User Attivo

    Mi rimostra sempre il form...


  • ModSenior

    Non può essere, ma questa pagina si chiama modifica_dati_clienti.php?


  • User Attivo

    No, scusami, mi dice:

    Notice: Undefined variable: id_cl in c:\programmi\easyphp1-8\www\modifica_dati_clienti.php on line 15
    Query "" fallita ::: La query e` vuota

    Ma perchè è vuota??? :arrabbiato:


  • ModSenior

    Te l'ho scritto prima:
    $_POST['id_cl'] non ha alcun valore perchè l'input non ha alcun value perciò non potrà fare l'update di niente.