Visualizzazione dei risultati da 1 a 9 su 9
  1. #1

    Pagine ".php?pag=sezione" e tag TITLE

    Salve a tutto il forum! Mi scuso inizialmente se la domanda è già stata posta, ho provato a cercare ma non ho trovato la soluzione al mio piccolo problema.

    Ho strutturato (in breve) alcune pagine di un sito in questo modo:

    codice:
    <html>
    <head>
    <title>Titolo che vorrei cambaire</title>
    </head>
    
    <body>
    
    <?
    	global $pag;
    	if($pag == ""){
    	?> 
    	
    	<?
    	}
    	
    	if($pag=="sezione1") {
    	
    	$nome_file = "contenuti/sezione1.txt";
    	$fd = fopen ($nome_file, "r");
    	$contenuto = fread ($fd, filesize ($nome_file));
    	fclose ($fd);
    	echo $contenuto;
    	}
    	
    	elseif ($pag=="sezione2") {
    	
    	$nome_file = "contenuti/sezione2.txt";
    	$fd = fopen ($nome_file, "r");
    	$contenuto = fread ($fd, filesize ($nome_file));
    	fclose ($fd);
    	echo $contenuto;
    	}
    	
    ?>
    
    </body>
    
    </html>
    Ora puntando ad es. su "index.php?pag=sezione1" mi compare il contenuto del file "sezione1.txt" nel mio body e su questo non ho problemi.
    Quello che non riesco a fare sarebbe cambiare il tag "TITLE" per ogni pagina "index.php?pag=sezione_numero"... ovvero se punto "index.php?pag=sezione2" vorrei che il tag TITLE cambiasse poichè mi troverei in una sezione diversa con contenuto del body diverso!

    Il problema credo sia meno incasianto di come l'ho scritto, ma spero si capisca lo stesso.
    Sapete come fare?
    (So pochissimo di programmazione come si può ben vedere )

    Grazie
    ciao
    drudo

  2. #2
    Utente di HTML.it L'avatar di dalang
    Registrato dal
    May 2003
    Messaggi
    252
    devi mettere
    codice:
    <html>
    <head>
    <title> <? echo $_GET['title']; ?> </title>
    </head>
    ed il link alla pagina dovrà essere del tipo "index.php?pag=sezione_numero&title=Nuovo%20Titolo" (%20 = spazio )

  3. #3
    Utente di HTML.it L'avatar di dalang
    Registrato dal
    May 2003
    Messaggi
    252
    Piccola nota:

    al posto di questo:
    codice:
    $nome_file = "contenuti/sezione2.txt";
    $fd = fopen ($nome_file, "r");
    $contenuto = fread ($fd, filesize ($nome_file));
    fclose ($fd);
    echo $contenuto;
    basterebbe mettere:
    codice:
    include("contenuti/sezione2.txt");
    più semplice, no?


  4. #4
    readfile(), visto che è un file che non contiene codice PHP, è la funzione + adatta.

    Inoltre continuo la mia crociata ontro gli "short open tags" ... sono il male !!! non usateli
    <?php echo ' Emiliano Gabrielli (aka AlberT) ',"\n",
    ' socio fondatore e membro del direttivo del GrUSP ',"\n",
    ' AlberT_at_SuperAlberT_it - www.SuperAlberT.it ',"\n",
    ' IRC: #php,#AES azzurra.com ',"\n",'ICQ: 158591185'; ?>

  5. #5
    rispondo in pubblico ad una domanda di chiarimento su cosa siano gli "short open tags" :

    per short open tag si intende la forma di apertura "breve" dei tag PHP ("<?" invece di "<?php").

    ora è vero che, ancora e forse per sempre, questa forma è attiva per default come visibile dal mio php.ini ad esempio

    codice:
    albert@emc2$ grep -B1 open_tag /etc/php4/apache/php.ini
    ; Allow the <? tag.  Otherwise, only <?php and <script> tags are recognized.
    short_open_tag = On
    ma l'uso di questa forma ha almeno due controindicazioni:

    - la compatibilità con XML, qualora prima o poi si debba
    mischiare xml e php si avranno grossi problemi se nel
    PHP si usa <? visto che andrà in conflitto con XML. la
    forma + corretta <?php è invece XML-compliant.
    - la portabilità. Poichè l'attivazione degli "sot" dipende
    da una direttiva nel php.ini è sempre possibile che uno
    script poi non funzioni se spostato su un server dove,
    per scelta dell'admin o per eventuali nuove
    impostazioni di default di future versioni di PHP,
    questi non siano abilitati

    Anche la forma <?= $var ?> fa parte degli "sop" e a quindi evitata con cura, quand'anche possa risultare comoda.
    <?php echo ' Emiliano Gabrielli (aka AlberT) ',"\n",
    ' socio fondatore e membro del direttivo del GrUSP ',"\n",
    ' AlberT_at_SuperAlberT_it - www.SuperAlberT.it ',"\n",
    ' IRC: #php,#AES azzurra.com ',"\n",'ICQ: 158591185'; ?>

  6. #6
    Utente di HTML.it L'avatar di dalang
    Registrato dal
    May 2003
    Messaggi
    252
    Originariamente inviato da drAlberT
    readfile(), visto che è un file che non contiene codice PHP, è la funzione + adatta.
    e
    ... qualora prima o poi si debba...
    Sbaglio o ti stai contraddicendo...
    Se in futuro, per qualsiasi motivo, in quel file .txt deve aggiungere del codice PHP, dovrebbe cambiare TUTTO il codice...

    include è più comodo per eventuali svippi futuri! (IMHO)

    Sono d'accordo con te per gli short open tag.

  7. #7
    permettimi di dire che sbagli .. sbagli a citare due miei diversi ragionamenti come se fossero uno solo.

    1) readfile() è più performante, e anche di parecchio, di include(), ergo non vedo perchè usare una fac totum quando non serve
    2) se un file è un file di testo non vedo perchè debba contenere codice php (tra le altre cose l'abuso di include in questi casi a volte facilita anche attacchi alla sicurezza ... se includi del codice lo esegui, se lo leggi .. bhè grosso danno non ne fai
    3) "... qualora prima o poi si debba... " era riferito all'uso di XML e PHP, in generale e NON nel particolare file di testo incluso, o letto, ora...

    forse mi sono spiegato male :-)
    <?php echo ' Emiliano Gabrielli (aka AlberT) ',"\n",
    ' socio fondatore e membro del direttivo del GrUSP ',"\n",
    ' AlberT_at_SuperAlberT_it - www.SuperAlberT.it ',"\n",
    ' IRC: #php,#AES azzurra.com ',"\n",'ICQ: 158591185'; ?>

  8. #8
    Innanzi tutto grazie a dalang per avermi risolto il problema per il resto (short open tags) non pensavo nemmeno ci fosse differenza se usare una forma o l'altra, quindi accetto il suggerimento di buon grado.

    Ehm una cosa, quando dici:
    Se in futuro, per qualsiasi motivo, in quel file .txt deve aggiungere del codice PHP, dovrebbe cambiare TUTTO il codice...

    include è più comodo per eventuali svippi futuri! (IMHO)
    mi stai dicendo che potrei mettere del codice php nel file di testo e funzionerebbe? Se sì, mica lo sapevo
    Ho sempre pensato che fosse necessario "includere" un file di estensione .php per poter eseguire codice php.

    ciao (grazie ancora)
    drudo

  9. #9
    Utente di HTML.it L'avatar di dalang
    Registrato dal
    May 2003
    Messaggi
    252
    mi stai dicendo che potrei mettere del codice php nel file di testo e funzionerebbe? Se sì, mica lo sapevo Ho sempre pensato che fosse necessario "includere" un file di estensione .php per poter eseguire codice php.
    quando includi qualcosa, quel qualcosa diventa parte della pagina che stai elaborando, quindi se c'è del codice php, viene interpretato.


Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.