Visualizzazione dei risultati da 1 a 7 su 7

Discussione: Stringhe e virgolette

  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2006
    Messaggi
    449

    Stringhe e virgolette

    In un codice di questo tipo:
    codice:
    <?php
    isset($_GET["pagina"]) ? $pagina=$_GET["pagina"] : $pagina="Home";
    $rightmenu=array("sezione1"=>array("La biblioteca","Regolamento"),
    "Chi siamo"=>array("Chi siamo","La nostra storia",,"L'inaugurazione",)
    le pagine il cui nome file porta un apostrofo non vengono trovate.
    E se utilizzo un carattere di escape ("L\'inaugurazione") esso viene
    semplicemente riprodotto e, ancora, la pagina non trovata.
    Com'è possibile risolvere?

    Grazie
    M.

  2. #2
    Utente di HTML.it
    Registrato dal
    Dec 2006
    Messaggi
    449
    Scusate, ho postato un codice con un paio di errori
    codice:
    <?php
    isset($_GET["pagina"]) ? $pagina=$_GET["pagina"] : $pagina="Home";
    $rightmenu=array("sezione1"=>array("La biblioteca","Regolamento"),
    "Chi siamo"=>array("Chi siamo","La nostra storia","L'inaugurazione")
    e ovviamente col carattere di escape risulta:
    codice:
    L\'inaugurazione
    M.

    PS
    Non mi prende la backslash...

  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2006
    Messaggi
    449
    Nessuna idea?
    SI può fare in qualche modo sta cosa?
    Pensavo si trattasse solo di qualche "trucco"
    per manipolare le stringhe...

    M.

  4. #4
    Ciao.
    Intanto ti consiglio di non usare isset, perché se questo è al mio link: index.php?pagina oppure index.php?pagina= isset restituisce true. un codice migliore sarebbe questo:
    Codice PHP:
    $pagina=($_GET['pagina']!="") ? $_GET['pagina'] : 'home'
    Invece, per il problema dell'apostrofo, basta che sull'attributo href metti urlencode("l'inaugurazione");
    e al momento della decodifica metti urldecode($_GET['pagina']);

  5. #5
    Utente di HTML.it
    Registrato dal
    Dec 2006
    Messaggi
    449
    Aspe... che io sono niubbo...
    Ti fornisco il codice completo:
    [code]<?php
    $pagina=($_GET['pagina']!="") ? $_GET["pagina"] : "Home";
    $rightmenu=array("La biblioteca"=>array("La biblioteca","Regolamento"),
    "Circolari"=>array("Circolari","Area pubblica","Area riservata"),
    "Chi siamo"=>array("Chi siamo","Gli inizi","L'intitolazione","L'inaugurazione"),
    "Progetti"=>array("ECDL","Scambio Australia","Galleria Australia","Scambio USA","Galleria USA","Musica"),
    "Segreteria"=>array("Segreteria")
    );
    $activemenu=0;
    $folder="Home";
    foreach($rightmenu as $kmenu=>$vmenu) {
    if(in_array($pagina,$vmenu) | $pagina==$kmenu) {
    $activemenu=$rightmenu[$kmenu];
    $folder=$kmenu;
    }
    }
    $vocimenu=array("Home","Chi siamo","Contatti","News","POF","Progetti","Agenda" ,"Segreteria");
    foreach($vocimenu as $voce) {
    echo "[*]";
    if($pagina!=$voce) echo '<a href="index.php?pagina='.$voce.'">';
    echo $voce;
    if($pagina!=$voce) echo "</a>";
    echo "";
    }
    echo "\n";
    ?>[/list]
    </div>
    </div>
    </div>
    <div id="leftmenu">
    <ul>
    <?php
    $vocimenu2=array("Home","Scuolanet","Newsletter"," Circolari","La biblioteca","Studenti","Siti utili");
    foreach($vocimenu2 as $voce2) {
    echo "[*]";
    if($pagina!=$voce2) echo '<a href="index.php?pagina='.$voce2.'">';
    echo $voce2;
    if($pagina!=$voce2) echo "</a>";
    echo "";
    }
    echo "\n";
    ?>[/list]
    </div>
    <div id="rightmenu">
    <?php
    if($activemenu) {
    echo "
    <ul>";
    foreach($activemenu as $voce3) {
    echo "[*]";
    if($pagina!=$voce3) echo '<a href="index.php?pagina='.$voce3.'">';
    echo $voce3;
    if($pagina!=$voce3) echo "</a>";
    echo "";
    }
    echo "[/list]\n";
    } else echo "";
    ?>
    </div>
    <?php include("$folder/$pagina.php")
    ?>[code]
    Non capisco bene dove sistemare i tag che mi suggerisci...

    Mille grazie
    M.

  6. #6
    Mi ero dimenticato:
    Codice PHP:
    $pagina=($_GET['pagina']!="") ? urldecode($_GET["pagina"]) : "Home"
    Poi, nei link dovi mettere x esempio:
    Codice PHP:
    <a href="index.php?pagina='.urlencode($voce).'">
    ...
    <
    a href="index.php?pagina='.urlencode($voce2).'">
    ...
    <
    a href="index.php?pagina='.urlencode($voce3).'"

  7. #7
    Utente di HTML.it
    Registrato dal
    Dec 2006
    Messaggi
    449
    Ho sistemato così:
    codice:
    <?php
    $pagina=($_GET['pagina']!="") ? urldecode($_GET["pagina"]) : "Home";
    $rightmenu=array("La biblioteca"=>array("La biblioteca","Regolamento"),
    "Circolari"=>array("Circolari","Area pubblica","Area riservata"),
    "Chi siamo"=>array("Chi siamo","Raimondo Franchetti","Gli inizi","L'intitolazione","L'inaugurazione","L'autonomia","La guerra","Il territorio","Le risposte","L'utenza","L'organigramma"),
    "Contatti"=>array("Contatti","Ricevimento genitori","Consigli di classe","Mappa","Dirigenza","Collaboratori","Funzioni strumentali","Coordinatori Consigli","Responsabili laboratori","Coordinatori dipartimenti"),
    "POF"=>array("Commissione POF","Testo del POF","Carta dei servizi","Regolamento di Istituto","Statuto degli studenti","Regolamento applicativo","Regolamento gite"),
    "Progetti"=>array("ECDL","Scambio Australia","Galleria Australia","Scambio USA","Galleria USA","Musica"),
    "Segreteria"=>array("Segreteria")
    );
    $activemenu=0;
    $folder="Home";
    foreach($rightmenu as $kmenu=>$vmenu) {
    if(in_array($pagina,$vmenu) | $pagina==$kmenu) {
    $activemenu=$rightmenu[$kmenu];
    $folder=$kmenu;
    }
    }
    $vocimenu=array("Home","Chi siamo","Contatti","News","POF","Progetti","Agenda","Segreteria");
    foreach($vocimenu as $voce) {
    echo "[*]";
    if($pagina!=$voce) echo '<a href="index.php?pagina='.urlencode($voce).'">';
    echo $voce;
    if($pagina!=$voce) echo "</a>";
    echo "";
    }
    echo "\n";
                  ?>[/list]
              </div>
            </div>
          </div>
          <div id="leftmenu">
            <ul>
              <?php
    $vocimenu2=array("Home","Scuolanet","Newsletter","Circolari","La biblioteca","Studenti","Siti utili");
    foreach($vocimenu2 as $voce2) {
    echo "[*]";
    if($pagina!=$voce2) echo '<a href="index.php?pagina='.urlencode($voce2).'">';
    echo $voce2;
    if($pagina!=$voce2) echo "</a>";
    echo "";
    }
    echo "\n";
              ?>[/list]
          </div>
          <div id="rightmenu">
            <?php
    if($activemenu) {
    echo "
    <ul>";
    foreach($activemenu as $voce3) {
    echo "[*]";
    if($pagina!=$voce3) echo '<a href="index.php?pagina='.urlencode($voce3).'">';
    echo $voce3;
    if($pagina!=$voce3) echo "</a>";
    echo "";
    }
    echo "[/list]\n";
    } else echo "";
            ?>
    ma continuo ad avere lo stesso problema.
    Ci ho infilato inconsapevolmente qualche errore?

    Mille grazie
    M.

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.