Creare delle sottopagine

mateky

Utente Attivo
7 Feb 2011
36
0
0
Salve a tutti, vorrei sapere in php come faccio a creare delle sottopagine, ovvero, la pagina centrale ad esempio ha tot articoli o tot foto (come wordpress) e sotto a questa pagina centrale, numeri di sotto pagine 1-2-3-4 ecc, magari anche in automatico...
Meglio ancora se qualcuno mi spiegasse come fare in modo che, da un pannello di amministratore, inserisco degli articoli che me li visualizzerà nella home page con creazione di queste sottopagine...
 

alankanz

Lupacchiotto
Membro dello Staff
MOD
18 Giu 2014
147
5
18
Roma
utilizzo Mysql

Allora

PHP:
<?php
/* 
NUOVO.PHP
 Crea una nuova inserzione
*/

 
 function renderForm($titolo, $testo, $chi, $cat, $error)
 {$er_col_chi = "#000000";
 ?>
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
 <html>
 <head>
 <title>Nuova News</title>
 </head>
 <body>
 
 <h1><CENTER>AGGIUNGI UNA NUOVA NEWS</CENTER></h1>
 <?php 
 // se c'e un errore me lo fa vedere
 if ($error != '')
 {
	 
 echo '<div style="padding:4px; border:1px solid red; color:red;">'.$error.'</div>';
 } 
 
 ?> 
<center> 
 <form action="" method="post" >
 <div>
 <p><br/>
   <br/>
   <br/>
 </p>
 <table width="50%" border="0" cellspacing="0" cellpadding="0">
   <tr>
     <td width="75"><strong>Titolo: *</strong></td>
     <td width="735"><input type="text" name="titolo" value="<?php echo $titolo; ?>" /></td>
   </tr>
   <tr>
     <td><strong>Testo: *</strong></td>
     <td><textarea name="testo" id="ckeditor" rows="10" ><?php echo $testo; ?></textarea></td>
   </tr>
   <tr>
     <td><strong>Autore: *</strong></td>
     <td><input type="text" name="chi" readonly="true" value="<?php echo $_SESSION['user']; ?>" ></td>
   </tr>
   <tr>
     <td><strong>Categoria: *</strong></td>
     <td><select name="cat">
     <script>
               <textarea id="editor1"> with a CKEditor
           
                CKEDITOR.replace( 'ckeditor' );
            </script>
     <?php 
	require('db.php');
	 
     while($ris_cat = mysql_fetch_array($categorie))
	 {
$nome_cat = '<option value="' . $ris_cat['Nome'] . '" >' . $ris_cat['Nome'] . '</option>';

 echo $nome_cat;
	 }
?>
 </select>
</td>
   </tr>
   <tr>
     <td>* obligatori</td>
     <td>&nbsp;</td>
   </tr>
   <tr>
     <td>&nbsp;</td>
     <td><input type="submit" name="submit" value="Invia"></td>
   </tr>
 </table>
 <p>&nbsp;</p>
 </div>

 <?php 
 }
 
 
 

 // connete il db
 include('db.php');

 if (isset($_POST['submit']))
	{ 
$cerca = array("à" , "ì" , "è" , "é" , "ò" , "ù");
$modifica = array("&agrave;" , "&igrave;" , "&eacute;" , "&egrave;" , "&oacute;" , "&uacute;");

 $titolo = mysql_real_escape_string(str_replace($modifica, $cerca ,$_POST['titolo']));
 $testo = mysql_real_escape_string(str_replace($modifica, $cerca ,$_POST['testo']));
 $chi = mysql_real_escape_string(str_replace($modifica, $cerca ,$_POST['chi']));
 $cat = mysql_real_escape_string(str_replace($modifica, $cerca ,$_POST['cat']));
$quando=date('Y-m-d', time());



 if ($titolo == '' || $testo == '' || $chi == '' || $cat == '')
 {

 $error = 'ERRORE: Completa tutti i campi!';
 
 renderForm($titolo, $testo, $chi, $cat, $error);
 }
 else
 {

 mysqli_query($connection, "INSERT news SET titolo='$titolo', testo='$testo', chi='$chi', quando='$quando', cat='$cat'")
 or die(mysqli_error()); 
 
 
 
 header("Location: vedi.php"); 
 }
 }
 
 else

 {
 renderForm('','','','','');
 }

