Allora ho capito cosa intendi ma quello che ho inserito non è il codice completo della pagina che sarebbe il seguente
Codice PHP:
<?php
session_start();
error_reporting(E_ALL);
require_once('../scripts/config.php');
require_once('../scripts/connection.php');
require_once('../Login e registrazione/Users_class.php');
$user = new Users;
/* Controllo se l'utente è loggato */
$is_logged = $user->is_logged();
if($is_logged === FALSE){
header("Location: ../Login e registrazione/Signin.php");
exit;
}
/* Controllo privilegi utente */
$group_permitted = $user->check_group(1);
if($group_permitted === FALSE){
echo "Non sei autorizzato a visitare questa pagina.";
exit;
}
/* Se l'articolo è stato inviato */
if(isset($_POST['a_submit']) AND isset($_POST['a_title']) AND isset($_POST['a_body'])){
$title = trim($_POST['a_title']);
$body = trim($_POST['a_body']);
$url_title = str_replace(" ", "-", $title);
$user_id = $_SESSION['auth'];
$author = $_SESSION['username_logged'];
$query = sprintf("SELECT * FROM users WHERE user_id='%d' and username='%s'", mysql_real_escape_string($user_id), mysql_real_escape_string($author));
$result = mysql_query($query) or die('Err_1: ' .mysql_error());
$row = mysql_fetch_assoc($result);
$query = sprintf("INSERT INTO articles
(article_author_id, article_author, article_title, article_body, article_date)
VALUES
('%d', '%s', '%s', '%s', NOW())",
mysql_real_escape_string($user_id),
mysql_real_escape_string($username),
mysql_real_escape_string($title),
mysql_real_escape_string($body));
$result = mysql_query($query) or die('Err_2 '.mysql_error());
$a_num = mysql_insert_id();
$article_php = "
<?php
session_start();
error_reporting(E_ALL);
require_once('../../scripts/config.php');
require_once('../../scripts/connection.php');
$article_id = substr($_SERVER[PHP_SELF], 10);
$article_id = explode('-', $article_id);
$query = sprintf('SELECT article_author, article_title, article_body, article_date FROM articles WHERE article_id=%d', mysql_real_escape_string($article_id[0]));
$result = mysql_query($query) or die(mysql_error());
if(mysql_num_rows($result) == 1){
$row = mysql_fetch_array($result);
$author = $row[article_author];
$title = $row[article_title];
$body = $row[article_body];
$date = $row [article_date];
}
?>
<!doctype html>
<html>
<head>
<meta charset='utf-8'>
<title><? echo $title; ?> | Zombie</title>
</head>
<body>
<h1><?php echo $title; ?></h1>
<h5>Scritto da <?php echo $author; ?> il <?php echo $date; ?></h5>
<div><p><?php echo $body; ?></p></div>
</body>
</html>";
$article_path = "../Articoli/".$a_num."-".$url_title;
mkdir($article_path, 0777);
$article = fopen("../Articoli/".$a_num."-".$url_title."/index.php", "w");
fputs($article, ARTICLE_PHP);
fclose($article);
// redirect all'articolo creato
exit;
}
?>
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Crea un nuovo articolo</title>
</head>
<body>
<form action="Prova_2.php" method="post" id="new_article">
<input name="a_title" type="text" size="50" maxlength="50" placeholder="Inserisci il titolo"/><br />
<textarea name="a_body" cols="80" rows="15" placeholder="Scrivi qui il tuo articolo"></textarea>
<br />
<input type="submit" value="Pubblica" name="a_submit"><br />
</form>
</body>
</html>
Questa pagina prima verifica che sia stato eseguito il login e nel caso fa un redirect, poi verifica che l'utente sia un amministratore cercando nel database se il campo user_group ha valore 1 per quell'utente infine se l'articolo è stato inviato inserisce i dati nel database e quello che vorrei che facesse sarebbe creare una cartella ed un file index.php al suo interno per che visualizzi l'articolo, se poi l'articolo non è stato inviato visualizza un form per scrivere l'articolo.
Non so se sono stato abbastanza chiaro ma grazie!