• User Attivo

    query update mysql con $_POST

    Ciao a tutti. Ho questa situazione:
    [HTML]
    $conn = include '/includes/db.inc.php';

    $id = $_POST ["id"];$titolo = $_POST ["titolo"];$luogo = $_POST ["luogo"];$data = $_POST ["data"];$descrizione = $_POST ["descrizione"];
    [/HTML]

    Ho l'esigenza di aggiornare il database in base all'id fornito dal form. Quindi ho creato un form con un campo hidden dove ho inserito l'id. Ho visto che fin qui tutto funziona. Passo poi tutti i dati in POST e scrivo la query (ma sicuramente qualcosa è sbagliato):

    Ho scritto una query ma non so se va bene:
    [HTML]"UPDATE eventi SET titolo='$titolo', luogo='$luogo', data='$data',descrizione='$descrizione' WHERE id='$id'";[/HTML]

    Qualcuno potrebbe aiutarmi per favore?


  • User Attivo

    che errore ti restituisce?


  • User Attivo

    In realtà nessuno, pagina bianca. Peró non scrive sul database. Riporto il codice completo sperando sia d'aiuto.
    [HTML]
    $conn = include '/includes/db.inc.php';
    $id = $_POST ["id"];
    $titolo = $_POST ["titolo"];
    $luogo = $_POST ["luogo"];
    $data = $_POST ["data"];
    $descrizione = $_POST ["descrizione"];
    try
    {$sql = "UPDATE eventi SET titolo='$titolo', luogo='$luogo', data='$data', descrizione='$descrizione' WHERE id='$id'";
    result = $pdo->query($sql);}

    catch (PDOException $e)
    { $error = 'Errore!' . $e->getMessage();
    include '/includes/error.html.php';
    exit();}[/HTML]


  • User Attivo

    le variabili vengono passate correttamente?
    se fai un echo delle stesse, le vedi?


  • User Attivo

    Ciao e grazie per l'aiuto che mi stai dando. Il codice da me digitato è stato il seguente:
    [HTML]
    $id = $_POST ["id"];
    $titolo = $_POST ["titolo"];
    $luogo = $_POST ["luogo"];
    $data = $_POST ["data"];
    $descrizione = $_POST ["descrizione"];
    echo $id, $titolo, $luogo, $data, $descrizione;[/HTML]

    Riesco a vedere tutti i dati a display tranne l'id, ma probabilmente perché è in un campo "hidden".
    Sicuramente sbaglio a digitare la query.

    Adesso ho digitato questa query sembra tutto funzioni ma non scrive sul database:
    [HTML]
    $sql = "UPDATE eventi SET titolo = '".$_POST ["titolo"]."',luogo = '".$_POST ["luogo"]."', data = '".$_POST ["data"]."',descrizione = '".$_POST ["descrizione"]."'WHERE id = '".$_POST ["id"]."'";[/HTML]


  • User Attivo

    Ciao eleumas
    il fatto che sia in un campo hidden non dovrebbe dare problemi, anzi vengono usati anche per quello.Il problema potrebbe essere quello relativo al fatto che non viene passato correttamente l'id. Ma il form da cui vengono presi i dati come è fatto?

    Potresti tramite una echo stampare la query una volta che viene "riempita" con i parametri e provare quella query direttamente sul db, giusto per capire se ti da errore o meno


  • User Attivo

    Ciao, l'errore era che passavo i dati del form dal tag placeholder e non dal tag value. Da principiante! 🙂