PHP Sito Html-Css-Php

Stato
Discussione chiusa ad ulteriori risposte.

Beppe952

Utente Silver
2 Gennaio 2011
52
10
10
71
Credo che sia la sezione corretta poiché il "problema" riguarda il PHP.
Allora realizzando siti con html e css mi sono reso conto che questi linguaggi non bastano per far un buon sito.. quindi studiando il php ho deciso di realizzarne uno con un database (sono all'inizio, ho appena realizzato un sito importandoli qualcosa da un database) adesso sorge la domanda...
Come sono strutturati ?
Ipotizzando di creare un index.php e all'interno di inserirli dei dati dal database poi devo realizzare ogni pagina per ogni contenuto? quindi se io (per ipotesi) dovessi aver bisogno di 100 argomenti differenti da trattare in differenti pagine dovrei creare ogni pagina per ognuno di essi.. (spero di aver reso l'idea)
Un esempio...
Codice:
<?php
$db = @ mysql_connect("localhost","root","12345");
mysql_select_db("my_db", $db);
$query = mysql_query("SELECT page_title,page_text FROM  `page_text` WHERE page_name = 'Index'", $db);
$row = mysql_fetch_array($query);
?>
<html>
<head><title><?php echo $row['page_title']; ?></title></head>
<body>
<div id="head">    
      <div id="logo"></div>    
      <div id="banner"></div>
</div>
<div id="nav"><ul>    
      <li><a href="#" >HOME</a></li>
      <li><a href="#" >TEXT</a></li>    
      <li><a href="#" >TEXT</a></li>    
</ul></div>
<div id="body">
<?php echo $row['page_text']; ?>
</div>
<div id="footer"></div>
</body></html>

Per ogni pagina dovrei prendere la base ed importargli tutto?
Quindi qui mi sorge il dubbio dell'utilità del database poiché io facevo una cosa simile con l'html.. cioè infinite pagine per tutti gli argomenti.
Spero che risolviate tutti i miei dubbi. Grazie:sisi:
 
Ultima modifica:
Se devi crearti manualmente ogni pagina, che scopo ha usare il db? L' agevolazione del database per un sito è la "creazione dinamica" delle pagine.

PHP:
<?php $db = mysql_select_db("my_db", mysql_connect("localhost","root","12345")); // selezione del db e connessione mysql
$page = (htmlspecialchars(addslashes($_GET['page']))) ? $_GET['page'] : null; // filtriamo il contenuto di $_GET['page'] ma se $_GET['page'] è vuoto (? $_GET['page']) lo settiamo a nullo ( : null; )
if(is_null($page)) {
// Se il valore è null, quindi vuoto come scritto in $page allora...
echo 'Inserisci un nome valido per la pagina.';
} else { $query = mysql_query("SELECT page_title,page_text FROM `page_text` WHERE page_name LIKE '$page'"); // Eseguiamo la query e con LIKE facciamo in modo che sia case insensitive, quindi trova qualcosa anche se magari è tutto maiuscolo e noi lo scriviamo minuscolo
if(mysql_num_rows($query) == 0) {
// Se trova 0 righe dove page_name corrisponde a ciò che scriviamo nel link..
echo 'Pagina non trovata.'; // Gli stampiamo a video un errore
} else {
$row = mysql_fetch_array($query);
}
} ?> <html> <head><title><?php echo $row['page_title']; ?></title></head> <body> 
<div id="head">           <div id="logo"></div>           <div id="banner"></div> </div> <div id="nav"><ul>           <li><a href="#" >HOME</a></li>       <li><a href="#" >TEXT</a></li>           <li><a href="#" >TEXT</a></li>     </ul></div> <div id="body"> <?php echo $row['page_text']; ?> </div> <div id="footer"></div> </body></html>

Poi se la tabella page_text contiene solo quei due campi, tanto vale sostituirli nella query con un asterisco ( * )

Comunque in questo modo, se hai la tabella così:

page_title | page_text
---------------------------
Index | Contenuto index
Staff | Contenuto staff

per visualizzarle vai su: miapagina.php?page=Index e su miapagina.php?page=Staff
 
  • Mi piace
Reazioni: murdercode
Come ha già detto zypp0, neanche io vedo il motivo di caricare i dati dal db, a questo punto includerei (con i relativi controlli di sicurezza) i file direttamente con la funzione include(); . Il database lo userei per qualcosa di più importante ;)
 
Stato
Discussione chiusa ad ulteriori risposte.