Visualizzazione risultati 1 fino 5 di 5

Discussione: 2 problemi e 2 richieste di consigli

  1. #1
    Guest

    Predefinito 2 problemi e 2 richieste di consigli

    sto cercando di adattare quello che avevo creato finora , ad un sito ( un caso di studio di un libro ) e far funzionare il tutto , prima di divrtirmi con i css () ... adesso ho 2 problemi e un paio di consigli da chiedere ... e non so che santo votarmi ... il primo quello un po ostico (almeno per me ) dunque il sito è congegnato su alcune cartelle ma il 99 % delle pagine sta sulla cartella content ... adesso io devo creare 2 nuove cartelle una admin per infilarci tutto quello che è amministrazione e uno dove infilarci gli utenti ( chiamata users ) ... ora mi trovo a dover modificare il codice facendolo puntare anche a queste 2 cartelle oltre a content e non so dove mettere le zampe ( ho provato a modificarlo duplicandolo cambiando le stringe ma viene un papocchio)
    Codice PHP:
    <?php
    $content
    = ''
    if (isset($_GET['content'])) :
    $content = $_GET['content'];
    endif;
    $content = filter_var($content, FILTER_SANITIZE_STRING);
    $content = (empty($content)) ? "home" : $ content;
    include
    'content/ ' . $content .'.php';
    ?>
    l'altro e come posso disporre quello che ora è su x linee ( qui vedete è il sito che sto modificando ) su x colonne per x linee ( 3 per colonna ad esempio ) sono tutti <div><li>

    infine 2 consigli 1) devo invece che scrivere il link a mano all' immagine , dovrei inserire l'upload dell'immagine ( limitandolo a 3 foto ad esempio ) e rinominarlo dandogli il numero dell'utente e aggiungendoci non so una lettera per differenziarla ..
    2) premetto questo sito immaginario ( mi serve per imparare ) dovrebbe essere un sito del buon umore ... ho bisogno di creare un modulo che random prenda vignette o frasi dal database e le publichi nell'home page ( o le invii via email ) in base al gusto di ciascun utente ,quindi ciascun utente non vedra mai battute che non rispecchiano i suoi gusti ( espressi al momento della registrazione ) . stessa cosa ogni volta che refresha il sito vedra una battuta nuova ( e quelle viste non verrano piu ripresentate per un tot di tempo ) ... avete qualche idea su come posso realizzarle ??
    Ultima modifica di stest : 19-07-2013 alle ore 20.40.01 Motivo: corretto un paio di errori

  2. #2
    Guest

    Predefinito

    un po sono riuscito a modificarlo ... ora ho un problema diverso ...
    devo riuscire a settare l'home page e includere tutte le pagine provenienti da determinate cartelle
    le cartelle sono 4 e la pagina e la pagina home che si trova nella cartella conent ( per ora )
    domande come modifichereste queste 2 righe in modo tale che punti alla pagina home in content (ad esempio) e che includa determinate cartelle ?
    Codice PHP:
    $foglio = (empty($foglio)) ? "home" : $(???);
    include
    '???/' . $foglio .'.php';
    incrociamo le dita !!

  3. #3
    Guest

    Predefinito

    Ciao, ad essere sincero non ho capito perfettamente il tuo problema, ma provo a buttarti giù un'idea di base che magari ti può essere utile :)
    Perché non provi a creare una struttura dati che rispecchia le tue "necessità di inclusione"? Mi spiego meglio. Se non ho capito male, tu hai delle pagine e per ogni pagina hai una serie di file da includere, giusto? Quello che ti sto dicendo quindi, è quello di crearti un'array che ti indichi cosa includere per ogni richiesta. Per esempio:
    Codice PHP:
    $inclusionTree = array(
    'home' => array(
    'folder' => 'content',
    'subpages' => array(
    'path/to/file1.php',
    'path/to/file2.php'
    ),
    ),

    'page2' => array(
    'folder' => 'page2_folder',
    'subpages' => array(
    'path2/to2/file21.php',
    'path2/to2/file22.php'
    ),
    )
    );
    Poi nel codice fai così:
    Codice PHP:
    // Qui c'è il codice che ti seleziona la pagina che vuoi visualizzare.
    $page = ...;

    // Includi la pagina selezionata.
    include $inclusionTree[$page]['folder'] . '/' . $page . '.php';

    // E includi tutte le sottopagine.
    foreach($inclusionTree[$page]['subpages'] as $subpage)
    include
    $subpage;
    Se devi includere intere cartelle il riadattamento è facile. Può esserti utile questa soluzione?
    Ultima modifica di noktalk : 23-07-2013 alle ore 10.11.42

  4. #4
    Guest

    Predefinito

    proviamo cosi , che forse è piu semplice da capire quello che sto cercando di fare partiamo dall'esempio del libro ..
    1- scarichiamo il file zippato del sito allo stato dell'arte da qui dezzipiamolo e mettiamolo su altervista o in locale ..
    2- creiamo nella root del sito 2 o piu cartelle , aggiungiamo all'interno 1 file per ciascuna cartella nuova creata ( scrivete qualcosa dentro )
    3- adesso modifichiamo l'index per far si che punti ai file all'interno delle 2 nuove catelle cerchiamo il tag ul class="mainnav" e aggiungiamole nuove pagine ... mettendole cosi <li><a href="index.php?nomecartella=nomefile">pagina</a></li>
    4- ora bisogna modificare lo script nel class="sidebar" perche accetti come valide le cartelle e le pagine che abbiamo creato in mainnav ... e per far si che in caso di nessun click di link o nel caso di dati errati lo script punti verso una pagina precisa in una cartella pecisa ( ad esempio la cartella content e il file home )
    tenente a mente che nella versione originale questo script viene trasformato in una funzione pubblica per la gestione della cartella content nei capitoli successivi ( cosi come per il comando switch )... nel caso mio questo script servira per la gestione delle cartelle che ho creato ...

  5. #5
    Guest

    Predefinito

    Forse ho capito. Spero.

    Allora, il problema è che tu non sai quale sia il parametro fornito con $_GET, perché tu usi il nome del parametro via GET come nome della cartella e il suo valore come nome del file. La soluzione più semplice sarebbe quella di modificare la richiesta della pagina:
    Codice:
    index.php?folder=nomecartella&file=nomefile
    Se invece vuoi tenere quella struttura per la richiesta, allora puoi servirti delle funzioni array_keys e array_values applicate su $_GET:
    Codice PHP:
    $keys = array_keys($_GET);
    $values = array_values($_GET);

    if(empty(
    $keys) || empty($values)) {
    // Nessuna cartella e/o file selezionati
    // ...
    } else {
    $folder = $keys[0];
    $file = $values[0];

    if(!
    file_exists('/root/tuo/sito/' . $folder . '/' . $file)) {
    // Il file e/o la cartella non esistono
    // ...
    } else {
    // Tutto ok, la cartella e il file sono corrette
    // ...
    }
    }
    C'è da dire che questa opzione da per scontate alcune cose:
    • il codice da per scontato che, qualora ci fossero, viene passato un solo un parametro mediante GET;
    • se ci dovessero essere più parametri, il codice considera solo il primo che viene passato;
    • se ci dovessero essere più parametri, non è detto che il primo fornito sia quello valido.


    Però forse non è un grosso problema, perché se tu gestisci internamente gli URL in modo corretto la cosa filerebbe liscia. Se qualche utente del tuo sito si dovesse divertire a giocare con gli url beccherebbe una pagina di errore e tanti saluti ;)
    Ultima modifica di noktalk : 24-07-2013 alle ore 22.25.20

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •