Visualizzazione dei risultati da 1 a 9 su 9

Discussione: Commenti [MySQL/PHP]

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

    Commenti [MySQL/PHP]

    Io ho un form all'interno di un file, chiamato commenti.php, l'actions di questo form riporta alla pagina stessa (actions='commenti.php') e legge quel che c'è di seguito, cioè prima legge quello e poi il form:

    Codice PHP:
    [...]
    echo 
    $_POST['nickname'];
    echo 
    $_POST['commento'];
    if (!(empty(
    $_POST))) {
        
    $user $_SERVER['REMOTE_ADDR'];
        
    $agent $_SERVER['HTTP_USER_AGENT'];
        
    $date_db time();
        
    $nickname htmlentities($_POST['nickname']);
        
    $commento htmlentities($_POST['commento']);
        if(!empty(
    $nickname) || !empty($commento)) {
            
    //controlliamo se i campi cotengono testo
            
    if (empty($nickname)) {
                
    $status "Non hai inserito il Nickname";
                (isset(
    $commento)) ? $commento_text $commento $commento_text "";
            }
            if (empty(
    $commento)) $status "Inserisci il tuo commento! (max 250 caratteri)";
        }
        else {
            
    $db_commenti_sec "INSERT INTO commenti_"$sec ." (filename_code_extension, nickname, commento, userIP, date, agent) VALUES ('"$sourceID ."', '"$nickname ."', '" .$commento ."', '"$user ."', '"$date_db ."', '"$agent ."')";
            
    //connessione al database
            
    include 'database.php';

            
    //salviamo il nickname e il commento nel database
            
    $write mysql_query ($db_commenti_sec);
            if (
    $write === FALSE$status "Errore nel salvataggio del commento. Riprova.";
            else 
    $status "Il commento è stato inserito correttamente";
        }
    }
    [...] 
    Tutte le variabili sono dichiarate correttamente e la connessione al db è funzionante, pero non va, come mai? Quel'è il problema? Come risolverlo?

    P.S.: dato che non mi appare nessun segno di errore e riappare il form, credo che il problema sia che if (!(empty($_POST))) non viene affatto letto.

  2. #2
    Utente di HTML.it
    Registrato dal
    Jan 2009
    Messaggi
    777
    credo che la riga che hai citato tu possa essere scritta meglio cosi
    Codice PHP:
    if (!empty($_POST)) 
    o meglio ancora cosi
    Codice PHP:
    if (isset($_POST))) 

  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2012
    Messaggi
    190
    [QUOTE]Originariamente inviato da amphioxus
    credo che la riga che hai citato tu possa essere scritta meglio cosi
    Codice PHP:
     

  4. #4
    Utente di HTML.it
    Registrato dal
    Jan 2009
    Messaggi
    777
    hai modificato anche questa riga?
    Codice PHP:
        if(!empty($nickname) || !empty($commento)) { 

  5. #5
    Utente di HTML.it
    Registrato dal
    Mar 2012
    Messaggi
    190
    Originariamente inviato da amphioxus
    hai modificato anche questa riga?
    Codice PHP:
        if(!empty($nickname) || !empty($commento)) { 
    Ok

  6. #6
    Utente di HTML.it
    Registrato dal
    Jan 2009
    Messaggi
    777
    no no chiedo scusa è giusta

  7. #7
    Utente di HTML.it
    Registrato dal
    Jan 2009
    Messaggi
    777
    allora tu dici
    se è assente il cookie non mettere il value altimenti se è presenti scrivi il nickname
    Codice PHP:
    if (empty($_COOKIE['nickname'])){
    echo 
    "";

    else{
    echo 
    $_COOKIE['nickname'];

    scrivila cosi

  8. #8
    Utente di HTML.it
    Registrato dal
    Jan 2009
    Messaggi
    777
    letta cosi l'applicazione mi dice se il cookie è vuoto come è all'inizio quando magari un nuovo utente si collega, il nickname rimarrà sempre vuoto comunque

    quindi io scriverei cosi
    Codice PHP:
    if (isset($_COOKIE['nickname' ])){
    echo 
    $_COOKIE['nickname'];


  9. #9
    Utente di HTML.it
    Registrato dal
    Mar 2012
    Messaggi
    190
    Originariamente inviato da amphioxus
    allora tu dici
    se è assente il cookie non mettere il value altimenti se è presenti scrivi il nickname
    Codice PHP:
    if (empty($_COOKIE['nickname'])){
    echo 
    "";

    else{
    echo 
    $_COOKIE['nickname'];

    scrivila cosi
    Il value di Nickname?
    Cosi?:
    Codice PHP:
    <input type="text" id="nickname" name="nickname" maxlength="20" value="<?php if (empty($_COOKIE['nickname'])){ echo "";}else{echo $_COOKIE['nickname'];}?>">
    Non va

    Inoltre, c'è un altro problema:
    quando vado sulla pagina del form appare sotto il form:
    "Il commento è stato inserito correttamente" e si crea un commento vuoto.
    Cosa che dovrebbe apparire solo quando viene inserito un commento e cliccato sul button.

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.