• User Attivo

    sito php problemi con i link

    ho notato che molti siti usano i link del tipo

    index.php?page=page
    index.php?id=page

    il mio problema è che ho provato a usare div nominati e mettere tutte le pagine in estenzione php.
    ho cercato sulla guida ma non ho trovato... plz aiutatemi, come si fa?
    oltre ai link e al div dinamico devo fare qualcos'altro? :bho:


  • Super User

    @hinocki said:

    ho notato che molti siti usano i link del tipo

    index.php?page=page
    index.php?id=page

    il mio problema è che ho provato a usare div nominati e mettere tutte le pagine in estenzione php.
    ho cercato sulla guida ma non ho trovato... plz aiutatemi, come si fa?
    oltre ai link e al div dinamico devo fare qualcos'altro? :bho:div nominati???

    mi spieghi cosa cerchi, perchè non ho capito 😄

    la sintassi

    pagina.php?variabile=valore

    serve per mandare variabili con il metodo GET da una pagina ad un'altra:

    se ho un link pagina.php?pippo='pluto'
    nella pagina pagina.php avrò una variabile pippo con valore di 'pluto'
    quindi per richiamarla devi usare

    print $_GET['pippo']; // Stampa la variabile GET pippo


  • User Attivo

    hai ragione non mi sono spiegato bene.
    Nel mio sito vorrei avere header e menù fissi e far cambiare solo la tabella centrale. Ho visto che qualcuno lo fa mettendo un div nella tabella e usando quei link a pagine che come contenuto hanno solo quello che andrà nella tabella.
    Ho provato a farlo "copiando" il codice, ma non mi funziona:(


  • Super User

    io uso questa struttura:

    
    grafica.php
    <html>
    	<table>
    		<tr>
    			<td>
    				<?FunzioneHeader&#40;&#41;?>
    			</td>
    		</tr>
    		<tr>
    			<td>
    				<?FunzioneCorpo&#40;&#41;?>
    			</td>
    		</tr>
    		<tr>
    			<td>
    				<?FunzioneFooter&#40;&#41;?>
    			</td>
    		</tr>
    	</table>
    </html>
    
    
    index.php:
    
    <?
    include&#40;'grafica.php'&#41;;
    function FunzioneHeader&#40;&#41;
    &#123;
    	echo "header";
    &#125;
    function FunzioneCorpo&#40;&#41;
    &#123;
    	echo "corpo";
    &#125;
    function FunzioneFooter&#40;&#41;
    &#123;
    	echo "footer";
    &#125;
    ?>
    
    
    

    ovviamente in grafica puoi mettere tutte le sezioni che vuoi.

    se a questa struttura aggiungi le funzionalità delle funzioni
    eval
    function_exists
    hai a disposizione possibilità illimitate.
    ciauz :ciauz:


  • Super User

    @Tymba said:

    io uso questa struttura:

    
    grafica.php
    <html>
    	<table>
    		<tr>
    			<td>
    				<?FunzioneHeader&#40;&#41;?>
    			</td>
    		</tr>
    		<tr>
    			<td>
    				<?FunzioneCorpo&#40;&#41;?>
    			</td>
    		</tr>
    		<tr>
    			<td>
    				<?FunzioneFooter&#40;&#41;?>
    			</td>
    		</tr>
    	</table>
    </html>
    
    
    index.php:
    
    <?
    include&#40;'grafica.php'&#41;;
    function FunzioneHeader&#40;&#41;
    &#123;
    	echo "header";
    &#125;
    function FunzioneCorpo&#40;&#41;
    &#123;
    	echo "corpo";
    &#125;
    function FunzioneFooter&#40;&#41;
    &#123;
    	echo "footer";
    &#125;
    ?>
    
    
    

    ovviamente in grafica puoi mettere tutte le sezioni che vuoi.

    se a questa struttura aggiungi le funzionalità delle funzioni
    eval
    function_exists
    hai a disposizione possibilità illimitate.
    ciauz :ciauz:
    ricorda i ; nelle funz 😄

    Comunque io gestisco i templates con MySQL, grazie ad una classe che ho creato, così tutto mi sembra + semplice e per fare una modifica non devo rifare 1000 pagine!!! 😄


  • User Attivo

    ho risolto con sta funzione che ne dite?

    <?
    $p="home"; //pagina di default per i contenuti centrali
    if(isset($_GET['page'])){ //pagina passata via parametro
    $p=$GET['page'];
    if($p!=basename($p) || !preg_match("/^[A-Za-z0-9-
    ]+$/",$p) ||
    $p=="index" || !file_exists($p.".php"))
    $p="error"; //pagina di errore
    }
    include($p.".php"); // sto includendo la pagina passata come parametro prima
    ?>