Visualizzazione dei risultati da 1 a 5 su 5

Discussione: update

  1. #1

    update

    Ciao ragazzi , ci riprovo ..forse l'altra volta sono stato poco esaustivo.

    Sto impazzendo per capire dov'è l'errore

    form.php(popolo la tabella)
    <form action="inserisci.php" method="post" >
    <td> <input type="text" name="id" ></td>
    <td> <input type="text" name="nm" ></td> etc
    <input type="submit" name="Inserisci" value="Inserisci"/>
    </form>
    inserisci.php(eseguo la query di inserimento)
    $query = 'INSERT INTO tbl (nm,cgm) VALUES ("' .$_POST['nm'] . '","' .$_POST['cgm'] . '")';

    Nello stesso file includo(table_result.php) il risultato dell'inserimento:
    $query = 'SELECT id,nm,cgm FROM tbl ';
    echo '<td >' . $id . '</td>'; etc

    /* Inserisco per ogni row estratta un riferimento all' id */
    echo '<td>aggiorna';
    (Qui però c'è già una prima cosa che mi sembra strana: Se clicco sul link "aggiorna"
    per portarmi sul record da aggiornare e non sul "submit" del form stesso, il metodo "post"
    della form va a farsi benedire. Corretto? )


    Clicco su "aggiorna" nella riga attinente al record e mi porto su
    form_update.php
    Fin qui tutto ( apparentemente) bene.
    form_update.php
    <form action="update.php" method="post">
    <td> <input type="text" name="id" value="<?php echo $id; ?>" size="15"></td> etc
    <input type="submit" value="Submit" />
    </form>

    Tutto sembra essere corretto....
    Ma nel momento in cui vado ad eseguire la query UPDATE dal form(action="update.php")
    non mi aggiorna un bel niente.

    Ci sono sicuramente 2 errori.
    Il primo: form_update mostra i dati , ma non vengono poi POSTati a update.php. E qui posso capire: probabilmente me li sono persi.
    Ma il secondo (che è ancora più inquietante del primo): compilo un campo non POSTa al db nemmeno quello. Come se non funzionasse "method="post"" del form
    La query è semplice
    $query='UPDATE tbl SET nm = "' . $_POST['nm']. '", cgm = "' . $_POST['cgm'] . ' WHERE id=$_POST['id'] . '';
    eseguita correttamente:
    SET _ nm = "", _ cgm = "" WHERE _ id = 5
    L'id lo configura correttamente, infatti sono sul record 5.

    Non capisco come e dove mi sono perso i dati, ma anche perchè se digito qualcosa non lo scrive.
    Chi mi aiuta a uscirne fuori?

  2. #2

    Re: update (aggiornamento)

    Originariamente inviato da senzaesclusiva
    Ciao ragazzi , ci riprovo ..forse l'altra volta sono stato poco esaustivo.

    Sto impazzendo per capire dov'è l'errore
    Non capisco come e dove mi sono perso i dati, ma anche perchè se digito qualcosa non lo scrive.
    Chi mi aiuta a uscirne fuori?
    Passettino avanti; rileggendo per l'ennesima volta il codice ( per la famosa legge che chi ha scritto qualcosa la "legge" sempre come ce l'ha in mente. L'errore lo vede solo il correttore di bozze) mi sono accorto di aver dato <input name="sbagliato" a qualche campo ) .

    Cosi' ho corretto e sembra che la cosa funzioni meglio..eheheheh.

    Ma rimane un problema:
    Adesso la query di UPDATE mi vede correttamente i campi POST, ma se tento di fare un aggiornamento , non esegue la query.
    Esempio:
    Inserisco Giorgio Armani
    Vado a dirgli "aggiorna"
    Sono sul form che mi consente di cambiare Giorgio in Vittorio

    La query legge correttamente il cambiamento:

    UPDATE tbl SET id = 7, nm = "Vittorio", cgm = "Armani" WHERE id = 7

    ma ........query is not executed

    Accidenti ..il db è sempre lo stesso , i parametri di connesione al db identici ( uso un "require(' db.connect.php') in ogni file per evitare qualsiasi sbattimento o errore.....

    Quale altro motivo potrebbe esserci ?

  3. #3
    prova con questa sintassi usando gli apici singoli:
    Codice PHP:
    $query="UPDATE tabella SET  campo1 = 'Vittorio', campo2 = 'Armani' WHERE id = 7"

  4. #4
    Originariamente inviato da E.d.i.73
    prova con questa sintassi usando gli apici singoli:
    Codice PHP:
    $query="UPDATE tabella SET  campo1 = 'Vittorio', campo2 = 'Armani' WHERE id = 7"
    Ci provo , anzi riprovo...ma scusa...gli apici singoli non sono dedicati ai campi numerici?

  5. #5

    update ( risolto)

    Originariamente inviato da senzaesclusiva
    Ci provo , anzi riprovo...ma scusa...gli apici singoli non sono dedicati ai campi numerici?
    Doveroso aggiornamento.

    Adesso funziona tutto!

    Non c'era nulla che non andava nel codice; aperto il file incriminato con un hex editor, è emerso
    che all'interno dello stesso c'erano "caratteri strani".
    Il pratica l'editor aveva "sporcato" il codice con caratteri aggiuntivi e non visibili.
    Siccome Php traduce tutto in esadecimale ...ciccia!!...ecco perchè non veniva eseguita la query.

    Questo fatto comunque mi lascia un poco perplesso; uso TextWrangler per Mac, che mi sembra essere uno dei migliori editor. Se anche gli editor si mettono a sporcare il codece...siamo fritti

    C'è qualche user del forum che usa (senza problemi) qualche altro editor per Mac Osx?

    Grazie comunque a chi mi ha seguito in questa dis-avventura :-)

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.