Visualizzazione dei risultati da 1 a 6 su 6

Discussione: Foglio styles.php

  1. #1

    Foglio styles.php

    Salve a tutti...

    Non sono molto pratico di php ma sto cercando un sistema per richiamare diversi stili già pronti:
    "silver 1, silver 2, silver 3", etc...
    Da quanto ho capito questi stili vengono richiamati da styles.php (e l'ho capito semplicemente perchè non appena clicco su uno stile qualsiasi, vengo portato ad una pagina che mi dice che root/styles.php è mancante...)
    Ho provato ad accedervi dal sito di riferimento che sto studiando, ma non appena digito www.sitochestostudiando.com/styles.php, mi porta direttamente alla index senza consentirmi di dare un'occhiata al codice che richiama gli stili.

    Qualcuno saprebbe come aiutarmi o darmi indicazioni su come crearlo da solo?

    Grazie!

  2. #2
    Crea uno script che visualizza uno stile diverso a seconda di una variabile di sessione.
    Nella layout del tuo sito "carica" lo script come se fosse un semplice foglio di stile.
    Poi crea una funzione che ti permetta di cambiare la variabile di sessione con il nome dello stile a seconda dell'input dell'utente.

  3. #3
    Originariamente inviato da filippo.toso
    Crea uno script che visualizza uno stile diverso a seconda di una variabile di sessione.
    Nella layout del tuo sito "carica" lo script come se fosse un semplice foglio di stile.
    Poi crea una funzione che ti permetta di cambiare la variabile di sessione con il nome dello stile a seconda dell'input dell'utente.
    Ti ringrazio infinitamente della risposta, ma come ho detto non sono per niente pratico di php, mi stai parlando in arabo...dunque a meno che tu non mi fornisca un esempio/file concreto eventualmente da modificare, non saprei proprio come risolvere.

    Grazie.

  4. #4
    Fai delle domande più specifiche su cosa non capisci o non sai fare

    Pagina a cui applicare lo stile
    codice:
    <html>
      <head>
        <title>titolo</title>
        
        <link rel="css/styles.php" type="text/css" ... .... />
    styles.php
    Codice PHP:
    // E' impostata la sessione?
    if(isset($_SESSION['stile'])) {
      switch(
    $_SESSION['stile']) {
        case 
    0:
            require(
    'css/stile1.css');    // Puoi usare anche 'include'
            
    break;        // Importante altrimenti esegue anche tutti i case successivi
        
    case 1:
            require(
    'css/stile2');
            break;
        case default:
            
    // Torna all'home page
            
    header("location: index.php");
    }
    else
    {
      
    // Torna all'home page
      
    header("location: index.php");

    Se proprio vuoi fare le cose a modo dovresti aggiungere anche l'intestazione (header) per specificare il content-type uguale a 'text/css'.... l'istruzione è sempre header

    La funzione per inizializzare la sessione ovviamente te la scrivi da solo

  5. #5
    Originariamente inviato da pictor
    Fai delle domande più specifiche su cosa non capisci o non sai fare
    Se proprio vuoi fare le cose a modo dovresti aggiungere anche l'intestazione (header) per specificare il content-type uguale a 'text/css'.... l'istruzione è sempre header
    La funzione per inizializzare la sessione ovviamente te la scrivi da solo
    Grazie della risposta pictor...Allora, adesso cominciamo a ragionare un pò di più
    Premetto che la voglia di scrivermi le cose da solo c'è, il problema è sapere cosa scrivere di preciso

    Nello specifico:
    Mi sono creato gli stili tramite .css.
    es: Nero/styles.css, Argento/styles.css, Oro/styles.css e così via.
    Questi stili sono organizzati in un submenu nell'index sotto la voce "stili" e vengono gestiti tramite l'istruzione:
    Codice PHP:
    [url="http://www..com/styles.php?style=Nero"Nero [/url]
    [
    url="http://www..com/styles.php?style=Argento"Argento [/url]
    [
    url="http://www..com/styles.php?style=Oro"Oro [/url
    Singolarmente funzionano (nel senso che gli stili sono settati in maniera appropriata) ma quando vado a cliccare sulle voci del sottomenu, appare il messaggio di errore:
    codice:
    Not Found
    The requested URL /styles.php was not found on this server.
    E' evidente che quell'istruzione serva a caricare gli stili che sono elencati in styles.php, e confesso, ho anche provato a scopiazzarlo brutalmente dal sito di origine (ebbene sì, sto facendo una sorta di reverse programming , se mi passi il termine ) ma non riesco ad accedervi perchè mi reindirizza alla homepage.

    Riuscissi a capire cosa intendi per "inizializzare la sessione" o a dare una sbirciatina a quel file sarei a cavallo, ma non mi riesce...Mastico più html che php

  6. #6
    Beh non puoi pretendere di programmare senza saper programmare

    Leggiti
    http://kb.creativepark.it/kb/entry/12/

    http://www.php.net/manual/it/

    http://www.php.net/manual/it/features.sessions.php

    http://www.php.net/manual/it/ref.session.php

    Comunque devi fare una pagina styles.php che include come ho detto prima i file CSS in base al parametro passato (...../styles.php?styles=Nero).

    Quel valore 'styles' lo devi infilare in una sessione, in modo che si mantenga tra tutte le pagine senza starla a passare ogni volta insieme al link.

    Codice PHP:
    function nome_css_in_sessione() {
     if(isset(
    $_REQUEST['styles'])) {   // Passato lo stile tramite POST/GET?
       
    $_SESSION['styles'] = $_REQUEST['styles'];   // Assegna il nome dello stile alla sessione
     
    } else {
       if(isset(
    $_SESSION['styles'])) {
        
    // Non fare niente. Va già bene
       
    } else {
        
    $_SESSION['styles'] = $css_default;  // css_default contiene il nome da prendere se non si sà quale stile scegliere
       
    }
     }

    La funzione nome_css_in_sessione() la metterei all'inizio di ogni pagina PHP che hai (in un file incluso magari è meglio).

    Dopodichè usi il valore $_SESSION['styles'] come ti pare e piace (con un 'if' o uno 'switch' a tuo piacimento) per scrivere come vuoi tu il tag

    <link rel="percorso/file.css" type="text/css" />


    [DIAPASON MODE ON]
    LA'! ....
    [/DIAPASON MODE OFF]

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 © 2025 vBulletin Solutions, Inc. All rights reserved.