Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2003
    Messaggi
    726

    [XHTML] Errore di validazione per stringa non presente sulla pagina html

    Piccolo problema:
    sto facendo la validazione ad alcune pagine xhtml per vedere se le modifiche che ho importato sono state correttamente scritte.
    In queste pagine pero c'è un meccanismo di protezione per verificare per esempio che l'utente possa o no fare determinate operazioni, se si verifica un qualcosa che l'utente non puo fare esce fuori una scritta del tipo "Non sei connesso".

    codice:
    <?php
     session_start();
     $nick=$_SESSION['nick'];
    
     if ($nick!="")
    {
     
     echo "
        <!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Transitional//EN' 
         'http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd'>
     
        <html xmlns='http://www.w3.org/1999/xhtml' lang='it'>
        .
        .
        .
        </html>
     }
     
     else
     {
      echo "Non sei connesso";
     }
    
    ?>
    Il problema è che il validatore va a controllare anche il contenuto di else (che a quanto sapevo non doveva essere controllato in quanto non fa parte del codice xhtml) dandomi errori del tipo:
    character "N" not allowed in prolog.
    end of document in prolog.

    Ora, come si puo fare a non far controllare quella stringa?
    Devo per forza mettere sotto una pagina xhtml anche lei?

    tnx!

  2. #2
    E' la stessa cosa che ho pensato io, facendo una cosa del genere (scusa eventuali brutture nel codice php che conosco poco...)

    Codice PHP:
    echo "
        <!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Transitional//EN' 
         'http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd'>
     
        <html xmlns='http://www.w3.org/1999/xhtml' lang='it'>
        .
        .
        .
        </html>"
    ;
     }
      else
     {
      echo 
    "
        <!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Transitional//EN' 
         'http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd'>
     
        <html xmlns='http://www.w3.org/1999/xhtml' lang='it'>
    <body>Non sei connesso</body>
    </html>
    "
    ;
     } 
    non so se mi spiego, e non so neanche se quello che ho scritto e' corretto dal punto di vista del php, ma potrebbe essere che il validatore riconosca il </html> dell'echo ?...


    ciaux

  3. #3
    Utente di HTML.it L'avatar di miki.
    Registrato dal
    Oct 2004
    Messaggi
    1,918
    non e' che il validatore va a controllare "anche" il contenuto di else, ma controlla solo quello, in quando quando gli dici di controllare la pagina, il validatore w3c non e' collegato e quindi la variabile di sessione NICK e' vuota, e quindi il server stampera' a video "non sei collegato". Devi dare una formattazione anche alla parte sotto.

    meglio se scrivi cosi'
    Codice PHP:
    <!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Transitional//EN' 
         'http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd'>
     
        <html xmlns='http://www.w3.org/1999/xhtml' lang='it'>

    <?php
     session_start
    ();
     
    $nick=$_SESSION['nick'];

     if (
    $nick!="")
    {
     
     echo 
    "
            .
        .qui va il testo se sei collegato
        .
         "
    }
     
     else
     {
      echo 
    "Non sei connesso";
     }

    ?>
    </html>
    You cannot discover new oceans unless you have the courage to lose sight of the shore

    Caro Dio, quando nelle preghiere ti chiedevo di far morire quel pedofilo truccato, liftato,mentalmente disturbato e di colore indefinibile, non intendevo Michael Jackson.

  4. #4
    Utente di HTML.it
    Registrato dal
    Nov 2003
    Messaggi
    726
    Ok, vi ringrazio molto!

  5. #5
    Utente di HTML.it
    Registrato dal
    Nov 2003
    Messaggi
    726
    Originariamente inviato da miki.
    non e' che il validatore va a controllare "anche" il contenuto di else, ma controlla solo quello, in quando quando gli dici di controllare la pagina, il validatore w3c non e' collegato e quindi la variabile di sessione NICK e' vuota, e quindi il server stampera' a video "non sei collegato". Devi dare una formattazione anche alla parte sotto.

    meglio se scrivi cosi'
    Codice PHP:
    <!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Transitional//EN' 
         'http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd'>
     
        <html xmlns='http://www.w3.org/1999/xhtml' lang='it'>

    <?php
     session_start
    ();
     
    $nick=$_SESSION['nick'];

     if (
    $nick!="")
    {
     
     echo 
    "
            .
        .qui va il testo se sei collegato
        .
         "
    }
     
     else
     {
      echo 
    "Non sei connesso";
     }

    ?>
    </html>
    Non va

  6. #6
    Utente di HTML.it
    Registrato dal
    Nov 2003
    Messaggi
    726
    Alla fine ho fatto come mi ha consigliato webdemo e va tutto bene.

    Tnx a tutti per i vostri consigli

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.