Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1
    Utente di HTML.it L'avatar di sandu
    Registrato dal
    Feb 2005
    Messaggi
    239

    script per modificare dati in mysql ...non funziona

    ho scritto questo script per modificare dei dati di un catalogo inseriti in un database mysql ...
    in pratica il form per la modifica manda a questa pagina ...
    codice:
    <?php 
    include ("top_foot.php");
    top();
    include ("dbconnect.php");
    include ("dbopen.php");
    if(isset($_GET['id'])){
    $id = $_GET['id'];}
    $tipo = $_POST['tipo'];
    $categoria = $_POST['categoria'];
    $nome = $_POST['nome'];
    $descrizione = $_POST['descrizione'];
    
    	$query = "UPDATE prodotti SET tipo='$tipo', categoria='$categoria', 
    	nome='$nome', descrizione='$descrizione' WHERE id='$id'";
    			if (mysql_query($query, $conn)){
    			echo "L'articolo è stato modificato correttamente";}
    		else{
    			echo "Errore durante la modifica";
    	include ("dbclose.php");
    }
    foot();
    ?>
    ho aggiunto anche questo:
    echo "$tipo
    ";
    echo "$categoria
    ";
    echo "$nome
    ";
    echo "$descrizione
    ";
    per vedere se i dati arrivati dal form erano corretti ...e lo sono..

    la pagina mi restituisce :
    L'articolo è stato modificato correttamente

    in realtà però non si modifica nulla ...

    potrebbe dipendere dal fatto che alcuni campi non subuscono modifiche?

    altrimenti dove sbaglio ?
    grazie in anticipo

  2. #2
    Utente di HTML.it L'avatar di marco80
    Registrato dal
    May 2005
    Messaggi
    1,357
    Prova a mettere un echo davanti alla query e leggila, oppure prova cosi':
    Codice PHP:
        $query "UPDATE prodotti SET tipo='$tipo', categoria='$categoria', 
        nome='
    $nome', descrizione='$descrizione' WHERE id='$id'";
            
    mysql_query($query$conn) or die (mysql_error()); 
    per vedere l'errore

  3. #3
    Utente di HTML.it L'avatar di sandu
    Registrato dal
    Feb 2005
    Messaggi
    239
    non mi da nessun errore ...

  4. #4
    Utente di HTML.it L'avatar di sandu
    Registrato dal
    Feb 2005
    Messaggi
    239
    ho php 4.4.2-1.1 ma register_globals l'ho settato a off...

    dovrebbe funzionare comunque anche così ...

    non capisco ...ho anche un form uguale per l'inserimento e uno script uguale con la query per l'inserimento e funzionano senza problemi ... perchè qui non va ?

    non credo dipenda da register_globals :master:

  5. #5
    posti un attimo la struttura della tua tabella...

    probabilmente l'errore risiede li.

    D'altro canto la query prova a scriverla cosi:

    Codice PHP:

    $query 
    mysql_query("UPDATE prodotti SET tipo='$tipo', categoria='$categoria', 
        nome='
    $nome', descrizione='$descrizione' WHERE id='$id'");
                if (!
    $query){
                
                            echo 
    "Errore durante la modifica";
    }
            else{
                echo 
    "L'articolo è stato modificato correttamente";
        
    }
    include (
    "dbclose.php"); 

  6. #6
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    perchè se i dati li invii tramite post, l'id tenti di recuperarlo via get?
    credo che stia lì il problema. Usando l'error_reporting a e_all dovrebbe restituirti un notice di undefined index.

    aggiungi or die (mysql_error()); nella riga in cui usi mysql_query per mostrare gli errori.

  7. #7
    ARGH !!!


    $id = $_GET['id'];

    eccoti il problema !!!

    bravo Nicola75ss

    cambialo in POST e tutto andrà bene

  8. #8
    Utente di HTML.it L'avatar di sandu
    Registrato dal
    Feb 2005
    Messaggi
    239
    Originariamente inviato da sideval
    ARGH !!!


    $id = $_GET['id'];

    eccoti il problema !!!

    bravo Nicola75ss

    cambialo in POST e tutto andrà bene
    credo di no ...

    id lo passo via get ...per quello lo recupero con $_GET

    così ho creato la tabella prodotti :

    table prodotti ( id INT(3) unsigned not null auto_increment, nome varchar(64) not null, descizione varchar(256), categoria varchar(256) not null, primary key (id));

  9. #9
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    come fai a spedire i dati contemporaneamente sia col metodo post che con quello get? :master:

  10. #10
    ma sandu se dici

    .....


    ho aggiunto anche questo:
    echo "$tipo
    ";
    echo "$categoria
    ";
    echo "$nome
    ";
    echo "$descrizione
    ";
    per vedere se i dati arrivati dal form erano corretti ...e lo sono..
    ......

    tutte prese con POST, come fai a prendere l'id con GET.

    aggiungi

    echo "Ecco $_GET['id']
    ";

    e vedi cosa succede

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.