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

    [php/mysql] contenuti form troncati

    Salve a tutti.
    ho un problema con un form. dopo il submit i dati finiscono in una pagina che permette di visualizzarli per esser sicuri che sia tutto giusto. In seguito un altro submit li passa al Database.
    Durante quest'ultimo passaggio xò, a volte (e ripeto, in maniera totalmente casuale, almeno da quel che posso vedere io) uno dei campi di testo perde dei dati. Nel db arrivano soltanto X caratteri su Y. Non vi è nessun elemento comune tra i vari casi. Nessun carattere che tronca, la quantità di caratteri che viene cancellata è sempre diversa.
    Gli altri dati arrivano perfettamente e anche l'altro campo di testo che c'è nel form arriva sempre perfettamente al db.
    C'è da dire che di solito il campo di testo incriminato contiene testi lunghi.

    Qualcuno può aiutarmi? È un problema comune? Devo postare il codice del submit?
    Scusate sono un po' alle prime armi con php ma mi sto sforzando

    Grazie.

    ciauz,
    Ale
    Moderatore di me stesso
    LAVORICREATIVI.COM - ANNUNCI PER CREATIVI e AGENZIE
    SNOWTURA.COM - UNDER CONSTRUCTION

  2. #2
    up!
    Moderatore di me stesso
    LAVORICREATIVI.COM - ANNUNCI PER CREATIVI e AGENZIE
    SNOWTURA.COM - UNDER CONSTRUCTION

  3. #3
    avrai un apostrofo o altro forse senza il carattere di escape.

    mettere due righe di script relative al form male non farebbe.

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  4. #4
    faccio quel che posso.
    ecco il form in pag1.php:
    codice:
    <form name="form1" method="post" action="pag2.php">
    ...
    Curriculum Vitae <font color="#FF0000">*</font>
    
    <textarea name="n_cv" cols="50" rows="5" id="n_cv"></textarea>
    ...
    <input type="submit" name="Submit" value="&gt; Invio">
    ecco un estratto di pag2.php
    codice:
    <form name="form1" method="post" action="pag3.php">
    ...
    <?php vuoto(stripslashes($n_cv),'Curriculum Vitae') ?>
    <input name="n_cv" type="hidden" value="<?php echo $n_cv ?>">
    ...
    <input type="submit" name="Submit" value="&gt; Confermo">
    ed ecco infine pag3.php
    codice:
    <?php 
    $n_data=date ("Y-m-d");
    
    $sql = "INSERT INTO schede_persone (categoria,nome,tel,email,sito,indirizzo,prov,password,
    data,annuncio,contratto,retribuzione,cv,stato,login) values ('".$n_categoria."','".$n_nome."','".$n_tel."','".$n_email."',
    '".$n_sito."','".$n_indirizzo."','".$n_prov."','".$n_password."',
    '".$n_data."','".$n_annuncio."','".$n_contratto."',
    '".$n_retribuzione."','".$n_cv."','w','".$n_login."')";
    $res= mysql_query($sql,$conn)
     or die( "Errore inserendo il dato : " . mysql_error() );
    if ($res){
    $passwordx=$n_password;
    $mailx=$n_email;
    echo '
    I dati sono stati caricati con successo nel nostro database.
    ';
    }
    mysql_close ($conn);
    ?>
    penso che sia questo di cui hai bisogno...
    in caso contrario sarò costretto a inviarti le pagine complete. purtroppo il codice non l'ho scritto io ed essendo novizio ho anche qualche difficoltà a interpretare tutto quanto.
    Moderatore di me stesso
    LAVORICREATIVI.COM - ANNUNCI PER CREATIVI e AGENZIE
    SNOWTURA.COM - UNDER CONSTRUCTION

  5. #5
    Stai usando register_globals in ON ??? Che versione di php hai installato?

    In pag2 vuoto(), una funzione tua cioe' non di sistema php, toglie i caratteri di escape con stripslashes. Poi li passa a un campo hidden.

    Questi verranno reinviati al form. Verifica se il contenuto viene troncato in presenza di un apostrofo.

    Controlla con phpinfo() le magic quote e register_globals.

    Lo script dalle poche righe postate pare ben datato, nel senso di obsoleto, scritto per versioni di php precedenti la 4.2

    Se sei novizio mi suona come impresa disperata.

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  6. #6
    la versione di php è la 4.1.0

    register_globals on

    magic_quotes_gpc
    On On
    magic_quotes_runtime
    Off Off
    magic_quotes_sybase
    Off Off
    Moderatore di me stesso
    LAVORICREATIVI.COM - ANNUNCI PER CREATIVI e AGENZIE
    SNOWTURA.COM - UNDER CONSTRUCTION

  7. #7
    ho fatto la prova dell'apostrofo ma non è quello il problema

    in effetti cmq le pagine risalgono ai primi del 2004 se non erro...
    Moderatore di me stesso
    LAVORICREATIVI.COM - ANNUNCI PER CREATIVI e AGENZIE
    SNOWTURA.COM - UNDER CONSTRUCTION

  8. #8
    Originariamente inviato da snowtura
    ho fatto la prova dell'apostrofo ma non è quello il problema

    in effetti cmq le pagine risalgono ai primi del 2004 se non erro...
    Infatti lo script e' fatto per quella versione di php.

    Devi cercare di capire quale e' il carattere che interrompe l'inserimento. Stampa la stringa ad ogni passaggio di pagina e vedi dove si interrompe.

    In pag.2 ad inizio pagina dopo il tag php metti:

    echo $n_cv."
    ";

    poi la funzione vuoto()

    e dopo nuovamente:

    echo $n_cv."
    ";


    se qui la stringa segue sempre completa, metti la stessa cosa ad inizio pag3. In pag3 dopo la definizione della query string, stampa anche qui la stringa:

    echo $sql;

    In pratica metti dei punti di debug per valutare dove la stringa viene tagliata. Prima identifica una stringa che viene interrotta, poi applichi questi controlli.

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  9. #9
    pag2.php serve appunto per visualizzare il contenuto del form. non è li ke viene troncato xkè viene sempre visualizzato bene. ora cmq faccio una prova con un testo ke ricordo ke venne troncato.
    il problema insorge dal submit in poi...

    cmq adesso faccio un po di debug come suggerisci tu
    Moderatore di me stesso
    LAVORICREATIVI.COM - ANNUNCI PER CREATIVI e AGENZIE
    SNOWTURA.COM - UNDER CONSTRUCTION

  10. #10
    Bene, e mentre ci sei verifica anche la dimensione del campo che deve accogliere la stringa... nel senso che sia sufficientemente dimensionato.

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

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.