Visualizzazione dei risultati da 1 a 8 su 8

Discussione: Inserimento commenti

  1. #1

    Inserimento commenti

    Salve, sto costruendo un blog e nella home page si possono vedere gli articoli, o meglio, le loro 'preview', dopo di che cliccando su un collegamento si può venire reindirizzati all'articolo per intero. Questi articoli possono anche essere commentati (nella pagina dove sono visibili per intero), il problema è che quando io clicco sul submit mi reindirizza alla home page, come se l'id_post non fosse definito.

    Non posso linkarvi al sito in quanto, almeno da quanto mi risulta, il sorgente PHP non è visibile, così vi incollo l'essenziale della pagina:

    <?php
    if ( (!isset($_GET['id_post'])) || (!is_numeric($_GET['id_post'])) )
    {
    header('location: index.php');
    }
    else
    {
    $id_post = $_GET['id_post'];
    }
    ?>
    [ ... ] pagina e suoi vari contenuti
    <?php
    include 'mysql_functions.php';
    $data = new MySQLclass();
    $data -> connect();

    $post_query = $data -> query("SELECT * FROM post WHERE id_post = $id_post");
    if (mysql_num_rows($post_query) > 0)
    {
    $post_obj = $data -> estract($post_query);

    $id_post = $post_obj -> id_post;
    $category_post = $post_obj -> category_post;
    $title_post = $post_obj -> title_post;
    $date_post = $post_obj -> date_post;
    $content_post = $post_obj -> content_post;
    ?>
    <div id="article">
    [img]#[/img]
    <div id="content_article">
    <div class="article_category">
    <?php echo($category_post); ?>
    </div>
    <div class="article_title">
    <?php echo($title_post); ?>
    </div>
    <div class="article_date">
    <?php echo($date_post); ?>
    </div>
    <div class="article_content">
    <?php echo $content_post; ?>
    </div>
    </div>
    </div>
    <div id="new_comment">
    <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
    <div id="username">
    <p class="user">Username</p>
    <input type="text" name="author" size="27" class="value" />
    </div>
    <div id="email">
    <p class="user">Indirizzo email</p>
    <input type="text" name="email" size="27" class="value" />
    </div>
    <div id="URL">
    <p class="user">URL (facoltativo)</p>
    <input type="text" name="URL" size="27" class="value" />
    </div>
    <p class="your_comment">Il tuo commento</p>
    <textarea name="comment" rows="15" cols="50" class="comment"></textarea>
    <?php
    if (isset($_POST['submit']))
    {
    if ( (!isset($_POST['author'])) || (!isset($_POST['email'])) )
    {
    echo ('TUTTI I CAMPI SONO OBBLIGATORI');
    }
    }
    ?>
    <input type="submit" name="submit" value="Commenta" class="insert" />
    <p class="warning">ATTENZIONE: i commenti saranno controllati prima di essere approvati.</p>
    </form>
    </div>

    <?php
    }
    else
    {
    ?>
    <div id="error">
    Non esiste alcun post per questo ID.
    </div>
    <?php
    }
    ?>

    Ho postato solo le parti essenziali del codice della pagina del post intero, se servono quelli della home page o qualunque altro ditemelo pure.
    Ho scritto il codice normalmente, speravo ci fosse uno spoiler o qualcosa per ridurre lo spazio non ho trovato nulla, se c'è il modo di farlo ditemelo per favore e modificherò il messaggio.

    Grazie in anticipo e buona domenica!

  2. #2
    Utente di HTML.it L'avatar di oronze
    Registrato dal
    Jun 2001
    Messaggi
    3,543
    immagino che non abbia scritto tu questo codice! in ogni caso manca il pezzo che recupera e inserisce i commenti

    No ai layout tabellari!

    Insulto libero: http://forum.html.it/forum/showthread.php?s=&postid=12524872#post12524872

  3. #3
    Come no? E' tutta farina del mio sacco dopo aver studiato la guida 'PHP e MySQL pratica' ahahah (infatti se vedi negli articoli loro fanno la pagina per i commenti esterna)

    Sì ma il pezzo che recupera e inserisce i commenti lo dovrei mettere dopo, no? Al momento non ho commenti salvati nel database
    Ciò che vorrei sapere è da cos'è causato quel reindirizzamento e come posso inserirli..

  4. #4
    Utente di HTML.it L'avatar di oronze
    Registrato dal
    Jun 2001
    Messaggi
    3,543
    l'id post lo prende dall'array get, quindi da un url del tipo: www.sito.it/pagina.php?id_post=1
    il reindirizzamento è dato dalla prima riga del codice se id_post non è definito

    No ai layout tabellari!

    Insulto libero: http://forum.html.it/forum/showthread.php?s=&postid=12524872#post12524872

  5. #5
    Senza offesa ma mi sei di poco aiuto, a questo c'ero arrivato anch'io... ciò che volevo sapere io è se il reindirizzamento è causato dal fatto che mentre viene elaborata la pagina contenente i contenuti passati dal form l'id_post è indefinito, o se è causato da altro

  6. #6
    Utente di HTML.it L'avatar di oronze
    Registrato dal
    Jun 2001
    Messaggi
    3,543
    ah...ok, mi sembrava ovvio visto che PHP_SELF non passa i parametri get...
    http://www.sitepoint.com/forums/showthread.php?t=215298
    questo dovrebbe risolvere il tuo problema

    No ai layout tabellari!

    Insulto libero: http://forum.html.it/forum/showthread.php?s=&postid=12524872#post12524872

  7. #7
    Ho provato in entrambi i modi. Il reindirizzamento non avviene più, tuttavia non mi mostra il messaggio di errore, come se fosse !isset($_POST['submit'])

  8. #8

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 © 2026 vBulletin Solutions, Inc. All rights reserved.