Visualizzazione risultati 1 fino 4 di 4

Discussione: php: non mandare un commento se textarea è vuota

  1. #1
    Guest

    Predefinito php: non mandare un commento se textarea è vuota

    ciao questa è la mia pagina per mandare i commenti:

    Codice PHP:
    <h1>Inserisci un tuo commento:</h1>
    <? if(isset($_SESSION['utente'])) // se è settata la variabile session allora è connesso
    {

    // includiamo il file di configurazione
    @include "configr.php";

    // se sono stati inviati dei parametri valorizziamo con essi le variabili
    // per l'inserimento nella tabella
    if(isset($_POST['submit'])){



    // trovo l'username
    $sql = "SELECT username FROM utenti WHERE username = '" . $_SESSION['utente'] . "'";
    $query = @mysql_query($sql) or die (mysql_error());
    $row = mysql_fetch_array($query) or die (mysql_error());

    $autore = $row['username'];

    if(isset(
    $_POST['testo'])){
    $testo = addslashes($_POST['testo']);
    }
    if(isset(
    $_POST['id'])){
    $com_art = addslashes($_POST['id']);
    }


    // popoliamo i campi della tabella commenti con i dati ricevuti dal form
    $sql = "INSERT INTO commenti1 (com_autore, com_testo, com_art, com_data) VALUES ('$autore', '$testo', '$com_art', now())";

    // se l'inserimento ha avuto successo inviamo una notifica
    if (@mysql_query($sql) or die (mysql_error())){
    echo
    "Commento inserito con successo.";
    }
    }else{
    //controlliamo che l'id dell'articolo sia realmente esistente
    if(isset($_GET['id'])&&(is_numeric($_GET['id']))){
    $com_art = addslashes($_GET['id']);
    $sql = "SELECT art_id FROM articoli WHERE art_id='$com_art'";
    $query = @mysql_query($sql) or die (mysql_error());
    if(
    mysql_num_rows($query) > 0){
    // se non sono stati inviati dati dal form mostriamo il modulo per l'inserimento
    ?>
    <form action="insert_comment.php" method="post">
    Inserisci un commento:<br>
    <textarea name="testo" cols="40" rows="10"></textarea><br>
    <input name="id" type="hidden" value="<? echo $com_art; ?>"><br>
    <input name="submit" type="submit" value="Invia">
    </form>
    <?
    // se l'id dell'articolo non esiste o non è numerico inviamo delle notifiche
    }
    }
    }
    }
    else{
    echo
    "Devi essere registrato per lasciare un commento.<br>Registrati cliccando <a href=\"register.php\">QUI</a>";
    }

    ?>


    vorrei fare in modo che se nella textarea non è stato scritto niente se si preme invio venga stampato un messaggio del tipo "inserisci un commento"..

    solo che non riesco xD avevoi pensato di usare un comando del tipo

    Codice PHP:
    {
    if(!isset(
    $_POST['testo']))
    {
    echo
    "metti un commento";
    }
    se non va bene questo mi dirte come dovrei fare?? e dove inserirlo più che altro..

  2. #2
    L'avatar di sevenjeak
    sevenjeak non è connesso AlterGuru
    Data registrazione
    25-10-2007
    Residenza
    Roma
    Messaggi
    1,767

    Predefinito

    isset() controlla se la variabile esiste ( nel tuo caso se esiste il campo ), te più di controllare la sua esistenza dovresti controllare se risulta vuota, utilizza empty() in questo modo:

    Codice PHP:
    if (empty($_POST['testo'])) {
    echo
    "Il campo è vuoto.";
    }
    Ultima modifica di sevenjeak : 23-12-2012 alle ore 15.23.08

    Sevenjeak
    Software developer and much more

  3. #3
    Guest

    Predefinito

    l'ho inserito giusto così o va in altra posizione?

    Codice PHP:
    <h1>Inserisci un tuo commento:</h1>
    <? if(isset($_SESSION['utente'])) // se è settata la variabile session allora è connesso
    {

    // includiamo il file di configurazione
    @include "configr.php";

    // se sono stati inviati dei parametri valorizziamo con essi le variabili
    // per l'inserimento nella tabella
    if(isset($_POST['submit'])){
    if (empty(
    $_POST['testo'])) {
    echo
    "Il campo è vuoto.";
    }else{




    // trovo l'username
    $sql = "SELECT username FROM utenti WHERE username = '" . $_SESSION['utente'] . "'";
    $query = @mysql_query($sql) or die (mysql_error());
    $row = mysql_fetch_array($query) or die (mysql_error());

    $autore = $row['username'];

    if(isset(
    $_POST['testo'])){
    $testo = addslashes($_POST['testo']);
    }
    if(isset(
    $_POST['id'])){
    $com_art = addslashes($_POST['id']);
    }


    // popoliamo i campi della tabella commenti con i dati ricevuti dal form
    $sql = "INSERT INTO commenti1 (com_autore, com_testo, com_art, com_data) VALUES ('$autore', '$testo', '$com_art', now())";

    // se l'inserimento ha avuto successo inviamo una notifica
    if (@mysql_query($sql) or die (mysql_error())){
    echo
    "Commento inserito con successo.";
    }
    }else{
    //controlliamo che l'id dell'articolo sia realmente esistente
    if(isset($_GET['id'])&&(is_numeric($_GET['id']))){
    $com_art = addslashes($_GET['id']);
    $sql = "SELECT art_id FROM articoli WHERE art_id='$com_art'";
    $query = @mysql_query($sql) or die (mysql_error());
    if(
    mysql_num_rows($query) > 0){
    // se non sono stati inviati dati dal form mostriamo il modulo per l'inserimento
    ?>
    <form action="insert_comment.php" method="post">
    <div id="comm">
    <textarea name="testo" cols="40" rows="10"></textarea><br>
    <input name="id" type="hidden" value="<? echo $com_art; ?>"><br>
    <input name="submit" type="submit" value="Invia">
    </form></div>
    <?
    // se l'id dell'articolo non esiste o non è numerico inviamo delle notifiche
    }
    }
    }
    }
    else{
    echo
    "Devi essere registrato per lasciare un commento.<br>Registrati cliccando <a href=\"register.php\">QUI</a>";
    }

    ?>

  4. #4
    Guest

    Predefinito

    risolto!

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •