integrazione html-php

unkus_nob

Nuovo Utente
3 Giu 2010
17
0
0
Buongiorno, io stò cercando di creare una sito web con pagne dinamiche, ho scritto il seguente codice, ma non mi funziona.
Sapreste darmi un aiuto?

index.html:
<html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML
4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<head>
<meta>
</head>
<body>
<? php include "header.php" ?>
<? php include 'controllo.php' ?>
<div id="menu">
<a href="?page=home">Home</a>
<a href="?page=beb">Bed and Breakfast</a>
<a href="?page=dovesiamo">Dove siamo</a>
<a href="?page=contatti">Contatti</a>
</div>
<div id="container">
</body>
</html>

header.php:
<?php
echo"<table align=\"center\" border=\"2\" bordercolor=\"orange\">
<tr>
<td align=\"center\"><img src=\"logo.gif\"></>
</tr>
</table>";?>

controllo.php:
<?php
include("function.php");
$pagine_consentite = array("home", "beb", "dovesiamo" , "contatti");
?>

function.php:
<?php
function print($pagine)
{$page = $_GET(page);
if(isset($page))
{ if(array_key_exist($page, $pagine))
{ include("/$page.php");}
else
{echo "Pagina non valida";}
}
else
{ include("index.html");}
}

Il problema è che nella pagina index.html non mi viene visualizzato l'header.
C'è qualche errore nella sintassi della pagina header.php? o index.html?
Grazie:hammer:
 

Eliox

Utente Attivo
25 Feb 2005
4.390
3
0
Non puoi includere codice PHP in una pagina HTML, deve essere ".php"

inoltre, non
PHP:
<? php include "header.php" ?>
ma
PHP:
<?php include "header.php"; ?>
 

micio86

Utente Attivo
Si..

<?php e ?> tutto attaccato. .html o .php dipende dalle impostazioni del server cmq
 

unkus_nob

Nuovo Utente
3 Giu 2010
17
0
0
grazie mille, ora però ho un'altro problema, nella pagina function.php non mi riconosce la riga function print ($pagine), mi dice che print è inaspettato, così ho messo function stampa ($pagine) , ma il meccanismo non funziona.
Sapreste darmi un aiuto?:hammer:
 

alessandro1997

Utente Attivo
6 Ott 2009
5.302
1
0
23
Roma
alessandro1997.netsons.org
Ci sono diversi errori di sintassi nella tua funzione. Ti consiglio di leggerti una guida di PHP. Comunque "aggiustandola" viene fuori:
PHP:
function stampa($pagine)
{
    if (isset($_GET['page'])) {
        if (in_array($_GET['page'], $pagine)) {
            require "/{$page}.php";
        }
        else {
            echo 'Pagina non valida.';
        }
    }
    else {
        require 'index.html';
    }
}
Vedi se così funziona.
 

unkus_nob

Nuovo Utente
3 Giu 2010
17
0
0
purtroppo no mi va, scrivo di seguito l'ultima versione dei file con cui ho provato:

index.php:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<?php include "header.php" ?>
<?php include "controllo.php" ?>
<div id="menu">
<a href="?page=home">Home</a>
<a href="?page=camp">Camp</a>
</div>
<div id="container">
</div>
</body>
</html>

controllo.php:
<?php
include("function.php");
$pagine=array("home", "camp", "dovesiamo" , "contatti");
?>

function.php:
<? function stampa($pagine)
{
if (isset($_GET['page'])) {
if (in_array($_GET['page'], $pagine)) {
require "/{$page}.php";
}
else {
echo 'Pagina non valida.';
}
}
else {
require 'index.html';
}
} ?>
camp.php:
<?php
echo"ciao ciao"
?>


Non mi viene visualizzata la pagina camp.php al cliccare del link presente in index.php, ma non mi visualizza neanche la scritta di avviso in caso di pagina non valida.
Consigli?:book:
 

Eliox

Utente Attivo
25 Feb 2005
4.390
3
0

unkus_nob

Nuovo Utente
3 Giu 2010
17
0
0
se faccio così addirittura nella pagina function.php mi da il seguente errore:
syntax error, unexpected T_FUNCTION