?>

</body>
</html>

l'unica cosa che questa pagina che io chiamo nuovo.php puoi aggiungere un controllo dell'utente tramite la sessione tipo non lo so

PHP:
if(!isset($_SESSION['login']))
{
    header('Location: errore.php');
    exit;
}

Poi naturalmente devi rinominare i campi del DB
 
Ultima modifica:

alankanz

Lupacchiotto
Membro dello Staff
MOD
18 Giu 2014
147
5
18
Roma
vedi.php

Con questo vedi quello che hai già inserito in un tabella

PHP:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title>Visualizza Record</title>
<script language="JavaScript" type="text/javascript">
function confirmAction() {
action=confirm('Premere OK per cancellare l'inserzione, Cancel per tornare indietro')
if (action==true) 
parent.self.location.href = ''
else
alert('Hai annullato l\'operazione');
}	

</script>
</head>
<body>
 

<?php
/*
Visualizza tutti i dati della tabella 'news'
*/
 
// connessione al database
include('db.php');
 
// ottiene i risultati dal database
$result = mysql_query("SELECT * FROM news")
or die(mysql_error());
?>

<a href="nuovo.php"><img src="img/new.jpg" title="Aggiungi Nuovo" width="39" height="39"></a>
<?php
echo "<table border='1' cellpadding='10'>";
echo "<tr>";
echo "<th>ID</th><th>Titolo</th> <th>Testo News</th> <th>Chi</th> <th>Quando</th> <th>Categoria</th><h4><th>Modifica</th> <th>Cancella</th></h4></tr>";
 
while($row = mysql_fetch_array( $result )) {
 $quando = new DateTime($row['quando']);

echo "<tr>";
echo '<td>' . $row['ID'] . '</td>'; 
echo '<td>' . $row['titolo'] . '</td>';
echo '<td>' . $row['testo'] . '</td>';
echo '<td>' . $row['chi'] . '</td>';
echo '<td>' . $quando->format('d/m/Y') . '</td>';
echo '<td>' . $row['cat'] . '</td>'; ?>

<?php

echo '<td><a href="modifica.php?ID=' . $row['ID'] . '" ><img src="img/mod.jpg" title="Modifica '.$row['titolo'].'"  width="49" height="47"></a></td>';
echo '<td><a href="cancella.php?ID=' . $row['ID'] . '"><img src="img/canc.jpg" title="Cancella '.$row['titolo'].' ATTENZIONE: la cancellazione e IRREVERSIBILE!!!" width="39" height="39"></a></td>';



echo "</tr>";
}
echo "</table>";
?>
<p>&nbsp;</p>
<p>&nbsp;</p>
</body>
</html>
 

alankanz

Lupacchiotto
Membro dello Staff
MOD
18 Giu 2014
147
5
18
Roma
cancella.php

PHP:
<html>
<head>
<title></title>

</head>
<body>
<?php
/*
CANCELLA.PHP
*/
 
// connessione al database
include('db.php');
 
// controlla se la variabile 'id' è impostata nell'URL, e controlla che sia valida
if (isset($_GET['ID']) && is_numeric($_GET['ID']))
{
// ottiene il valore id
$ID = $_GET['ID'];
 
// elimina la voce
$result = mysql_query("DELETE FROM news WHERE ID=$ID")
or die(mysql_error());
 
// reindirizza alla pagina di visualizzazione
header("Location: vedi.php");
}
else
// se l'id non è impostato o non è valido reindirizza alla pagina di visualizzazione
{
header("Location: vedi.php");
}

?></body></html>
 

alankanz

Lupacchiotto
Membro dello Staff
MOD
18 Giu 2014
147
5
18
Roma
MODIFICA.PHP

PHP:
<?php
/*
MODIFICA.PHP

*/
 
// crea il form di modifica record
// dal momento che questo modulo è utilizzato più volte in questo file, ho fatto una funzione facilmente riutilizzabile
$error = '';
function renderForm($ID, $titolo, $testo, $chi, $cat, $error)
{
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title>Modifica La news - <?php echo $titolo; ?> </title>
 <script src="../../ckeditor/ckeditor.js"></script>
</head>
<body>
<p>
  <?php
// se ci sono errori vengono visualizzati
if ($error != '')
{
echo '<div style="padding:4px; border:1px solid red; color:red;">'.$error.'</div>';
}
?>
  <center><h1>MODIFICA LA NEWS</h1></center>
</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp; </p>
<form action="" method="post" onReset="return confirm('Sei sicuro di voler cancellare tutto?')">
  <div>
 
<table width="50%" border="0" cellspacing="0" cellpadding="0">
<tr>
    <td><strong>ID: *</strong></td>
    <td><input name="ID" type="text" value="<?php echo $ID; ?>" readonly /></td>
  </tr>
  <tr>
    <td><strong>Titolo: *</strong></td>
    <td><input type="text" name="titolo" value="<?php echo $titolo; ?>"/></td>
  </tr>
  <tr>
    <td><strong>Testo: *</strong></td>
    <td><textarea id="ckeditor"  cols="30" rows="10" name="testo" /> <?php echo $testo; ?> </textarea></td>
    <script>
                
                CKEDITOR.replace( 'ckeditor' );
            </script>
    </tr>
  <tr>
    <td><strong>Autore: </strong></td>
    <td><input type="text" name="chi" value="<?php echo $chi; ?>" readonly /></td>
    </tr>
     <tr>
    <td><strong>Categoria: </strong></td>
    <td><input type="text" name="cat" value="<?php echo $cat; ?>" /></td>
    </tr>
   
  </table>
<br/>
 * Richiesto<br/>
    <br/>
    <br/>
    <br/>
  <br/>

<p>&nbsp;</p>
 	<div align="center">
 	  <input type="submit" name="submit" value="Invia" >
  <INPUT TYPE=RESET VALUE="Cancella">
    </div>
  </div>
</form>



</body>
</html>
<?php
}
 
// connessione al database
include('db.php');
 
// verifica se il modulo è stato inviato. Se lo è, inizia a elaborare il modulo e lo salva nel database
if (isset($_POST['submit']))
{
	// verificare che il valore di 'id' sia un intero valido prima di ottenere i dati del modulo
if (is_numeric($_POST['ID']))
{
 $cerca = array("à" , "ì" , "è" , "é" , "ò" , "ù");

$modifica = array("&agrave;" , "&igrave;" , "&eacute;" , "&egrave;" , "&oacute;" , "&uacute;");
// ottenere i dati del modulo e verific che siano validi
$ID = mysql_real_escape_string($_POST['ID']);
$titolo = mysql_real_escape_string(str_replace($modifica, $cerca ,$_POST['titolo']));
$testo = mysql_real_escape_string(str_replace($modifica, $cerca ,$_POST['testo']));
$chi = mysql_real_escape_string(str_replace($modifica, $cerca ,$_POST['chi']));
$cat = mysql_real_escape_string(str_replace($modifica, $cerca ,$_POST['cat']));

 
// controlla che entrambi i campi vengono inseriti
if ($titolo == '' || $testo == '' || $chi == '' || $ID == '' || $cat == '')
{
// genera messaggio di errore
$error = 'ERRORE: Compila tutti i campi!';
 
// se uno dei due campi è vuoto, visualizzo di nuovo il modulo
renderForm($ID, $titolo, $testo, $chi, $cat, $error);
}
else
{

// salva i dati nel database
mysql_query("UPDATE news SET titolo='$titolo', testo='$testo', chi='$chi', cat='$cat' WHERE ID='$ID'")
or die(mysql_error());
 
// una volta salvato, si viene reindirizzati alla pagina di visualizzazione
header("Location: vedi.php");
}
}
else
{
// Se l' 'id' non è valido, viene visualizzato un errore
echo 'Errore ID NON VALIDO!';
}
}
else
// se il Modulo non è stato inviato, ottengo i dati dal db e visualizzare il modulo
{
 
// ottiene il valore 'id' dall'URL (se esiste), assicurandosi che sia valido (controlla che sia numerico/maggiore di 0)
if (isset($_GET['ID']) && is_numeric($_GET['ID']) && $_GET['ID'] > 0)
{
// query db
$ID = $_GET['ID'];
$result = mysql_query("SELECT * FROM news WHERE ID='$ID'")
or die(mysql_error());
$row = mysql_fetch_array($result);
 
// verifica che l' 'id' corrisponda a una riga nel database
if($row)
{
 
// ottiene i dati dal db
$ID = $row['ID'];
$titolo = $row['titolo'];
$testo = $row['testo'];
$chi = $row['chi'];
$cat = $row['cat'];


// visualizza il modulo
renderForm($ID, $titolo, $testo, $chi, $cat, $error);
}
else
// se non corrisponde visualizza il risultato
{
echo "Nessun risultato!";
}
}
else
// se l' 'id' nell'URL non è valido, o se non vi è alcun valore di 'id', visualizza un errore
{
echo 'Errore!';
}
}
?>
 

alankanz

Lupacchiotto
Membro dello Staff
MOD
18 Giu 2014
147
5
18
Roma
Questo è il codice che devi inserire nella pagina dove vuoi far vedere i risultati ai tuoi utenti

Ti ricordo che devi adattarlo purtroppo l'avevo pensato per un sistema che utilizza MySQLi, quello che ho potuto l'ho modificato.... Provalo e poi mi dirai.

PHP:
<?php

 
// connessione al database
include('configurazioni/db.php');
 
 
        // numero di risultati da visualizzare per pagina
        $per_page = 4;
 
        // calcola le pagine totali
        $result = mysql_query("SELECT * FROM news");
        $total_results = mysql_num_rows($result);
        $total_pages = ceil($total_results / $per_page);
 
        // controlla se la variabile 'page' e impostata nell'URL (es: view-paginated.php?page=1)
        if (isset($_GET['page']) && is_numeric($_GET['page']))
        {
                $show_page = $_GET['page'];
 
                // mi assicuro che il valore di $show_page sia valido
                if ($show_page > 0 && $show_page <= $total_pages)
                {
                        $start = ($show_page -1) * $per_page;
                        $end = $start + $per_page;
                }
                else
                {
                        // errore - mostra il primo set di risultati
                        $start = 0;
                        $end = $per_page;
                }
        }
        else
        {
                // se la pagina non e impostata, mostra il primo set di risultati
                $start = 0;
                $end = $per_page;
        }
 
        // visualizza impaginazione
 
        
    // visualizza i dati in tabella
      
 
       // loop tra i risultati della query del database, visualizzandoli in tabella
       
			
// echo "<th>ID</th>"; Se togli commento ti fa vedere la colonna degli ID di ogni news
$query = "SELECT * FROM news ORDER BY ID DESC LIMIT $start , $per_page";
$result = mysql_query($query);  

  for ($i = $start; $i < $end; $i++)
  
        {
// loop tra i risultati della query del database, visualizzandoli in tabella

while($row = mysql_fetch_array( $result )) {

// emissione del contenuto di ogni riga in una tabella
 $quando = new DateTime($row['quando']);
 
echo '<div class="post"><div class="post-title"><h2>' . $row['titolo'] . '</h2></div>';
echo '<div class="post-body"><p>' . $row['testo'] . '</p>';
echo '<small>Postato da <b>' . $row['chi'] . '</b> il ' . $quando->format('d/m/Y') . ' Categoria: <b>' . $row['cat'] . '</b></small>';
echo '<div class="right"> | <a href="leggi_commenti_news.php?ID='. $row['ID'] . '" onclick="newWindow(this.href, \'popup\', 700, 650, 0, 0, 0, 0, 0, 0, 0); return false;" target="_blank">';
$queryC = "SELECT commenta_news.chi, commenta_news.commento FROM news INNER JOIN commenta_news ON news.ID = commenta_news.IDnews WHERE (((news.ID)=" . $row['ID'] . "))";

$resultC = mysql_query($dbc, $queryC);
$righe = mysql_num_rows($resultC);
if ($righe == 0){
	echo "0 commenti";
}
elseif ($righe == 1) {
	echo "1 commento";
}
elseif ($righe > 1){
	echo $righe . " commenti";
}
echo '</a></div>';
echo '</div><div class="content-separator"></div></div>';//echo '<td><a onClick="confirmAction()"><img src="img/canc.jpg" title="Cancella '.$row['titolo'].' ATTENZIONE: la cancellazione e IRREVERSIBILE!!!" width="39" height="39"></a></td>';

}}
echo "<p><b>Pagina: &nbsp;&nbsp;</b> ";

        for ($i = 1; $i <= $total_pages; $i++)
        {

			
			
			
			if (isset($_GET['page']) and $i == $_GET['page'])
			{

				echo $i;
				if ($i < $total_pages)
				{
					echo " | ";
				}

			}
				else
				{
				echo "<a href='?page=$i'>$i</a>";
					if ($i < $total_pages)
					{
					echo " | ";
					}
				
				}
		
		}
echo "</p>"; 

?>
 
Discussioni simili
Autore Titolo Forum Risposte Data
K Vorrei creare un app vorrei delle delucidazioni per iniziare.. Sviluppo app per Android 3
max1850 Creare una pagina delle news e uploadare i files Classic ASP 2
H creare delle slide-show dai DivX Windows e Software 0
E Creare un testo trasparente dietro un div HTML e CSS 5
M Creare traccia di download file sul server HTML e CSS 2
A Cerco programmatore/sviluppatore per creare forum Offerte e Richieste di Lavoro e/o Collaborazione 2
L Creare ancore interne alla pagina PHP 1
I Creare un banner temporaneo JavaScript Javascript 0
C Creare Tabella Dati Meteo prelevandoli da dei Tags in un altro foglio PHP 27
simgia Cordova errore quando cerco di emulare o creare la app Sviluppo app per Android 2
U PHP creare un file excel dopo ricerca nel DB PHP 0
A Creare un cronometro PHP 5
G [PHP] Creare script di prenotazione con controllo disponibilità. PHP 7
F Creare elementi html con javascript Javascript 3
Shyson Modificare codice e creare link PHP 0
Cosina Creare bottone delete in form upload PHP 5
Cosina Creare bottone delete in form upload PHP 1
M Creare un campo input select quantità di un numero intero prelevato dal db PHP 3
L Creare una forma geometrica Photoshop 1
M [Cerco] aiutanti per creare sito Offerte e Richieste di Lavoro e/o Collaborazione 8
S Libreria PHP per creare file dwg o dxf PHP 0
R Come creare sistema Add to homescreen PHP 3
L Creare un countdown con giorno specifico della settimana PHP 3
W Creare link di una dato Classic ASP 0
W creare file .jar Java 2
M Creare con il Vb 2010 Il Classico Notes di Windows Vista Visual Basic 1
MarcoGrazia Creare una password Snippet Javascript 0
J creare pagina php di prenotazione PHP 5
A Creare un modulo di ricerca avanzata con dreamweaver HTML e CSS 0
INTEROPERABILITY Sviluppatrice/formatrice creare APP Offerte e Richieste di Lavoro e/o Collaborazione 0
L Creare una pagina pre-home WordPress 1
G Creare side-bar non visibile da dispositivi mobile HTML e CSS 0
L creare oggetti da una classe tramite un form Javascript 0
Web93 CREARE SITO WEB COMICS CON WORDPRESS WordPress 0
maxnegri Contare sessioni aperte e creare condizione PHP 1
A Come creare pulsante donazione PayPal HTML e CSS 5
L [CERCO] Creare blog su WordPress con tema Divi Offerte e Richieste di Lavoro e/o Collaborazione 3
F Creare un set di date a seconda del frazionamento scelto da inserire in MySQL PHP 6
R [Photoshop] Creare Azione Photoshop 1
F [PHP] creare tabella e tasto cerca PHP 3
A Creare con Javascript un percorso all'interno di uno spazio Javascript 0
B [PHP] Creare PDF dopo inserimento dati form PHP 4
A [HTML] Creare sito web per eLearnig HTML e CSS 2
R Bootstrap 4 - creare una finestra di testo responsive sopra un Carousel jQuery 1
Spenalzo Creare tabelle multiple con Access via VBA MS Access 2
R [PHP] Creare sistema random PHP 3
D [PHP] Consigli su come creare form PHP 1
I Creare Qsl radioamatore con testo editabile Presentati al Forum 1
T [PHP] Creare Honeypot per form contatti PHP 10
S [PHP] Creare collegamento filtri di ricerca al database PHP 6

Discussioni simili