Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 16
  1. #1

    [PHP-ACCESS-ODBC] Insert form dati non va

    Ciao a tutti,

    allora sto provando a fare degli inserimenti con PHP in un DB Access. Ho settato i parametri nell'Origine dati ODBC creando un DSN di sistema.
    L'ho testato con il seguente file:

    codice:
    <? 
    
    $Query="INSERT INTO 
    programmi(Nome, 
    Descrizione, 
    URL, 
    Versione, 
    Prezzo, 
    Posizione) 
    VALUES('phpMyAdmin', 
    'Script php per la gestione di DB MySQL', 
    'http://www.phpwizard.com/projects/phpMyAdmin/', 
    '2.1.0', 
    '0', 
    'C:\box\phpMyAdmin.zip')"; 
    
    odbc_exec($link,$Query) 
    or die ("non riesco ad eseguire la query $Query"); 
    
    print "I nuovi dati sono stati inserirti con successo!!!"; 
     
    odbc_close($link); 
    ?>
    ed è funzionato tutto correttamente (mi ha inserito i dati)... e finora qui ci siamo.
    Ora vorrei fare un form ed inviare qualsiasi tipo di dato. Allora creo un file di questo tipo:

    codice:
    <html>
    
    <head>
    </head>
    
    <body>
    
    <p align="center">Il miei programmi in archivio.</p> 
    <hr size="1" color="#000000"> 
    <p align="left">Grazie a questo semplice pannello di controllo, sarà possibile 
    catalogare script e programmi scaricati dalla rete, in mod da avere un punto di 
    riferimento anche dopo molto tempo :).
     
    Per motivi didattici il pannello sarà estremamente semplice, sarà quindi 
    vostro compito abbellire la pagina a seconda delle esigenze.</p> 
    <TABLE border="0" width="100%"> 
    <tr> 
    <td width="19%"><form method="POST" action="form_dati.php3"> 
    Nome programma</td> 
    <td width="81%"><input type="text" name="nome" size="44"></td> 
    </tr> 
    <tr> 
    <td width="19%">Descrizione Programma</td> 
    <td width="81%"><textarea rows="6" name="tex" cols="37"></textarea></td> 
    </tr> 
    <tr> 
    <td width="19%">Home Page</td> 
    <td width="81%"><input type="text" name="url" size="44" value="http://"></td> 
    </tr> 
    <tr> 
    <td width="19%">Versione</td> 
    <td width="81%"><input type="text" name="ver" size="44"></td> 
    </tr> 
    <tr> 
    <td width="19%">Prezzo in lire</td> 
    <td width="81%"><input type="text" name="pre" size="44"></td> 
    </tr> 
    <tr> 
    <td width="19%">Posizione Disco-Fisso</td> 
    <td width="81%"><input type="text" name="pos" size="44"></td> 
    </tr> 
    <tr> 
    <td width="19%"><input type="submit" value="Cataloga" name="B1"></td> 
    <td width="81%"></form></td> 
    </tr> 
    </table> 
    
    <? 
    if ($B1){ 
    $a=odbc_connect("test","login","pass") 
    or die("connessione al DB impossibile"); 
    $nome = stripslashes($nome); // Toglie la \ dove sta! 
    $tex = stripslashes($tex); // Toglie la \ dove sta! 
    $ver = stripslashes($ver); // Toglie la \ dove sta! 
    $pos = stripslashes($pos); // Toglie la \ dove sta! 
    $Query_Str="INSERT INTO programmi(Nome, 
    Descrizione, 
    URL, 
    Versione, 
    Prezzo, 
    Posizione) 
    VALUES('$nome', 
    '$tex', 
    '$url', 
    '$ver', 
    '$pre', 
    '$pos')"; 
    
    odbc_exec($a,$Query_Str); 
    
    
    odbc_close($a); 
    } 
    ?>
    
    </body>
    
    
    </html>
    ma purtroppo non funziona... quando apro il DB non mi inserisce nessuno dei dati postati.

    Qualcuno è in grado di dirmi qualcosa a riguardo per favore?


    ps. non fate caso alla mancata identazione.... (scusate)

  2. #2
    up... HELP ME VVoVe: PLEASE

  3. #3
    Nessuno ha mai provato a fare un INSERT da un form dati tramite ODBC utilizzando PHP e DB Access? Potete farmi un esempio pf? Quello di sopra è l'unico che ho trovato ma non funziona e non so dove sbaglio :master:

  4. #4
    upppppppppppppppppppppppppppppppppppppppppppppp

  5. #5
    Possibile che nessuno si sia mai confrontato con un problema simile? Lo so che è alquanto strano... però sono obbligato ad utilizzare PHP-ACCESS e ODBC

  6. #6
    ULTIMO disperato


    UP

  7. #7
    1° non rimuovere ASSOLUTAMENTE la slash perché senno succede un casotto ... la devi invece convertire in due apici singoli

    2° fatti stampare la query e prova a lanciarla a mano e a verificare che tutti i nomi dei campi siano corretti

    3° usa http://it2.php.net/manual/it/function.odbc-error.php e http://it2.php.net/manual/it/function.odbc-errormsg.php per leggere il messaggio d'errore

  8. #8
    Innanzitutto grazie per avermi risposto!
    Purtroppo non posso testare ciò che mi hai detto fino a stasera/domani...
    cmq ti chiedo ancora alcuni chiarimenti pf.


    1° non rimuovere ASSOLUTAMENTE la slash perché senno succede un casotto ... la devi invece convertire in due apici singoli
    ok, quindi non devo usare striplashes... ma come faccio e cosa intendi con convertire in due apici singoli? (scusa l'ignoranza)



    2° fatti stampare la query e prova a lanciarla a mano e a verificare che tutti i nomi dei campi siano corretti
    i nomi dei campi sono corretti e la query dovrebbe funzionare


    ok stasera/domani provo e poi ti faccio sapere.

    Grazie ancora

  9. #9
    1° su access per fare l'escape di un apice si usa un'altro apice ... di conseguenza se c'è un'apice nella query questi devono diventare due! ... ovvero devi usare $query = str_replace('\'', '\'\'', $query);

    2° si ma non si sa mai

  10. #10
    Ok thanks


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.