Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 18
  1. #1

    [PHP] Problema Grave Switch ()

    Allora il mio problema con la funzione Switch è il seguente:
    Questa funzione la utilizzo per creare i link in stile php per intenderci: index.php?ind= ... il problema è che nella realizzazione del mio CMS c'è un punto in cui io dovrei gestire le categorie di download modificarle o cancellarle e il link per eseguire questa funzione è il seguente: index.php?ind=Amministrazione?=CatCancella?=$id e quando vado su questo link mi ricollega alla index principale... questo problema ce l'ho per tutti i link come si può vedere dal link appena postato.. (è lunghissimo) e a causa di questo problema non posso terminare il cms perchè poi nella pagina principale dei Downloads io dovrei selezionare la Categoria tramite id e poi visualizzare i files al suo interno sempre tramite id e questo chiaramente nn mi è possibile a causa di questo "disguido" qualcuno può gentilmente aiutarmi?

    Addirittura non posso creare un altro switch per esempio index.php?admin= || index.php?user= ecc... mi ricollega sempre alla pagina principale...

    La mia index è costituita da:
    Case Default e vari Case Include che in pratica si ricollegano ad ogni pagina del CMS -.- ...

    Mi affido a voi.
    Grazie in Anticipo.
    Andrea.

  2. #2
    Utente di HTML.it
    Registrato dal
    Jun 2008
    Messaggi
    1,317
    Ciao anarchia, per caso hai hostato il tuo sito su altervista?
    Se si sono quell'utente a cui hai chiesto come si faceva a stampare il tempo di esecuzione dello script ( microtime() ).
    Se si, mi rimandi il link?

    Comunque innanzitutto ti do alcune soluzione:
    - non inserire tutto il contenuto del cms in una sola pagina perchè APACHE scorre tutta la pagina alla ricerca di errori e ritorna indietro. Sai che fatica per PHP scorrere tutta una pagina che magari contiene più di 1000 righe.

    Ma fai:
    Codice PHP:
    switch ($_GET['lol'])
    {
       case 
    'pagina1':
          include 
    'pagina1.php';
       break;

    o più semplicemente:

    Codice PHP:
    if ( file_existsbasename$_GET['lol'] . '.php' ) ) )
    {
          include 
    $_GET['lol'];
    }
    else
    {
          include 
    'pagina1.php';


    comunque non riesco a capire il tuo problema. puoi fare un esempio PRATICO?

  3. #3
    1) Il mio sito è in locale quindi non sono io...
    2) La mia index è questa: (PARZIALE)

    Codice PHP:
    switch (@$_GET['ind'])
    {

        default:        
           include(
    "Pagine/Home.php");    
           break;
           
           case 
    "pag":
           include(
    "pag.php");
           break;

        case 
    "Registrazione":
           include(
    "Pagine/Home.php");
           break;

        case 
    "Altro":
           include(
    "Pagine/Altro.php");
           break;

    ecc... ecc... ecc...


    Ora io nella Home .php ho due link uno che si ricollega ad altro.php e funziona un altro link che si ricollega ad altro2.php che però non è nello switch e mi redirecta alla pagina principale index.php che contiene di defoult Home.php...

    Ora visto che ho delle pagine con varie impaginazioni risultati del tipo:
    Pagine: 1 - 2 - 3 ecc...
    E questi link si ricollegano tramite gli ID delle Pagine non posso farlo funzionare per tutto quello che linko che non c'è nello Switch mi redirecta e non mi permette di eseguire la funzione...

  4. #4
    Utente di HTML.it L'avatar di clasku
    Registrato dal
    Aug 2006
    Messaggi
    3,197
    Forse mi sto sbagliando, ma lo segnalo lo stesso...
    Questo:
    index.php?ind=Amministrazione?=CatCancella?=$id
    non mi suona per niente bene...
    I parametri delle querystring dovrebbero essere separati da & non dal ?=. Così:
    index.php?ind=Amministrazione&CatCancella=$id

    Se usi la stringa da te postata ti rimanda sempre alla index, perché il server non riconosce i parametri

  5. #5
    aparte quell' esempio lo fa con tutti i link redirecta dappertutto...

  6. #6
    Ho provato anche con ' & ' ma non cambia il risultato anzi rimane nella stessa pagina...
    Possibile che non c'è un modo per "uscire" da questo Switch?
    Oppure un'alternativa allo Switch è quello con il File Exist? ed usando questo ultimo metodo riesco a lavorare con gli ID?

  7. #7
    Utente di HTML.it L'avatar di clasku
    Registrato dal
    Aug 2006
    Messaggi
    3,197
    sei sicuro che $_GET['ind'] abbia un valore valido per lo switch?

    Prova a stamparne a video il valore prima dello switch e magari togli la "@" da davanti alla variabile così se c'è qualche errore ti appare a video (sempre che la visualizzazioni degli errori sia attiva...)

  8. #8
    Se tolgo la @ dice che la variabile ind non è definita... come faccio a definirla?
    Oppure c'è un metodo alternativo oltre a quello citato da zacca perchè sinceramente non capisco come possa funzionare...

  9. #9

  10. #10
    Ecco grazie...

    Allora:
    Quello che devo riuscire a fare io è di avere nella barra degli indirizzi solo il file index.php che si ricollega alle altre pagine. Per esempio:

    http://localhost/index.php => Index Principale
    http://localhost/index.php?ind=News => Pagina News
    ecc...

    Questa operazione riesco a farla senza problemi tramite lo Switch.
    Quello che non riesco a fare è lavorare con gli ID perchè mi redirecta alla index principale. Per esempio:

    http://localhost/index.php?ind=News&Categoria=($id) => Mi redirecta alla index.

    Visto che il mio CMS deve avere News, Articoli, Downloads che si basano sulla sezione degli ID delle Categorie, dei Files, ecc non riesco ad eseguire questa operazione a causa del redirect.

    Ora:
    Con il $_GET, studiandoci un po su, potrei arrivarci, magari con qualche aiuto, soltanto che vado a visualizzare altre pagine come per esempio:

    http://localhost/index.php => OK!
    http://localhost/Pagine/News.php?ind=($id) => NO!

    Quindi cerco disperatamente una soluzione. Non sono un esperto anzi...
    Spero che qualcuno possa capire il mio problema e darmi una mano perchè altrimenti sono fermo! Grazie.

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.