Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1
    Utente di HTML.it L'avatar di NOFXER
    Registrato dal
    Feb 2005
    Messaggi
    340

    Problema di echo del messaggio in GuestBook

    Salve a tutti. sto smanettando con uno script Guestbook scritto in .php , solo che ho un problema che, vista la mia ignoranza, non riesco a risolvere.
    praticamente mi stampa tutti gli imput del forum correttamente, ma se si allunga il messaggio la pagina si allunga di conseguenza in orizzontale, rendendo il tutto osceno.
    vorrei far stare la mia pagina entro un certo limite, tale da non dover usare la barra orizzontale, oppure in qualche modo andare a capo dopo un certo numero di parole, o in qualsiasi altro modo io possa ottenere cio' che desidero.
    Qualcuno puo' darmi una mano??
    ecco il link al guestbook per un' idea
    http://nofxer.altervista.org/guestbook/guestbook.php


    Grazie per l'attenzione
    Saluti

    NOFXER

  2. #2
    basta mettere la larghezza fissa alla cella che contiene il messaggio..

    se poi il problema lo hai in presenza di parole molto lunghe [sequenze di caratteri senza spazio] devi implementare una qualche funzione per il wordwrapping.. ad esempio questa:

    Codice PHP:
    function mywordwrap($stringa,$cols=60,$cut="
    "
    )
     {
       
    $tag 0;
       for (
    $i 0$i strlen($stringa); $i++) 
         {
           if (
    $stringa['$i'] == '<')
              
    $tag++; 
           elseif (
    $stringa['$i'] == '>')
              
    $tag--;
             elseif ((!
    $tag) && ($stringa['$i'] ==" ")) 
                 
    $wordlen 0;
                elseif (!
    $tag
                  
    $wordlen++;

           if ((!
    $tag) && ($wordlen) && (!($wordlen $cols)))
                
    $chr .= $cut;
       
           
    $result .= $chr;
         }
       return 
    $result;
     } 

  3. #3
    Utente di HTML.it L'avatar di NOFXER
    Registrato dal
    Feb 2005
    Messaggi
    340
    MMM vediamo dunque: 1)larghezza fissa alla cella del messaggio? dove devo mettere le mani?
    2) questo codice wordwrap puo' essere copiato e incollato IDENTICO in qualsiasi punto?
    Scusa la mia ignoranza ma posseggo conoscenze veramente limitate
    Saluti

    NOFXER

  4. #4
    Utente di HTML.it L'avatar di NOFXER
    Registrato dal
    Feb 2005
    Messaggi
    340
    ho inserito il codice wordwrap ma non funziona
    le parole spaziate vengono mandate a capo, mentre le parole senza spazio no.
    un qualsiasi furbacchione mi potrebbe allungare il guestbook all'infinito...
    e cmq dovrei limitare anche l'input del messaggio, altrimenti chiunque potrebbe scrivere all'infinito e intasare il guestbook.

    Suggerimenti? ("specifici ")

  5. #5
    Utente di HTML.it L'avatar di deleted_id_48586
    Registrato dal
    Nov 2002
    Messaggi
    1,732
    Per mettere un limite al testo immesso negli input basta che indichi ad essi un attributo maxlength="[n° caratteri]" es: maxlength="8".
    Il problema è che con le textarea l'attributo maxlength non c'è quindi dovresti risolvere il problema in altro modo, con javascript per esempio.

    Oppure se vuoi lasciare libero il testo che viene immesso puoi sempre troncare dopo tot caratteri il testo che estrai da DB o da file e che presenti a video.

    con PHP puoi usare la funzione substr($stringa,0,50)

  6. #6
    Utente di HTML.it L'avatar di NOFXER
    Registrato dal
    Feb 2005
    Messaggi
    340
    Ok Risolto tutto, tranne una cosa fastidiosa.
    Ho provato ad inserire dei messaggi di prova, e sono arrivato circa a tre pagine di guest.
    posso sfogliare queste pagine tramite un pulsante sotto (Pagina successiva) e tornare indietro tramite il pulsante (Pagina precedente), soltanto che quando ho completato l'avanti e indietro ritorno alla prima pagina del guestbook avendo sotto il pulsante "Pagina Precedente" e non posso piu' sfogliarlo perchè una volta che ci clicco mi rimanda alla stessa prima pagina.
    Capito piu' o meno?
    per una prova pratica
    http://nofxer.altervista.org/guestbook/guestbook.php
    Sapreste consigliarmi come fare?
    Grazie per l'attenzione
    Saluti

    NOFXER

  7. #7
    [supersaibal]Originariamente inviato da NOFXER
    ho inserito il codice wordwrap ma non funziona
    le parole spaziate vengono mandate a capo, mentre le parole senza spazio no.
    un qualsiasi furbacchione mi potrebbe allungare il guestbook all'infinito...
    e cmq dovrei limitare anche l'input del messaggio, altrimenti chiunque potrebbe scrivere all'infinito e intasare il guestbook.

    Suggerimenti? ("specifici ") [/supersaibal]

    è la dichirazione di una funzione.
    Devi invocarla dandole in input il testo originale, e da in output il testo modificato...


    $testo_da_visualizzare = mywordwrap($testo_originale);

    studiati l'uso delle funzioni se non ti è chiaro ^_^

  8. #8
    [supersaibal]Originariamente inviato da Sgurbat
    Per mettere un limite al testo immesso negli input basta che indichi ad essi un attributo maxlength="[n° caratteri]" es: maxlength="8".
    [/supersaibal]
    ma che scherzi? il problema è che non gli manda a capo un testo lungo... mica lo risolvi accorciando il testo da inserire -.-

    [supersaibal]
    Il problema è che con le textarea l'attributo maxlength non c'è quindi dovresti risolvere il problema in altro modo, con javascript per esempio.
    [/supersaibal]
    non scherziamo per favore -.-

    [supersaibal]
    Oppure se vuoi lasciare libero il testo che viene immesso puoi sempre troncare dopo tot caratteri il testo che estrai da DB o da file e che presenti a video.

    con PHP puoi usare la funzione substr($stringa,0,50) [/supersaibal]


    bella cosa.. uno scrive una cosa lunga e tu gliela trocnchi senza avvisarlo dopo 50 caratteri.... -.-

    Qua sul forum ti risulta siano limitati i caratteri? Semplicemente se la cella ha una dimensione fissa i testi lunghi vengono mandatio a capo.. se ci sono spazi.
    Se non ci sono spazi interviene la funzione per il wordwrapping che spezza le parole troppo lunghe ^_^


  9. #9
    Utente di HTML.it L'avatar di deleted_id_48586
    Registrato dal
    Nov 2002
    Messaggi
    1,732
    1. C'è l'hai con me?
    2. maxlength: avevo capito (erroneamente) che volesse limitare l'input.
    3. maxlength e textarea: perchè starei scherzando? per il tag textarea l'attributo maxlength non esiste. http://www.w3schools.com/tags/tag_textarea.asp
    4.e tu come faresti per impedire che in output venga presentato un testo kilometrico? i casi sono due: o si impedisce che questo possa essere inserito a DB (la cosa migliore) oppure lo si tronca in output in modo da non impastare la pagina. Gli ho suggerito questo proprio per il timore che aveva sollevato di uso "improprio" del guestbook.

    P.S.
    Se scherzo metto le faccine altrimenti non scherzo.

  10. #10
    [supersaibal]Originariamente inviato da Sgurbat
    1. C'è l'hai con me?
    2. maxlength: avevo capito (erroneamente) che volesse limitare l'input.
    3. maxlength e textarea: perchè starei scherzando? per il tag textarea l'attributo maxlength non esiste. http://www.w3schools.com/tags/tag_textarea.asp
    4.e tu come faresti per impedire che in output venga presentato un testo kilometrico? i casi sono due: o si impedisce che questo possa essere inserito a DB (la cosa migliore) oppure lo si tronca in output in modo da non impastare la pagina. Gli ho suggerito questo proprio per il timore che aveva sollevato di uso "improprio" del guestbook.

    P.S.
    Se scherzo metto le faccine altrimenti non scherzo. [/supersaibal]
    1) no... semplicemente evito che tu confonda un utente che chiede aiuto ^_^
    2 e £) parlavo di javascript -.-
    4) il suo problema non è limitare il testo complessivo [anche quello andrebbe fatto, per non oltrepassare i limiti del database], ma quello di non sfasare la tabella per cui sono due le cose da fare: dare una larghhezza alla tabella, e spezzar le parole troppo lunghe...



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.