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

    Controllo textarea vuota

    Salve, ho un problema che non riesco a risolvere.

    Ho una pagina con un form ed una textarea editabile dall'utente e il suo pulsante invia.

    Il pulsante invia i dati ad una pagina insert che si occupa di inserire il tutto in un database.

    Ora io dovrei verificare che la textarea non sia vuota, altrimenti se è vuota non dovrebbe inserire nulla.

    Meglio ancora sarebbe disabilitare il pulsante invia del form fino a quando non è stato inserito del testo da inviare, ma mi accontento pure di eseguire il controllo nella pagina insert, ed eventualmente non effettuare l'inserimento se la textarea risulta vuota.

    Il problema è che stranamente non riesco nemmeno ad eseguire questa ultima operazione.

    Nella pagina insert, recupero il messaggio inserito nella textarera con il comando

    codice:
    $messaggio = $_POST['textfield'];
    Ora dovrei verificare se il messaggio è vuoto, ho provato con:

    codice:
    if ($messaggio=="") {.....
    poi con
    codice:
    if ($messaggio==" "){.....
    ancora con
    codice:
    if (empity($messaggio)){.....
    ma in tutti i casi non mi riesce di rilevare il messaggio vuoto.

    L'unica cosa che mi viene in mente, è che anche se la textarea è vuota, nel momento dell'invio venga insirito qualche carattere tipo uno spazio o qualcos'altro che faccia diventare la variabile messaggio non più vuota.

    Come potrei risolvere?
    Grazie.

  2. #2
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,448
    Beh, prova a stampare $_POST['textfield'] e vedi cosa contiene.

    Prova anche
    var_dump($_POST['textfield']);
    e vedi cosa dice.

  3. #3
    Stampare la variabile $messaggio è la prima cosa che ho fatto, e non mi stampa nulla.

    Ora ho provato l'istruzione

    echo strlen($messaggio);

    che dovrebbe stampare la lunghezza della stringa, e mi stampa 4, quindi significa che la stringa contiene 4 caratteri.

    Allora mi è venuto in mente di andare a vedere all'interno del database cosa cavolo ci viene inserito, e sorpresa viene inserito il carattere <br>

    Scoperto l'arcano mistero.
    Ora posso controllare se i primi caratteri sono <br> e capire così se la textarea è vuota.

  4. #4
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,448
    Ma non è che il tag <textarea> nella pagina l'hai scritto così?

    <textarea name='textfield'>
    </textarea>

    Va scritto così
    <textarea name='textfield'></textarea>

    altrimenti viene inserito il ritorno a capo.

  5. #5
    Quote Originariamente inviata da Alhazred Visualizza il messaggio
    Ma non è che il tag <textarea> nella pagina l'hai scritto così?

    <textarea name='textfield'>
    </textarea>

    Va scritto così
    <textarea name='textfield'></textarea>

    altrimenti viene inserito il ritorno a capo.
    No, è scritto tutto in una riga.
    Il problema, probabilmente è che tale textarea fà parte di uno script, preso dalla rete, che in pratica genera un editor di testo, dove quindi è possibile scrivere in grassetto, corsivo, centrato, colorato, ecc.

    Sicuramente è lo script ad inserire questo <br>, ed ora ho scoperto un altra cosa, che se invio un messaggio vuoto da cellulare, mi inserisce <p>&nbsp;</p>

    Mi sa che con questo script mi sono andato a complicare la vita, ma dato che c'erano non potevano pure mettere una funzione che disabilità il tasto invia, quando la textarea è vuota...

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.