Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    query sql restituisce ragione sociale ma il metodo post taglia la stringa.....:-(

    Ciao a Tutti,
    sono abbasta nuovo di programmazione e mi e' capitata la seguente situazione...
    mi connetto ad un database per estrarre la ragione sociale dalla tabella chiamata contatti e mostrarne i risultati in una select html.......e fino a qui' tutto bene.
    Quindi utilizzando il metedo post trasferisco il contenuto della select in un'altra pagina per visualizzarlo in caso di modifica, bene a questo punto, la stringa che e' formata da nome spazio cognome spazio ruolo mi viene restituita con i soli dati precedenti al primo spazio ed io non riesco in alcun modo a ottenere la visualizzazione piena.
    in sintesi vorrei , una volta selezionata la ragione sociale tramite un array da questa poter estrarre id e ragione sociale da memorizzare in due variabili al fine di eseguire una query sql che mi permetta nella medesima pagina di visualizzare tutti i dati del record senza dover inviare i dati con il metodo post e quindi escludendo il problema di base.
    Spero di essere stato abbastanza chiaro e di riuscire a trovare qualcuno di buon cuore che possa aiutarmi a risolvelvere.
    Anticipatamente grazie a tutti

  2. #2
    Utente di HTML.it L'avatar di clasku
    Registrato dal
    Aug 2006
    Messaggi
    3,197
    posta il codice, ci deve essere qualche problema dato che POST non "taglia" i dati

  3. #3
    Si, effettivamente era come dici :-)
    il problema risiedeva nel ciclo while della select e nella relativa assegnazione alla variabile, me ne scuso :-(
    Ti ringrazio per la tua celere risposta e mi chiedevo se avresti modo di dare un'occhiato a questo codice ed a questo errore dipendente dalla queri di inserimento nel db....
    evito solo di postare i parametri della connessione essendo un applicazione che finisce on line....

    // Selezioniamo il database a cui vogliamo connetterci
    $db_selected = mysql_select_db('rubrica', $conn);
    if (!$db_selected) {
    die ("Errore nella selezione del database: " . mysql_error());
    }
    // recupero i valori e li assegno alle variabili
    $nome = $_POST["nome"];
    $cellulare = $_POST["cellulare"];
    $ufficio = $_POST["ufficio"];
    $fax = $_POST["fax"];
    $email = $_POST["email"];
    $note = $_POST["note"];
    $id = $_POST["id"];
    // Ora prepariamo la query (l’interrogazione al database)
    $q ="INSERT INTO contatti (null, nome, cellulare, ufficio, fax, email, note) values ('$id', '$nome', '$cellulare', '$ufficio', '$fax', '$email', '$note')";
    // Lanciamo la query:
    $result = mysql_query($q);
    if (!$result){
    die ("Errore nella QUERY del database: " . mysql_error());
    }
    // E chiudiamo la connessione a MySQL
    mysql_close();
    questo invece l'errore:
    Errore nella query del database:
    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 'null, nome, cellulare, ufficio, fax, email, note) values ('id', 'FRANCESCA xxxx' at line 1

    Sono pressoche' sicuro che mi sfugge qualcosa....

  4. #4
    se sei nuovo di programmazione passa subito alle funzioni mysqli che le mysql sono preistoria e non più funzionanti dalla versione 7 di php

  5. #5
    Utente di HTML.it L'avatar di clasku
    Registrato dal
    Aug 2006
    Messaggi
    3,197
    oltre al giusto suggerimento sul passaggio a mysqli per la azioni sul DB, verifica sempre:
    - che i dati che ti arrivano dal form siano formalmente corretti (se ti aspetti un numero, non devi trovare una lettera, ecc)
    - usa la funzione mysql_real_escape per proteggere il DB da caratteri speciali (nel tuo caso, magari un campo contiene un apice che "rompe" la query)

    stai sempre attento ad evitare che possa essere iniettato del codice nei campi, in modo da aumentare al massimo la sicurezza

  6. #6
    tipo questo..............
    <?php
    /************************************************** *****
    Autore: Luca De Luca
    web: http://www.bugless.it
    Data realizzaqzione dello script: 24 marzo 2012
    Realizzato per: http://www.scalabrini.org

    ************************************************** *****/


    /** funzione per eliminare i caratteri pericolosi dai campi provenienti dal form per evitare tentativi di query-injections**/
    function pulisci($login){
    $login=str_replace(";","",$login);
    $login=str_replace(":","",$login);
    $login=str_replace(",","",$login);
    $login=str_replace("'","",$login);
    $login=str_replace("*","",$login);
    $login=str_replace("?","",$login);
    $login=str_replace("=","",$login);
    $login=str_replace("&","",$login);
    $login=str_replace("%","",$login);
    $login=str_replace("$","",$login);
    $login=str_replace("<","",$login);
    $login=str_replace(">","",$login);
    $login=str_replace("#","",$login);
    return $login;
    }
    ?>
    Ciao grazie per la tua disponibilita' e consigli, ho provato a installare la versione sucessiva al 7 ma e' un casino, cambiano totalmente le istruzioni e la formattazione delle stesse ed io devo consegnare entro domani l'applicazione....
    Ma vedi, mi pare di averti detto di non essere un programmatore e questa e' verita', ma sono anche un sistemista certifica cisco CCNP e non uno sprovveduto.
    Infine per non impazzirmi sono ritornato alla versione 5.1.
    Buona serata :-)


  7. #7
    si ma le mysql rimangono comunque deprecate

Tag per questa discussione

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