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!

Rispondi quotando
