Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2012
    Messaggi
    10

    [Mysql-Php] Problema con $query = "INSERT INTO....

    Salve...
    Ho un problema con l'inserimento dei dati(documenti)
    nel database Mysql, problema con la query $query = "INSERT INTO.....
    Non riesco ad inviare i dati al database.
    Ho provato in vari modi con vari messaggi di errore:
    ho provato $query = "INSERT INTO documenti(titolo, ecc.) VALUES ('.$titolo.','.$nota.',ecc.)";
    ho provato $query = "INSERT INTO documenti(titolo, ecc.) VALUES ("'.$titolo.'","'.$nota.'",ecc.)";
    ho provato $query = "INSERT INTO documenti(titolo, ecc.) VALUES ('$_POST['titolo']',ecc.)"; senza fare le variabili per ogni campo
    Il save.php in allegato espone l'ultima versione non funzionante del codice.
    Ottengo il seguente errore per ogni campo (titolo, nota ecc.):
    Notice: Undefined variable: titolo in D:\wamp\www\WCP ULTIMO-NON VA-\save.php on line 193
    Alla fine ho cmq il messaggio di inserimento corretto del documento ma quando apro PhpMyAdmin ho un nuovo
    record/documento nella tabella ma campi vuoti.
    Confido in un aiuto...Grazie






    <?php
    include("top_foot.inc.php");
    include("config.inc.php");


    //Verifica della password (memorizzata in config.inc) per l'inserimento del documento.

    if ($_POST['pass'] != $password):
    echo "Password errata";

    //Recupero i dati dal form.


    $titolo=$_POST['titolo'];
    $nota = $_POST['nota'];
    $infolinkremoto1 = $_POST['infolinkremoto1'];
    $linkremoto1 = $_POST['linkremoto1'];
    $infolinkremoto2 = $_POST['infolinkremoto2'];
    $linkremoto2 = $_POST['linkremoto2'];
    $infolinkremoto3 = $_POST['infolinkremoto3'];
    $linkremoto3 = $_POST['linkremoto3'];
    $infolinklocale1 = $_POST['infolinklocale1'];
    $linklocale1 = $_POST['linklocale1'];
    $infolinklocale2 = $_POST['infolinklocale2'];
    $linklocale2 = $_POST['linklocale2'];
    $infolinklocale3 = $_POST['infolinklocale3'];
    $linklocale3 = $_POST['linklocale3'];
    $infoipertesto = $_POST['infoipertesto'];
    $ipertesto = $_POST['ipertesto'];
    $testo = $_POST['testo'];
    $data = $_POST['data'];
    $infosingolafoto = $_POST['infosingolafoto'];
    $singolafoto = $_POST['singolafoto'];
    $infogruppofoto = $_POST['infogruppofoto'];
    $infoaudio = $_POST['infoaudio'];
    $audio = $_POST['audio'];
    $infovideo = $_POST['infovideo'];
    $video = $_POST['video'];
    $infofiletesto = $_POST['infofiletesto'];
    $filetesto = $_POST['filetesto'];
    $infoscansione = $_POST['infoscansione'];
    $scansione = $_POST['scansione'];
    $infositoweb = $_POST['infositoweb'];
    $sitoweb = $_POST['sitoweb'];
    $etichetta = $_POST['etichetta'];
    $tipodocumento = $_POST['tipodocumento'];


    //Condizioni obbligatorie per accettazione inserimento: i seguenti campi devono essere riempiti altrimenti messaggio di errore.


    elseif
    (trim($_POST['titolo']) == "" OR trim($_POST['nota']) == ""OR trim($_POST['etichetta']) == ""OR trim($_POST['tipodocumento']) == ""):
    echo "I campi titolo, nota, data, argomento e tipologia documento devono essere compilati!";

    else:


    //Controllo gli slash e assegno il valore html a caratteri particolari


    $_POST['titolo'] = addslashes(stripslashes($_POST['titolo']));
    $_POST['nota'] = addslashes(stripslashes($_POST['nota']));
    $_POST['etichetta'] = addslashes(stripslashes($_POST['etichetta']));
    $_POST['tipodocumento'] = addslashes(stripslashes($_POST['tipodocumento']));



    $_POST['titolo'] = str_replace("<", "&lt;", $_POST['titolo']);
    $_POST['titolo'] = str_replace(">", "&gt;", $_POST['titolo']);
    $_POST['nota'] = str_replace("<", "&lt;", $_POST['nota']);
    $_POST['nota'] = str_replace(">", "&gt;", $_POST['nota']);
    $_POST['etichetta'] = str_replace("<", "&lt;", $_POST['etichetta']);
    $_POST['etichetta'] = str_replace(">", "&gt;", $_POST['etichetta']);
    $_POST['tipodocumento'] = str_replace("<", "&lt;", $_POST['tipodocumento']);
    $_POST['tipodocumento'] = str_replace(">", "&gt;", $_POST['tipodocumento']);


    $_POST['infolinkremoto1'] = addslashes(stripslashes($_POST['infolinkremoto1']));
    $_POST['infolinkremoto1'] = str_replace("<", "&lt;", $_POST['infolinkremoto1']);
    $_POST['infolinkremoto1'] = str_replace(">", "&gt;", $_POST['infolinkremoto1']);

    $_POST['linkremoto1'] = addslashes(stripslashes($_POST['linkremoto1']));
    $_POST['linkremoto1'] = str_replace("<", "&lt;", $_POST['linkremoto1']);
    $_POST['linkremoto1'] = str_replace(">", "&gt;", $_POST['linkremoto1']);

    $_POST['infolinkremoto2'] = addslashes(stripslashes($_POST['infolinkremoto2']));
    $_POST['infolinkremoto2'] = str_replace("<", "&lt;", $_POST['infolinkremoto2']);
    $_POST['infolinkremoto2'] = str_replace(">", "&gt;", $_POST['infolinkremoto2']);

    $_POST['linkremoto2'] = addslashes(stripslashes($_POST['linkremoto2']));
    $_POST['linkremoto2'] = str_replace("<", "&lt;", $_POST['linkremoto2']);
    $_POST['linkremoto2'] = str_replace(">", "&gt;", $_POST['linkremoto2']);

    $_POST['infolinkremoto3'] = addslashes(stripslashes($_POST['infolinkremoto3']));
    $_POST['infolinkremoto3'] = str_replace("<", "&lt;", $_POST['infolinkremoto3']);
    $_POST['infolinkremoto3'] = str_replace(">", "&gt;", $_POST['infolinkremoto3']);

    $_POST['infolinklocale1'] = addslashes(stripslashes($_POST['infolinklocale1']));
    $_POST['infolinklocale1'] = str_replace("<", "&lt;", $_POST['infolinklocale1']);
    $_POST['infolinklocale1'] = str_replace(">", "&gt;", $_POST['infolinklocale1']);


    $_POST['linklocale1'] = addslashes(stripslashes($_POST['linklocale1']));
    $_POST['linklocale1'] = str_replace("<", "&lt;", $_POST['linklocale1']);
    $_POST['linklocale1'] = str_replace(">", "&gt;", $_POST['linklocale1']);

    $_POST['infolinklocale2'] = addslashes(stripslashes($_POST['infolinklocale2']));
    $_POST['infolinklocale2'] = str_replace("<", "&lt;", $_POST['infolinklocale2']);
    $_POST['infolinklocale2'] = str_replace(">", "&gt;", $_POST['infolinklocale2']);

    $_POST['linklocale2'] = addslashes(stripslashes($_POST['linklocale2']));
    $_POST['linklocale2'] = str_replace("<", "&lt;", $_POST['linklocale2']);
    $_POST['linklocale2'] = str_replace(">", "&gt;", $_POST['linklocale2']);

    $_POST['infolinklocale3'] = addslashes(stripslashes($_POST['infolinklocale3']));
    $_POST['infolinklocale3'] = str_replace("<", "&lt;", $_POST['infolinklocale3']);
    $_POST['infolinklocale3'] = str_replace(">", "&gt;", $_POST['infolinklocale3']);

    $_POST['linklocale3'] = addslashes(stripslashes($_POST['linklocale3']));
    $_POST['linklocale3'] = str_replace("<", "&lt;", $_POST['linklocale3']);
    $_POST['linklocale3'] = str_replace(">", "&gt;", $_POST['linklocale3']);


    $_POST['testo'] = addslashes(stripslashes($_POST['testo']));
    $_POST['testo'] = nl2br($_POST['testo']);
    $_POST['testo'] = str_replace("<", "&lt;", $_POST['testo']);
    $_POST['testo'] = str_replace(">", "&gt;", $_POST['testo']);

    $_POST['infosingolafoto'] = addslashes(stripslashes($_POST['infosingolafoto']));
    $_POST['infosingolafoto'] = str_replace("<", "&lt;", $_POST['infosingolafoto']);
    $_POST['infosingolafoto'] = str_replace(">", "&gt;", $_POST['infosingolafoto']);

    $_POST['singolafoto'] = addslashes(stripslashes($_POST['singolafoto']));
    $_POST['infogruppofoto'] = str_replace("<", "&lt;", $_POST['infogruppofoto']);
    $_POST['infogruppofoto'] = str_replace(">", "&gt;", $_POST['infogruppofoto']);

    $_POST['infogruppofoto'] = addslashes(stripslashes($_POST['infogruppofoto']));
    $_POST['infogruppofoto'] = str_replace("<", "&lt;", $_POST['infogruppofoto']);
    $_POST['infogruppofoto'] = str_replace(">", "&gt;", $_POST['infogruppofoto']);

    $_POST['infoaudio'] = addslashes(stripslashes($_POST['infoaudio']));
    $_POST['infogruppofoto'] = str_replace("<", "&lt;", $_POST['infogruppofoto']);
    $_POST['infogruppofoto'] = str_replace(">", "&gt;", $_POST['infogruppofoto']);

    $_POST['audio'] = addslashes(stripslashes($_POST['audio']));
    $_POST['infogruppofoto'] = str_replace("<", "&lt;", $_POST['infogruppofoto']);
    $_POST['infogruppofoto'] = str_replace(">", "&gt;", $_POST['infogruppofoto']);

    $_POST['infovideo'] = addslashes(stripslashes($_POST['infovideo']));
    $_POST['infovideo'] = str_replace("<", "&lt;", $_POST['infovideo']);
    $_POST['infovideo'] = str_replace(">", "&gt;", $_POST['infovideo']);

    $_POST['video'] = addslashes(stripslashes($_POST['video']));
    $_POST['video'] = str_replace("<", "&lt;", $_POST['video']);
    $_POST['video'] = str_replace(">", "&gt;", $_POST['video']);

    $_POST['infofiletesto'] = addslashes(stripslashes($_POST['infofiletesto']));
    $_POST['infofiletesto'] = str_replace("<", "&lt;", $_POST['infofiletesto']);
    $_POST['infofiletesto'] = str_replace(">", "&gt;", $_POST['infofiletesto']);

    $_POST['filetesto'] = addslashes(stripslashes($_POST['filetesto']));
    $_POST['filetesto'] = str_replace("<", "&lt;", $_POST['filetesto']);
    $_POST['filetesto'] = str_replace(">", "&gt;", $_POST['filetesto']);

    $_POST['infoscansione'] = addslashes(stripslashes($_POST['infoscansione']));
    $_POST['infoscansione'] = str_replace("<", "&lt;", $_POST['infoscansione']);
    $_POST['infoscansione'] = str_replace(">", "&gt;", $_POST['infoscansione']);

    $_POST['scansione'] = addslashes(stripslashes($_POST['scansione']));
    $_POST['scansione'] = str_replace("<", "&lt;", $_POST['scansione']);
    $_POST['scansione'] = str_replace(">", "&gt;", $_POST['scansione']);

    $_POST['infositoweb'] = addslashes(stripslashes($_POST['infositoweb']));
    $_POST['infositoweb'] = str_replace("<", "&lt;", $_POST['infositoweb']);
    $_POST['infositoweb'] = str_replace(">", "&gt;", $_POST['infositoweb']);

    $_POST['sitoweb'] = addslashes(stripslashes($_POST['sitoweb']));
    $_POST['sitoweb'] = str_replace("<", "&lt;", $_POST['sitoweb']);
    $_POST['sitoweb'] = str_replace(">", "&gt;", $_POST['sitoweb']);


    $_POST['data'] = mktime("0", "0", "0", $_POST['mese'], $_POST['giorno'], $_POST['anno']);



    $db = mysql_connect($db_host, $db_username, $db_password);
    if ($db == FALSE)
    die ("Errore nella connessione. Verificare i parametri nel file config.inc.php");
    mysql_select_db($db_name, $db)
    or die ("Errore nella selezione del database. Verificare i parametri nel file config.inc.php");

    $query = "INSERT INTO documenti (titolo, nota,infolinkremoto1,linkremoto1,infolinkremoto2,l inkremoto2,infolinkremoto3,linkremoto3,infolinkloc ale1,linklocale1,infolinklocale2,linklocale2,infol inklocale3,linklocale3,infoipertesto,ipertesto,tes to,data,infosingolafoto,singolafoto,infogruppofoto ,infoaudio,audio,infovideo,video,infofiletesto,fil etesto,infoscansione,scansione,infositoweb,sitoweb ,etichetta,tipodocumento) VALUES ('$titolo','$nota','$infolinkremoto1','$linkremoto 1','$infolinkremoto2','$linkremoto2','$infolinkrem oto3','$linkremoto3','$infolinklocale1','$linkloca le1','$infolinklocale2','$linklocale2','$infolinkl ocale3','$linklocale3','$infoipertesto','$ipertest o','$testo','$data','$infosingolafoto','$singolafo to','$infogruppofoto','$infoaudio','$audio','$info video','$video','$infofiletesto','$filetesto','$in foscansione','$scansione','$infositoweb','$sitoweb ','$etichetta','$tipodocumento')";


    if (mysql_query($query, $db))
    echo "Il documento è inserito correttamente";
    else
    echo "Errore durante l'inserimento: ".mysql_error();
    //echo "Errore durante l'inserimento";
    mysql_close($db); endif;
    ?>

  2. #2
    Fai un echo della query subito dopo la stessa
    echo $query;

    Poi la passi sul phpmyadmin e vedi che errore ti stampa.

    Ciao
    Perchè uso Maxthon? | Mi piace questa chat

  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2012
    Messaggi
    10

    ....ho visualizzato queti errori

    Spero di aver fatto quello che mi hai detto.....


    Dopo l'inserimento di un dato:

    i soliti messaggi di errore per ogni campo..
    Notice: Undefined variable: titolo in D:\wamp\www\WCP ULTIMO-NON VA-\save.php on line 193

    e alla fine

    INSERT INTO documenti (titolo, nota,infolinkremoto1,linkremoto1,infolinkremoto2,l inkremoto2,infolinkremoto3,linkremoto3,infolinkloc ale1,linklocale1,infolinklocale2,linklocale2,infol inklocale3,linklocale3,infoipertesto,ipertesto,tes to,data,infosingolafoto,singolafoto,infogruppofoto ,infoaudio,audio,infovideo,video,infofiletesto,fil etesto,infoscansione,scansione,infositoweb,sitoweb ,etichetta,tipodocumento) VALUES ('','','','','','','','','','','','','','','','',' ','','','','','','','','','','','','','','','','') Il documento è inserito correttamente


    In PhpMyAdmin

    SELECT * FROM `documenti` WHERE 1
    echo $query;
    ERRORE
    #1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'echo $query LIMIT 0, 30' at line 2

    Non so come interpretarlo...

  4. #4
    Utente di HTML.it
    Registrato dal
    Dec 2012
    Messaggi
    10

    ...forse dovevo fare così

    $query = "INSERT INTO documenti (titolo, nota,infolinkremoto1,linkremoto1,infolinkremoto2,l inkremoto2,infolinkremoto3,linkremoto3,infolinkloc ale1,linklocale1,infolinklocale2,linklocale2,infol inklocale3,linklocale3,infoipertesto,ipertesto,tes to,data,infosingolafoto,singolafoto,infogruppofoto ,infoaudio,audio,infovideo,video,infofiletesto,fil etesto,infoscansione,scansione,infositoweb,sitoweb ,etichetta,tipodocumento) VALUES ('$titolo','$nota','$infolinkremoto1','$linkremoto 1','$infolinkremoto2','$linkremoto2','$infolinkrem oto3','$linkremoto3','$infolinklocale1','$linkloca le1','$infolinklocale2','$linklocale2','$infolinkl ocale3','$linklocale3','$infoipertesto','$ipertest o','$testo','$data','$infosingolafoto','$singolafo to','$infogruppofoto','$infoaudio','$audio','$info video','$video','$infofiletesto','$filetesto','$in foscansione','$scansione','$infositoweb','$sitoweb ','$etichetta','$tipodocumento')";
    echo $query;

    e mi da questo errore

    Errore

    Query SQL:

    $query = "INSERT INTO documenti (titolo, nota,infolinkremoto1,linkremoto1,infolinkremoto2,l inkremoto2,infolinkremoto3,linkremoto3,infolinkloc ale1,linklocale1,infolinklocale2,linklocale2,infol inklocale3,linklocale3,infoipertesto,ipertesto,tes to,data,infosingolafoto,singolafoto,infogruppofoto ,infoaudio,audio,infovideo,video,infofiletesto,fil etesto,infoscansione,scansione,infositoweb,sitoweb ,etichetta,tipodocumento) VALUES ('$titolo','$nota','$infolinkremoto1','$linkremoto 1','$infolinkremoto2','$linkremoto2','$infolinkrem oto3','$linkremoto3','$infolinklocale1','$linkloca le1','$infolinklocale2','$linklocale2','$infolinkl ocale3','$linklocale3','$infoipertesto','$ipertest o','$testo','$data','$infosingolafoto','$singolafo to','$infogruppofoto','$infoaudio','$audio','$info video','$video','$infofiletesto','$filetesto','$in foscansione','$scansione','$infositoweb','$sitoweb ','$etichetta','$tipodocumento')";

    Messaggio di MySQL: Documentazione
    #1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '$query = "INSERT INTO documenti (titolo, nota,infolinkremoto1,linkremoto1,infoli' at line 1

    Non capisco cmq...

  5. #5
    Utente di HTML.it
    Registrato dal
    Dec 2012
    Messaggi
    10

    .........

    Non c'è nessuno che possa aiutarmi....?
    Non capisco cosa ci sia di sbagliato nel codice.......!!

  6. #6
    Mmm ... mi sa che dovresti prima cercare di capire meglio il funzionamento del PHP e del MYSQL in generale.

    Comunque, nella tua pagina PHP, dove c'è la query, alla riga successiva metti:

    echo $query;
    exit;

    Ti verrà stampata a video la query che stai cercando di fare, è quella che devi inserire sul phpmyadmin

    Ciao!
    Perchè uso Maxthon? | Mi piace questa chat

  7. #7
    Utente di HTML.it
    Registrato dal
    Dec 2012
    Messaggi
    10

    Ora va....

    Grazie...Bukowski per la tua pazienza...
    Hai ragione....ho cercato di imparare negli ultimi mesi...
    ...ma ho delle lacune.
    Non conoscevo eco $query; exit; e mi sono trovato a disagio.
    Non riportavo correttamente la query in phpMyadmin.

    Nelle mie prove e riprove ho ripreso la versione $query = "INSERT INTO documenti(titolo, ecc.) VALUES ('$_POST[titolo]',ecc.)"(senza fare le variabili per ogni campo)
    e ho potuto vedere che avevo dei problemi con gli apici.

    Ora va !!

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 © 2026 vBulletin Solutions, Inc. All rights reserved.