Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2006
    Messaggi
    555

    Modifica dei record di una tabella con php

    Salve ragazzi,
    stò realizzando un'area amministrativa dalla quale sia possibile inserire delle news all'interno di un sito. Per il momento, anche grazie all'aiuto eccezionale di Nicola75SS, sono riuscito ad ottenere ottimi risultati.

    Ho realizzato già varie sezioni, tuttavia sono giunto ad un punto nel quale ho bisogno del vostro aiuto. Ho creato (o meglio adattato) due file php che mi permettono di modificare un articolo già presente all'interno della tabella "articoli" del mio database. Il codice pare scritto in modo corretto, visto che lanciandolo non mi dà errori. Tuttavia nel momento in cui vado a fare la modifica, non accade nulla. Ossia, quando vado nella pagina che mi mostra tutti gli articoli presenti, quello che avevo sottoposto a modifica resta come prima. Cioè le modifiche non esistono proprio! Ne deduco che vi sia qualche errore nel file che passa i dati modificati al database. Sono difatti due i fali costruiti: uno è quello col form per inserire le modifiche e si chiama "modifica.php"; l'altro è quello che dovrebbe passarle al db e si chiama "mod.php".

    Posto il codice per vedere se potete aiutarmi a scovare l'inghippo! Eccovi quello di "modifica.php":

    <?php
    include("config.php");
    $id = $_GET["id"];
    mysql_connect($db_host,$db_user,$db_password,$db_n ame) or die ("errore nella connessione");
    mysql_select_db("$db_name") or die ("errore nella selezione del database");
    $dati = mysql_query("select * from articoli where art_id = $id ");
    $array = mysql_fetch_array ($dati);
    echo "<input type=\"hidden\" name=\"id\" value=\"$id\">";
    echo "<input type=\"textarea\" name=\"titolo\" value=\"$array[titolo]\">Titolo
    ";
    echo "<input type=\"textarea\" name=\"sottotitolo\" value=\"$array[sottotitolo]\">Sottotitolo
    ";
    echo "<input type=\"textarea\" name=\"testo\" value=\"$array[testo]\">Testo
    ";
    echo "<input type=\"text\" name=\"autore\" value=\"$array[autore]\">Autore
    ";
    mysql_close();
    ?>


    Questo invece è quello di "mod.php":

    <?php
    $titolo = $_POST["titolo"];
    $sottotitolo = $_POST ["sottotitolo"];
    $testo = $_POST["testo"];
    $autore = $_POST["autore"];
    if($titolo=="")
    {
    print ("Il titolo è obbligatorio
    <a href=\"forminse.html\">indietro</a>
    ");
    }
    elseif($sottotitolo=="")
    {
    print ("Il sottotitolo è obbligatorio
    <a href=\"forminse.html\">indietro</a>
    ");
    }
    elseif($autore=="")
    {
    print "L'autore è obbligatorio
    <a href=\"forminse.html\">indietro</a>
    ";
    print "Titolo: $titolo
    ";
    print "Sottotitolo: $sottotitolo
    ";
    print "Testo: $testo
    ";
    print "Autore: $autore
    ";
    }
    else
    {
    include("config.php");
    mysql_connect($db_host,$db_user,$db_password,$db_n ame) or die ("non riesco a connettermi");
    mysql_select_db("$db_name") or die ("Non riesco a selezionare il database");
    mysql_query("update articoli set titolo='$titolo', sottotitolo='$sottotitolo', testo='$testo', autore='$autore' where art_id=$id");
    mysql_close();
    ?>
    <?php
    echo "Articolo modificato:
    ";
    echo "Titolo: $titolo
    ";
    echo "Sottotitolo: $sottotitolo
    ";
    echo "Testo: $testo
    ";
    echo "Autore: $autore
    ";
    ?>
    <?
    }
    ?>


    Mi date una mano a scovare l'errore? Ho provato qualche soluzione ma nulla!!
    Grazie!

  2. #2
    Utente di HTML.it L'avatar di garlick
    Registrato dal
    Dec 2001
    Messaggi
    385
    Codice PHP:

    $titolo 
    $_POST["titolo"];
    $sottotitolo $_POST ["sottotitolo"];
    $testo $_POST["testo"];
    $autore $_POST["autore"]; 

    Codice PHP:

    mysql_query
    ("update articoli set titolo='$titolo', sottotitolo='$sottotitolo', testo='$testo', autore='$autore' where art_id=$id"); 

    dove prendi la variabile $id che usi nella condizione WHERE dell'UPDATE?

    Mi sembra che manchi questo:

    $id = $_POST["id"];

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2006
    Messaggi
    555
    Grande Garlik!!
    Funziona tutto alla meraviglia. Mi vergogno un pò per il semplice fatto che mi chiedo come cactus ho fatto a dimenticare quella riga di codice!!!!Grazie mille

  4. #4
    Utente di HTML.it L'avatar di garlick
    Registrato dal
    Dec 2001
    Messaggi
    385
    prego figurati


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.