Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2008
    Messaggi
    46

    problema con post e serialize

    da una pagina php con un form :
    ho dei campi text tipo:
    <input size="" name="nome" value="" type="text">
    il nome è in un formato :
    [numeroid]-[stringaitaliana]+[stringainglese]
    ma il problema è un'altro :
    se il numero di caratteri del nome è superiore ad un certo valore il campo non viene inviato , e ovviamnete neanche il value, perchè il tutto viene serializzato nel db con :
    Codice PHP:
    $array serialize($_POST);     
    $array_fields "array_fields = '".mysql_escape_string(utf8_encode($array))."',";
    $sql mysql_query("UPDATE xxx_offers SET
                 
    $array_fields
            WHERE id = '"
    .$_GET['id']."' ") or die( mysql_error() ); 
    ma nella stringa di serializzazione viene omesso quel campo superiore ad un certo numero di caratteri...perchè? è una questione del php.ini.?
    Grazie

  2. #2
    Per quale motivo hai creato un nome in un formato così complesso e salvi tutto nel DB come una serializzazione?

  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2008
    Messaggi
    46

    è un gestionale un pò complesso

    Originariamente inviato da filippo.toso
    Per quale motivo hai creato un nome in un formato così complesso e salvi tutto nel DB come una serializzazione?
    grazie della risposta intanto..
    perchè il gestionale è multilingue ...sarebbe troppo lungo spiegarti come ho fatto ciò...
    il succo del discorso è questo:
    la chiave del post ha dei limiti che sono magari settati dal php.ini?
    Grazie ancora

  4. #4
    Si, il post ha dei limiti settati nel php.ini, ma di solito questi sono settati a svariati megabyte, non credo possa essere quello il problema...

    Piuttosto io verificherei la lunghezza in byte della mysql_escape_string(utf8_encode($array)) e la corrispondente capienza del campo array_fields nella tabella di mysql...

    Comunque, mi sembra assolutamente un controsenso questo metodo di salvare le cose in più lingue in un unico campo, anche perchè significa che se qualcuno ti scrive nel testo in italiano un carattere di quelli che tu usi per separare l'italiano dall'inglese tutto il tuo sistema va a pallino...
    "Le uniche cose che sbagli sono quelle che non provi a fare."
    Atipica

  5. #5
    Utente di HTML.it
    Registrato dal
    Mar 2008
    Messaggi
    46

    allora

    Originariamente inviato da Shores
    Si, il post ha dei limiti settati nel php.ini, ma di solito questi sono settati a svariati megabyte, non credo possa essere quello il problema...

    Piuttosto io verificherei la lunghezza in byte della mysql_escape_string(utf8_encode($array)) e la corrispondente capienza del campo array_fields nella tabella di mysql...

    Comunque, mi sembra assolutamente un controsenso questo metodo di salvare le cose in più lingue in un unico campo, anche perchè significa che se qualcuno ti scrive nel testo in italiano un carattere di quelli che tu usi per separare l'italiano dall'inglese tutto il tuo sistema va a pallino...
    il campo array fields è di tipo TEXT ...il sistema è troppo complesso per spiegartelo in poche righe , ma va...(ci sta dietro una gestione di form creati per ogni articolo e la creazione di PDF).
    Poi può benissimo essere che abbia la tendenza a complicare le cose...
    Grazie della risposta

  6. #6
    Utente di HTML.it
    Registrato dal
    Mar 2008
    Messaggi
    46

    ok

    Originariamente inviato da Shores
    Si, il post ha dei limiti settati nel php.ini, ma di solito questi sono settati a svariati megabyte, non credo possa essere quello il problema...

    Piuttosto io verificherei la lunghezza in byte della mysql_escape_string(utf8_encode($array)) e la corrispondente capienza del campo array_fields nella tabella di mysql...

    Comunque, mi sembra assolutamente un controsenso questo metodo di salvare le cose in più lingue in un unico campo, anche perchè significa che se qualcuno ti scrive nel testo in italiano un carattere di quelli che tu usi per separare l'italiano dall'inglese tutto il tuo sistema va a pallino...
    ok mettendo longtext funziona

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.