Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 24

Discussione: Commenti File Unico

  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2012
    Messaggi
    190

    Commenti File Unico

    Attualmente uso due Files per il Modulo Commenti, ma per questione di comodità e semplicità vorrei semplificarlo ad uno. E' parecchio che tento in ques'impresa ma mai riuscito, il problema è che cliccando sul Submit del Form mi reidirizza sulla pagina stesso, propio come deve essere, MA non c'è alcun commento nel DataBase. Ecco lo script:

    Codice PHP:
    /* -- Connessione al Database dei Commenti -- */
    include 'database_commenti.php';
            
    if(
    count($_POST) > 0)
    {
        
    $ip $_SERVER['REMOTE_ADDR'];
        
    $agent $_SERVER['HTTP_USER_AGENT'];
        
    $date_db time();
        
    $nickname htmlentities($_POST['nickname']);
        
    $commento htmlentities($_POST['commento']);
        
        if(!empty(
    $nickname) || !empty($commento)) 
        {
            
    /* -- Controllo se i Campi contengano Testo -- */
            
    if (empty($nickname)) 
            {
                
    $status "[b]Inserisci il tuo Nickname![/b]";
                (isset(
    $commento)) ? $commento_text $commento $commento_text "";
            }
            if (empty(
    $commento)) $status "[b]Inserisci il tuo Commento![/b] (max 250 caratteri)";
        }
        else 
        {
            
    $db_commenti_sec "INSERT INTO " $sec " (filename_code_extension, nickname, commento, userIP, country, date, agent) ";
            
    $db_commenti_sec.= "VALUES ('$sourceID', '$nickname', '$commento', '$ip', '$country', '$date_db', '$agent')";
            
            
    /* -- Salvataggio del NickName e del Commento nel DataBase -- */
            
    $write mysql_query ($db_commenti_sec) or die (mysql_error()); 
            if (
    $write === FALSE$status "Errore nel salvataggio del commento. Riprova.";
            else 
    $status "Il commento è stato inserito correttamente";
        }


  2. #2
    Utente di HTML.it
    Registrato dal
    May 2012
    Messaggi
    1,453
    Quindi secondo la tua logica se o il nickname o il commento sono compilati
    controlla gli errori e sennò inserisce il commento nel database con i campi vuoti ?

  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2012
    Messaggi
    190
    Originariamente inviato da RoTeam
    Quindi secondo la tua logica se o il nickname o il commento sono compilati
    controlla gli errori e sennò inserisce il commento nel database con i campi vuoti ?
    Mio Dio! Sono diventato scemo
    Cosi ora va:
    Codice PHP:
    /* -- Connessione al Database dei Commenti -- */
    include 'database_commenti.php';
            
    if(
    count($_POST) > 0)
    {
        
    $ip $_SERVER['REMOTE_ADDR'];
        
    $agent $_SERVER['HTTP_USER_AGENT'];
        
    $date_db time();
        
    $nickname htmlentities($_POST['nickname']);
        
    $commento htmlentities($_POST['commento']);
        
        if(!empty(
    $nickname) && !empty($commento)) 
        {
            
    /* -- Impostiamo la Query -- */
            
    $db_commenti_sec "INSERT INTO " $sec " (filename_code_extension, nickname, commento, userIP, country, date, agent) ";
            
    $db_commenti_sec.= "VALUES ('$sourceID', '$nickname', '$commento', '$ip', '$country', '$date_db', '$agent')";
            
            
    /* -- Salvataggio del NickName e del Commento nel DataBase -- */
            
    $write mysql_query ($db_commenti_sec) or die (mysql_error()); 
            if (
    $write === FALSE$status "Errore nel salvataggio del commento. Riprova.";
            else 
    $status "Il commento è stato inserito correttamente";
        
        }
        else
        {
            
    /* -- Controllo se i Campi contengano Testo -- */
            
    if (empty($nickname)) 
            {
                
    $status "[b]Inserisci il tuo Nickname![/b]";
                (isset(
    $commento)) ? $commento_text $commento $commento_text "";
            }
            if (empty(
    $commento)) $status "[b]Inserisci il tuo Commento![/b] (max 250 caratteri)";
        }

    Ma ora aggiornando la pagina mi inserisce sempre un commento. Cioè se inserisco "ciao", aggiornando mi reinserisce il commento "ciao"...come mai?

  4. #4
    Utente di HTML.it
    Registrato dal
    May 2012
    Messaggi
    1,453
    perchè le variabili post continuano ad esistere nell'if aggiungi un piccolo ciclo cosi

    Codice PHP:

    if(!empty($nickname) && !empty($commento)){


    //....query e tutto...


    //alla fine

    foreach($_POST as $var) unset($_POST[$var]);



  5. #5
    Utente di HTML.it
    Registrato dal
    Mar 2012
    Messaggi
    190
    Originariamente inviato da RoTeam
    perchè le variabili post continuano ad esistere nell'if aggiungi un piccolo ciclo
    Così oppure devo sostituire il $var?
    Codice PHP:
        if(!empty($nickname) && !empty($commento)) 
        {
            
    /* -- Impostiamo la Query -- */
            
    $db_commenti_sec "INSERT INTO " $sec " (filename_code_extension, nickname, commento, userIP, country, date, agent) ";
            
    $db_commenti_sec.= "VALUES ('$sourceID', '$nickname', '$commento', '$ip', '$country', '$date_db', '$agent')";
            
            
    /* -- Salvataggio del NickName e del Commento nel DataBase -- */
            
    $write mysql_query ($db_commenti_sec) or die (mysql_error()); 
            if (
    $write === FALSE$status "Errore nel salvataggio del commento. Riprova.";
            else 
    $status "Il commento è stato inserito correttamente";
            
            foreach(
    $_POST as $var) unset($_POST[$var]); 
        } 

  6. #6
    Utente di HTML.it
    Registrato dal
    May 2012
    Messaggi
    1,453
    Originariamente inviato da Lory9618
    Così oppure devo sostituire il $var?
    Codice PHP:
        if(!empty($nickname) && !empty($commento)) 
        {
            
    /* -- Impostiamo la Query -- */
            
    $db_commenti_sec "INSERT INTO " $sec " (filename_code_extension, nickname, commento, userIP, country, date, agent) ";
            
    $db_commenti_sec.= "VALUES ('$sourceID', '$nickname', '$commento', '$ip', '$country', '$date_db', '$agent')";
            
            
    /* -- Salvataggio del NickName e del Commento nel DataBase -- */
            
    $write mysql_query ($db_commenti_sec) or die (mysql_error()); 
            if (
    $write === FALSE$status "Errore nel salvataggio del commento. Riprova.";
            else 
    $status "Il commento è stato inserito correttamente";
            
            foreach(
    $_POST as $var) unset($_POST[$var]); 
        } 
    Se vuoi mettergli un nome piu carino fai pure

  7. #7
    Utente di HTML.it
    Registrato dal
    Mar 2012
    Messaggi
    190
    Originariamente inviato da RoTeam
    Se vuoi mettergli un nome piu carino fai pure
    No, non per quello pensavo che forse $var andava a essere sostituita da $nickname o $commento, perche con $var continua ad esserci quel problema

  8. #8
    Utente di HTML.it
    Registrato dal
    May 2012
    Messaggi
    1,453
    Originariamente inviato da Lory9618
    No, non per quello pensavo che forse $var andava a essere sostituita da $nickname o $commento, perche con $var continua ad esserci quel problema
    Mmm strano , in questo caso visto che sono 2 prova fare unset su entrambe senza un ciclo

  9. #9
    Utente di HTML.it
    Registrato dal
    Mar 2012
    Messaggi
    190
    Originariamente inviato da RoTeam
    Mmm strano , in questo caso visto che sono 2 prova fare unset su entrambe senza un ciclo
    Se è cosi, ma mi potrei essere sbagliato, non va neanche
    Codice PHP:
        if(!empty($nickname) && !empty($commento)) 
        {
            
    /* -- Impostiamo la Query -- */
            
    $db_commenti_sec "INSERT INTO " $sec " (filename_code_extension, nickname, commento, userIP, country, date, agent) ";
            
    $db_commenti_sec.= "VALUES ('$sourceID', '$nickname', '$commento', '$ip', '$country', '$date_db', '$agent')";
            
            
    /* -- Salvataggio del NickName e del Commento nel DataBase -- */
            
    $write mysql_query ($db_commenti_sec) or die (mysql_error()); 
            if (
    $write === FALSE$status "Errore nel salvataggio del commento. Riprova.";
            else 
    $status "Il commento è stato inserito correttamente";
            
            unset(
    $_POST[$commento]); 
            unset(
    $_POST[$nickname]); 
        } 

  10. #10
    Utente di HTML.it
    Registrato dal
    May 2012
    Messaggi
    1,453

    Codice PHP:
    unset($_POST['commento']);  
            unset(
    $_POST['nickname']); 
    Oppure potresti provare cosi se un giorno aggiungerai altre variabili

    Codice PHP:

    for($i 0$i<count($_POST); $i++) unset($_POST[$i]); 

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.