Problema con ciclo If..

ciao
a parte gli scherzi sei riuscito a farlo funziare?
eventualmente per provare, fatti una pagina php
PHP:
<?php
$pagine = glob("$main/*.html");
foreach($pagine as $valore){
    echo "$valore<br>";
}
$pagine =str_replace(".html","",$pagine);
 foreach($pagine as $valore){
    echo "$valore<br>";
}
?>
il primo dovrebbe darti:
pinco.html
pallino.html
.....
il secondo
pinco
pallino
........

poi
stai attento alle maiscole/mnuscole, come saprai php è casesensitive
non usare gli shorttag <? ma <?php
usa la sintassi canonica con l'if/else if(...){....}else{....}
inoltre dove è il get dell'id?

p.s.
io preferivo il sinclair
 
Se ho capito bene il progetto di Winter_Soldier il valore di id arriva per querystring, quindi dovremmo avere

PHP:
<?php
$id = trim(htmlentities($_GET['id'],ENT_QUOTES));
$pagine = glob("$main/*.html");  
$pagine =str_replace(".html","",$pagine);  
if (in_array($id, $pagine)) {   
    include $id.".html";   
}          
else 
include ("homepage.html"); 
?>

Queste inclusioni dinamiche sono un pò rischiose, ma funzionare funziona.

Adesso vado a comprare uno Spectrum ZX per Borgo e glielo mando a Natale
 
ciao
io farei così
PHP:
<?php
if(isset(htmlspecialchars($_GET['id'])){
	$pg=htmlspecialchars($_GET['id']);
	$pagine = glob("*.html");
	$pagine =str_replace(".html","",$pagine); 
	if (in_array(trim($id), $pagine)) {  
    	include_once "$id.html";  
	}else{
		include_once"homepage.html";
	}
	include_once"homepage.html";
}
//poi i vari link
echo "<a href=\"main.php?id=pinco\">pinco</a>";
echo "<a href=\"main.php?id=pallino\">pallino</a>";
//ecc.....
?>
oppure ancora meglio
PHP:
<?php
//definisco le variabili altrimenti alex mi riprende, ma non servirebbe
$pagine=array();
$nome_pag=array();
if(isset($_GET['id']){
	$da_chiamare=htmlspecialchars($_GET['id']);
	include_once $da_chiamare; 
}else{
	include_once"homepage.html";
}
$pagine = glob("*.html");
$nome_pag=str_replace(".html","",$pagine);
$quante_sono=count($pagine)-1;//meno 1 perche si parte da 0
for($k=0, $k<=$quante_sono, $k++){
	echo "<a href=\"main.php?id=".$pagine[$k]."\">".$nome_pag[$k]."</a><br>";
}
?>
nella seconda maniera sfrutti di più le capacita di php senza preuccuparti di dover scrivere i nomi delle pagine.

unica accortezza e denominare le pagine con nomi consoni.
e se per caso la pagina/e ha un nome composto es chi_siamo.html prima dei link metti l'istruzione
PHP:
$nome_pag[$k]=str_replace("_", " ",$nome_pag[$k]);
nel primo sarebbe opportuno, prima dell'include mettere
PHP:
//.....
	if(file_exists("$id.html"){
		include_once "$id.html"; 
	}else{
		include_once"homepage.html";
	}
//.....
questo perche se la pagina si chiama sempronio.html e tu hai scritto id=semprinio ti restituisce un errore sull'include, errore da evitare

p.s.
immagino cge tu queste cose le sappia, ma ho scritto perche può servire anche a qualcunaltro
 
ciao
non avevo Spectrum ZX, ma Sinclair QL con la stupefacente ram 128 kb e rom 64 kb con cartucce estraibili, il tutto per l'esorbitante prezzo di 500.000 lire (che non corrispodono a 250 euri)


...era il lontano 1981...

dimenticavo ram espandibile a 640 kb (tra poco quasi un M)
http://it.wikipedia.org/wiki/Sinclair_QL
 
Ultima modifica:
Grazie ragazzi funziona tutto alla grande... L'unica cosa è che dovrò mettere tutto in un unica cartella ma non fa nulla... :P Mentre che ci siamo invece qualcuno sa dirmi come potrei mettere una musica di sottofondo che non si ricarica al momento del cambio della pagina nell'include? Senza iFrame possibilmente...
 
Grazie ragazzi funziona tutto alla grande... L'unica cosa è che dovrò mettere tutto in un unica cartella ma non fa nulla... :P Mentre che ci siamo invece qualcuno sa dirmi come potrei mettere una musica di sottofondo che non si ricarica al momento del cambio della pagina nell'include? Senza iFrame possibilmente...

Posta questa richiesta nella sezione HTML, evitiamo di andare OT:)
 
A questo punto direi di aggiungere anche il controllo sulle maiuscole come suggerito da Borgo:
PHP:
$da_chiamare=strtolower(htmlspecialchars($_GET['id']));
 
Controllo sulle maiuscole sarebbe? Ah ma a proposito di caratteri... Nonostante abbia messo la codifica caratteri su UTF-8 devo impostare manualmente caratteri del tipo è in &egrave; .... Consigli?
 

Discussioni simili