Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2008
    Messaggi
    150

    Pagina vuota se l'utente non è abilitato

    Salve, so che sto per fare una domanda stupida, ma mi sono un po' incasinato e non so più come uscirne...

    la cosa è molto semplice:
    se l'utente ha fatto il login, allora può vedere la pagina, altrimenti gli viene fuori una scritta di default che deve loggarsi.

    il codice che ho usato è il seguente:
    (non uso i tag del codice o di php perchè altrimenti mi salta i caratteri di excape)

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>

    <head>
    <meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
    <title>Ricerca</title>
    </head>

    <body>
    <div align="center">

    <?php
    include "config.php";

    if(!isset($_SESSION['username']))
    echo "Non hai fatto il login correttamente <a href=\"index.php\">Riprova</a>";
    else
    echo "<form action=\"risultati.php\" method=\"post\" name=\"cerca\">";
    echo "<input type=\"text\" value=\"\" size=\"20\" maxlength=\"20\" name=\"sito\" />
    ";
    echo "<input type=\"text\" value=\"\" size=\"20\" maxlength=\"20\" name=\"TIPO\" />
    ";
    echo "<input type=\"submit\" value=\"Accedi\" name=\"Submit\" />";
    echo "</form>";
    ?>
    </div>
    </body>
    </html>

    ora non vi dico cosa mi viene fuori:

    mi fa vedere tutte e due le condizioni dell'if e in più mi da' questo errore:
    Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /home/mhd-01/www.miosito.net/htdocs/cerca.php:12) on line 2
    che macello sto combinando?

  2. #2

  3. #3
    un macello in effetti...

    Innanzi tutto, le sessioni devi inizializzarla col session_start() (che suppongo sia nel config.php, il problema è che il session_start aggiunge il session_id agli header della pagina, quindi deve essere chiamato prima di stampare alcunché.

    metti <? include("config.php"); ?> in testa alla pagina.

    poi, gli if sono istruzioni a singola linea, cioè vengono applicati alla prima istruzione che trovano (per istruzione si definisce tutto ciò che c'è da un ; al successivo , quindi l'else (che è il corrispettivo di un if e funziona allo stesso modo) viene applicato solo al echo "<form action=\"risultati.php\" method=\"post\" name=\"cerca\">"; le righe successive sono sempre stampate. Per metterle tutte sotto l'else devi racchiuderle tra { e }.

  4. #4
    Utente di HTML.it
    Registrato dal
    Apr 2008
    Messaggi
    150
    grazie mille!
    in effetti avevo fatto un bel po' di confusione...
    io e php non andiamo molto d'accordo...

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