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

    sistema revisione che approva commento

    ciao a tutti,
    ho l'esigenza di inviare tramite un form dati in una tabella presente nel db, L'amministratore(l'unico user dellla sezione riservata del sito) deve avere la possibilità di decidere se modificare, cancellare e pubblicare o meno i dati inviati...
    Per modificarli e cancellarli non ho problemi ma per pubblicarli si, perchè il form scrive nel db...

    I dati vengono da mè ordinati per data e quindi l'ultimo dato viene stampato nella pagina del sito(lato utente) senza passare la verifica dell'amministartore

    come posso risolvere


    questa è la pagina dell'area amministarzione da dove gestistisco i dati passati dal form e scelgo cosa fare cioè se cancellarli, modificarli o pubblicarli:

    Codice PHP:
    <?php
    session_start
    ();
    include_once(
    "secure.php.inc");
    ?>

    <?php
    if(isset($_SESSION['autorizza'])){                    
    $pag=@$_GET['num'];
    if(!
    $pag){
    $pag=0;
    $pag2=20;
    }else{
    $pag=(($pag-1)*20);
    $pag2=20;
    //print $pag." ".$pag2;
    }
    $conta=0;
    include(
    'connessione.php');
    $query="SELECT * FROM commento";
    if(
    mysql_query($query,$connection)){
    $risultato=mysql_query($query);
    while(
    $riga=mysql_fetch_array($risultato)){
    $conta+=1;
    }
    $npag=$conta/20;
    for(
    $i=1;$i<=$npag;$i++){
    print 
    "<a href=\"commento.php?num=$i\">$i</a>";
    }
                                
    $query="SELECT * FROM commento ORDER BY data_com_ita DESC LIMIT $pag,$pag2";
                                if(
    mysql_query($query,$connection)){
                                    
    $risultato=mysql_query($query);
                                    print 
    "<table>\n";
                                    print 
    "<tr class=\"style2\"\"><td>comm_ita<font></td><td>comm_arab</td><td>data_com_ita</td><td>data_com_arab</td>";
                                    
                                    print 
    "<td>Modifica</td><td>Elimina</td><td>Pubblica</td>\n</tr>\n";
                                    
    $i=0;
                                    while(
    $riga=mysql_fetch_array($risultato)){
                                        
    $id_comm=$riga['id_comm'];
                                        
    $i++;
                                        
    $rig=$i%2;
                                        if(
    $rig==0){
                                        echo
    "<tr style=\"background-color:#ccc;\">\n";
                                        }else{
                                        echo
    "<tr>\n";
                                        }
                                        echo
    "<td>$riga[comm_ita]</td>\n";
                                        echo
    "<td>$riga[comm_arab]</td>\n";
                                        echo
    "<td>$riga[data_com_ita]</td>\n"
                                        echo
    "<td>$riga[data_com_arab]</td>\n"
                                        echo
    "<td> <a href=\"modifica.php?id=$riga[id_comm]\">modifica<a/></td>\n<td><a href=\"cancella.php?id_comm=$id_comm\" onclick=\"return Sicuro();\"> elimina</a><td> <a href=\"pubblica.php?id=$riga[id_comm]\">pubblica<a/></td>\n</td>\n";
                                        echo
    "</tr>\n";
                                    }
                                    echo 
    "</table>\n";
                                }
                            }
                        }else{
                        print 
    "<span class=\"style1\">Per effettuare operazioni in questa sezione è necessario effettuare il login!</span>
    "
    ;    
                        print 
    "<a href=\"index.php\">Torna indietro...</a>";
                        } 
                        
    ?>
    CHI MI FA CAPIRE COME POSSO IMPOSTARE LA PAGINA DEL PUBBLICA?????

  2. #2
    Utente di HTML.it L'avatar di polinet
    Registrato dal
    Nov 2000
    Messaggi
    993
    Io sempre faccio cosi:
    Nel form passo al DB un campo HIDDEN (Autorizzato = N) che nel DB metto come enum(`Y','N')
    Poi dalla tua amministrazione lo gestisci.
    Spero di essermi spiegato.

    Ciauz;
    ¿Hasta la pasta?

  3. #3
    ma mi aiuti con i passaggio della query...?

  4. #4
    up

  5. #5
    aiutatemi!!!!

  6. #6
    Utente di HTML.it L'avatar di polinet
    Registrato dal
    Nov 2000
    Messaggi
    993
    Se dal form passi un campo HIDDEN = NON APPROVATO
    Chiaramente lo salvi nel tuo DB nell'apposito campo da te creato.
    Dalla tua amministrazione (PANNELLO CONTROLLO) visualizza tutti i commenti o che non so.... sono NON APPROVATO.
    Ora impagina i record, ogni record avra il suo link che portera ad una pagina tipo: autorizza.php
    e la query sara:
    UPDATE tua_tabella set autorizzato = Y where id_utente = $id_utente;

    Facci sapere.
    ¿Hasta la pasta?

  7. #7
    HO fatto come mi avete detto ma nulla!!!


    io ho queste tabelle nel mio db

    1:LOGIN
    id_user int 11 auto increment primarykey
    login varchar 50
    password varchar 50
    admin varchar 50

    2:NEWS
    id_news int 11 auto increment primarykey
    tit_ita mediumtext
    abstract_ita mediumtext
    testo_ita longtext
    data_ita date

    3:COMMENTO
    id_comm int 11 auto increment primarykey
    id_news int 11
    com_ita longtext
    data_ita date
    pubblica enum 'a\'b' predefinito a'b

    il form è questo:
    la prima parte visualizza la notizia che l'utente può commentare la seconda è il form
    Codice PHP:
    <?php
    include('connessione.php');
    $id_news=$_GET['id'];
    $query "SELECT tit_ita,testo_ita,data_ita FROM news WHERE id_news='$id_news'";
    $risultato mysql_query($query$connection);
    $riga mysql_fetch_array($risultato);
    list(
    $year$month$day) = split('[-]'$riga['data_ita']);
    $data_ita $day."/".$month."/".$year;
    echo 
    "[b]$riga[tit_ita][/b]

    "
    ;
    echo 
    "$riga[testo_ita]

    "
    ;
    echo 
    $data_ita;
    //} 
    ?>






    <form id="modulomail" action="send_mail.php" method="post">
    <table>
        <tr>
            <td>Nome:</td><td><input type="text" name="nome" size="20"/></td>

        </tr>
        <tr>
            <td>Il tuo indirizzo email:</td><td><input type="text" name="email" size="20" /></td>
        </tr>
        <tr>
            <td>Messaggio:</td><td><textarea name="comm_ita" cols="15" rows="5"></textarea></td>
             <input type='hidden' name='id_news' value="<?php echo $riga['id_news']; ?>">
             <input type='hidden' name='pubblica' value="pubblica = b">
        </tr>

        <tr>
            <td colspan="2">
    <select name="giorno">
    <?php //
    for( $i=1$i<=31$i++){
    if (
    $i==date("d")){
    $ora=" selected";
    }else{
    $ora="";
    }
    echo
    "<option value=\"$i\" $ora>$i</option>\n";
    }
    ?>
    </select>/
    <select name="mese">
    <?php
    for( $i=1$i<=12$i++){
    if (
    $i==date("m")){
    $ora=" selected";
    }else{
    $ora="";
    }
    echo
    "<option value=\"$i\" $ora>$i</option>\n";
    }
    ?>
    </select>/
    <select name="anno">
    <?php
    for( $i=2007$i<2021$i++){
    if (
    $i==date("Y")){
    $ora=" selected";
    }else{
    $ora="";
    }
    echo
    "<option value=\"$i\" $ora>$i</option>\n";
    }
    ?>
    </select>




    <input type="submit" name="invia" value="Invia email"/></td>
        </tr>
    </table>
    </form>

    questo invece è il send_mail che avvisa l'ammonistartore del nuovo commento e va a scrivere sul db

    Codice PHP:

    <?php
    if(isset($_POST['invia'])){
                                    
    $nome $_POST['nome']; 
                                    
    $email $_POST['email']; 
                                    
    $comm_ita=$_POST['comm_ita'];
                                    
    $data_com_ita=$_POST['anno']."-".$_POST['mese']."-".$_POST['giorno'];
                include(
    'connessione.php');
            
    $query="INSERT INTO commento (comm_ita,data_com_ita) VALUES('$comm_ita','$data_com_ita')";
                                        if(
    mysql_query($query,$connection)){
                                        }else{
                                            echo 
    "<span class=\"style1\">invio non avvenuto!!!</span>";
                                        }
            echo 
    "<span class=\"style1\">il commento &egrave; stato inviato correttamente</span>\n";
            print
    "
    "
    ;
            print 
    "<a href=\"index.php\">Torna indietro...</a>";    
                                }
    ?>
    <?php 
    $formcontent
    ="VISITOR NAME: $nome\n\nCommento:Hai ricevuto un nuovo commento\n\nMittente :$email"
    $recipient "xxxxx@hotmail.com"
    $subject "Hai ricevuto un nuovo commento"
    $mailheader "From: $email\r\n"
    $mailheader .= "MIME-Version: 1.0\r\n"
    mail($recipient$subject$formcontent$mailheader) or die("Invio mail fallito!"); 
    echo 
    "Grazie!"
    ?>
    il visualizza commenti l'ho postato come apertura di domanda a cui voi mi avete risposto
    poi ho fatto la pagina pubblica come mi avete detto:

    Codice PHP:
    <?php
    include('connessione.php');
    $id_news=$_GET['id'];
    $query ="UPDATE commento set pubblica = a where id_news ='$id_news'";
    if (
    mysql_query($query,$connection)){
    echo
    "<span class=\"style1\"\">Hai pubblicato il tuo commento</span>";
    }else{
    echo
    "<span class=\"style1\"\">non Hai pubblicato il tuo commento</span>";
    }
    ?>
    ed infine la pagina che mi visualizza il pubblicato

    Codice PHP:

    <?php
    include('connessione.php');
    $query="SELECT id_comm,com_ita,data_com_ita FROM commento ORDER BY data_com_ita DESC LIMIT 0,3"
                                if(
    mysql_query($query,$connection)){
                                    
    $risultato=mysql_query($query);
                                    print 
    "<table>";
                                    print 
    "<tr>";
                                    print 
    "<td>TESTO<font></td><td>DATA</td></tr>";


                                    while(
    $riga=mysql_fetch_array($risultato)){
                                        
    $id_comm=$riga['id_comm'];
                                        echo
    "<tr>";
                                        
                                        
                                        echo
    "<td class=\"odd1\">$riga[com_ita]</td>";
                                        echo
    "<td>$riga[data_com_ita]</td>";
                                        echo
    "</tr>";
                                    }
                                    echo 
    "</table>";
                                }

    ?>
    il problema è che quando vado a fare il pubblica mi da sempre non hai pubblicato la news!!!!

  8. #8
    errata corrige:
    alla fine avevo scritto non hai pubblicato la news,invece era commento..scusate ancora e grazie per l'aiuto che mi state dando...

  9. #9
    HO RISOLTO....,mancavano gli apici alla 'a' nella query in pubblica.php....che fesso che sono...
    vi ringrazio ancora per la pazienza....

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.