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

    [PHP/MySql/Html]Problema con un board

    Salve ragazzi... sto creando una specie di board per aggiungere dei commenti su un sito.... Funziona.. nn ci sono problemi nel funzionamento... ma c'è 1 piccolo bug... Se nel testo del messaggio o nel nome o nell'oggetto ci sono degli apostrofi mi da errore... questo perkè nella query ke invia la pagina mi chiude il testo ke voglio inserire (cioè se io metto una query tipo "insert into board values ('$var')", se $var=L'onda poi la query sarà "insert into board values ('L'onda')"... nn so se capite cosa voglio dire.)

    Ora il board l'ho messo online su http://connecting.myftp.biz/

    Vorrei sapere come fare per evitare questo problema... e poi un'altra cosa:

    Ho messo un input box per il messaggio... e l'ho fatto grande proprio perkè il messaggio dev'essere molto più lungo rispetto al nome ed all'oggetto... solo che pur essendo alto mi fa utilizzare solo una riga... vorrei invece utilizzare tutte le righe possibili (proprio quando scrivo un messaggio in questo forum... mi fa utilizzare tutte le righe dello spazio e anche di più facendomi apparire una scrollbar addirittura)

    Spero ke ci sia qualcuno in grado di aiutarmi... è da un paio di giorni ke ho iniziato a lavorare nella creazione di pagine web dinamiche... questa è la mia prima "applicazione" in php... e addirittura la mia prima nell'interazione con un database mysql... quindi devo prenderci un pò la mano

    Grazie.

    Ciao.

    By Hakuji

  2. #2
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027
    ciao, ti consiglio di leggere una guida di html, poi una di css poi una di php.

    Per ora se vuoi la soluzione ai tuoi problemi, usa queste 2 funzioni, la prima durante l'inserimento, la seconda la applichi al record ricevuto da db.

    http://fr.php.net/manual/it/function.addslashes.php
    http://fr.php.net/manual/it/function.stripslashes.php

    Per l'altro quesito, devi usare una textarea al posto del campo input.

    ciao

  3. #3
    Ok ma così se metto un "\" me lo toglie xD. Ah una cosa... qual'è la proprietà che devo indicare nella variabile se metto una textarea? (cioè... ad esempio se uso una input box uso la proprietà "name")

  4. #4
    Utente di HTML.it L'avatar di neida
    Registrato dal
    Feb 2005
    Messaggi
    1,478
    Dovendo gestire la cosa tramite database, ti consiglierei di evitare l'uso di addslashes() e sfruttare invece le funzioni dedicate all'escape delle stringhe da memorizzare in database. Le soluzioni proposte in questa pillola potrebbero aiutarti a fare la scelta giusta.

    Per identificare vari campi del form, sia che si tratti di text, textarea, checkbox e simili, dovrai sempre fare riferimento all'attributo "name" del campo interessato.

  5. #5
    Originariamente inviato da neida
    Dovendo gestire la cosa tramite database, ti consiglierei di evitare l'uso di addslashes() e sfruttare invece le funzioni dedicate all'escape delle stringhe da memorizzare in database. Le soluzioni proposte in questa pillola potrebbero aiutarti a fare la scelta giusta.
    Rileggendo questa guida mi sono accorto ke in effetti non c'è bisogno del stripslashes()... cmq usando solo addslashes() va bene... almeno per il momento

    Originariamente inviato da neida
    Per identificare vari campi del form, sia che si tratti di text, textarea, checkbox e simili, dovrai sempre fare riferimento all'attributo "name" del campo interessato.
    Sì in effetti c ho pensato dopo a questo

    Ora xò vorrei provi un'altra domanda ke mi son dimenticato di porre all'inizio del topic...

    Come faccio a dirgi di scrivere i dati in ordine cronologico decrescente? (avendo un campo 'data' per la data di invio del messaggio)

    EDIT: Ho provato utilizzare una textarea lasciando sempre lo stesso nome... ma se vado a capo lo ignora... nel html in pratica non scrive
    per ogni a capo... cm mai?

  6. #6
    Ovviamente inviato da Me
    EDIT: Ho provato utilizzare una textarea lasciando sempre lo stesso nome... ma se vado a capo lo ignora... nel html in pratica non scrive
    per ogni a capo... cm mai?
    Non sono riuscito ad utilizzare l'edit quindi lo scrivo con un altro post.

    Ho risolto il problema... utilizzando l'istruzione nl2br($stringa) (new line to break) legge tutte le interruzioni di linea e aggiunge "
    "

  7. #7
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027
    Originariamente inviato da Hakujiz
    Rileggendo questa guida mi sono accorto ke in effetti non c'è bisogno del stripslashes()... cmq usando solo addslashes() va bene... almeno per il momento
    addslashes, o le funzioni specifiche dei diversi db aggiungono un backslash davanti ai caratteri speciali.

    Se quando riprendi i dati da db non usi stripslashes ti troverai dei risultati del genere:

    codice:
    l\'ago nel pagliaio
    ciao

  8. #8
    Originariamente inviato da gianiaz
    addslashes, o le funzioni specifiche dei diversi db aggiungono un backslash davanti ai caratteri speciali.

    Se quando riprendi i dati da db non usi stripslashes ti troverai dei risultati del genere:

    l \ 'ago nel pagliaio (senza spazi)

    ciao
    (col code ti toglie lo slash :P) cmq non lo fà perkè ho disattivato le magic quotes quindi nel database me lo memorizza come l'ago nel pagliaio

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.