• User

    Allora ho provato a inserire il codice php subito prima del form ma nessun risultato. Io le pagine le sto salvando in estensione .php e non .html, sbaglio?

    Inoltre prima del form mi visualizza nella pagina [URL="file:///C:/AppServ/www/Progetto_Php/%5C%22processpage.php%5C%22"]Accedi"; } } } else { // primo accesso ?>

    che ci fa?

    Non riesco a capire dove sia il problema. Ho corretto anche la sintassi, effettivamente mancava un $.


  • Moderatore

    mi riposti il tuo codice? grazie 🙂


  • User

    Eccolo qui:

    <?php
    session start ();
    if (isset ($_post)) {
    $apri=file("mio.txt");
    foreach ($apri as $riga) {
    $el=explode ("|", $riga);
    if ($_post [username] == $el [0] AND $_post [password]==$el [1]) {
    $_SESSION [Logged] =="OK";
    $_SESSION [username] ==$_post [username];
    echo ("<br/><a href="processpage.php">Accedi</a>");
    }
    }
    } ?>

    <h2>Accedi a un'area privata</h2>
    <form action="processpage.php" method="post" id="frm1">
    <fieldset>
    <legend>Effettua il login</legend>
    <p><label for="username">Username</label>
    <input name="username" type="text" class="user" id="username" value=" "/></p>
    <p><label for="password">Password</label>
    <input name="password" type="password" class="passw" id="password" value=" "/></p>
    <p><input name="submit" type="button" value="LOGIN" class="button"/></p>
    </fieldset>
    </form>


  • Moderatore

    [php]
    <?php
    session_start();
    if (isset ($_POST)) {
    $apri=file("mio.txt");
    foreach ($apri as $riga) {
    $el=explode ("|", $riga);
    if ($_POST[username] == $el[0] AND $_POST[password]==$el[1]) {
    $_SESSION[Logged] = "OK";
    $_SESSION[username] = $_POST[username];
    echo "<br/><a href="processpage.php">Accedi</a>";
    }
    }
    } ?>

    <h2>Accedi a un'area privata</h2>
    <form action="processpage.php" method="post" id="frm1">
    <fieldset>
    <legend>Effettua il login</legend>
    <p><label for="username">Username</label>
    <input name="username" type="text" class="user" id="username" value=" "/></p>
    <p><label for="password">Password</label>
    <input name="password" type="password" class="passw" id="password" value=" "/></p>
    <p><input name="submit" type="button" value="LOGIN" class="button"/></p>
    </fieldset>
    </form>
    [/php]

    la pagina che tu attivi, cioè questa, come si chiama?


  • User

    Si chiama Corsi.html


  • Moderatore

    bene chiamala corsi.php; perchè? perchè all'interno c'è del codice php 😛 tutto qui!

    e modificala così:

    [php]
    <?php
    session_start();
    if (isset ($_POST)) {
    $apri=file("mio.txt");
    foreach ($apri as $riga) {
    $el=explode ("|", $riga);
    if ($_POST[username] == $el[0] AND $_POST[password]==$el[1]) {
    $_SESSION[Logged] = "OK";
    $_SESSION[username] = $_POST[username];
    echo "<br/><a href="processpage.php">Accedi</a>";
    }
    }
    } ?>

    <h2>Accedi a un'area privata</h2>
    <form action="corsi.php" method="post" id="frm1">
    <fieldset>
    <legend>Effettua il login</legend>
    <p><label for="username">Username</label>
    <input name="username" type="text" class="user" id="username" value=" "/></p>
    <p><label for="password">Password</label>
    <input name="password" type="password" class="passw" id="password" value=" "/></p>
    <p><input name="submit" type="button" value="LOGIN" class="button"/></p>
    </fieldset>
    </form>
    [/php]
    bye!


  • User

    Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at C:\AppServ\www\Progetto_Php\Corsi.php:10) in C:\AppServ\www\Progetto_Php\Corsi.php on line 67

    Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at C:\AppServ\www\Progetto_Php\Corsi.php:10) in C:\AppServ\www\Progetto_Php\Corsi.php on line **67

    Ora appaiono questi errori nella pagina! Ma perché il codice php si visualizza nella pagina?
    **


  • Moderatore

    [php]
    <?php
    session_start();
    if (isset($_POST)) {
    $apri=file("mio.txt");
    foreach ($apri as $riga) {
    $el=explode ("|", $riga);
    if ($_POST[username] == $el[0] AND $_POST[password]==$el[1]) {
    $_SESSION[Logged] = "OK";
    $_SESSION[username] = $_POST[username];
    echo "<br/><a href="processpage.php">Accedi $_SESSION[username]</a>";
    }
    }
    } ?>

    <h2>Accedi a un'area privata</h2>
    <form action="Corsi.php" method="post" id="frm1">
    <fieldset>
    <legend>Effettua il login</legend>
    <p><label for="username">Username</label>
    <input name="username" type="text" class="user" id="username" value=""/></p>
    <p><label for="password">Password</label>
    <input name="password" type="password" class="passw" id="password" value=""/></p>
    <p>
    <input type="submit" name="Submit" class="button" value="LOGIN" />
    </p>
    </fieldset>
    </form>
    [/php]
    questa è testata 😛


  • Moderatore

    noto una riga 67 c'è altro codice?


  • User

    $apri=file("mio.txt");

    Questa è la riga a cui fa riferimento. Ho inserito il tutto nella pagina corsi.php in cui c'è anche il logo, il menu.. insomma la pagina completa. Per questo fa riferimento alla linea 64.

    Allora io avevo creato un file mio.txt in cui ho inserito semplicemente username e password. Non dovevo fare così?


  • User

    Scusa se ti stresso.. un'altra cosa... nella pagina processpage.php semplicemente devo creare la zona amministratore? Quindi una pagina che solo io posso visualizzare in cui posso creare nuovi documenti o inserire immagini..

    Grazieeeee


  • Moderatore

    si 😛


  • User

    :bho: mmm ma perché ora i messaggi di errore riguardano la funzione session_start(); ??
    Uff ogni volta ce n'è una nuova!!!
    ho fatto tutto!
    Ci potrebbe essere un problema tra i collegamenti? Ma le pagine sono tutte nella medesima cartella quindi mi sembra strano.

    Nell'action non devo inserire processpage.php anziché form action="Corsi.php"?


  • Moderatore

    devi inserire il nome della pagina che mostri a video cioè "corsi"

    in quanto poi hai un link che ti porta al pannello admin 😛

    hai un link? sei in locale? utilizzi un software per php e Apache?

    session_start() è accompagnato dal ;

    inoltre sono warning e non veri e propri errori 😛


  • User

    session_start è accompagnato dal ; la sintassi è corretta.
    Il problema è nel funzionamento: scrivo username e password, clicco su login e non mi apre nessuna pagina! Semplicemente aggiorna Corsi.php e i warning appaiono sulla pagina quindi non posso lasciarli! E non c'è nessun link che mi porta al pannello admin! Si sono in locale.
    Ecco questi sono i problemi.
    Mi dispiace annoiarti con queste cose ma non ci trovo un senso nel fatto che non funzioni se ho fatto tutto in maniera corretta!


  • Moderatore

    ti metto in condivisione il file mio.txt usato da me:

    user kurose e pass prova 🙂


  • User

    Cannot send session cookie - headers already sent by (output started at

    dice che non puo' settare il cookie e la sessione perche' l'header del mesaggio http e' gia' andato, il che vuol dire che hai scritto la session_start dopo una qualsiasi istruzione di stampa html (una eco o anche solo un tag HTML). Controlla che session_start non abbia nulla prima, nemmeno una riga bianca. Il resto degli errori e' tutta una conseguenza di questo.

    Questa è stata la risp della mia prof quando le ho posto il problema! Ma allora dove si inserisce il codice php??


  • Moderatore

    ahhh già tu hai una pagina completa che si trova a dispetto di questo codice 🙂

    postami tutta la pagina o meglio ancora posta session_start(); sulla pagina principale 🙂
    dovrebbe andare ovviamente tra i tag <? ?> 😛


  • User

    Mi ha detto di inserire tutto prima del tag <html> e ora i warning son spariti ma non funziona cmq! Quando inserisco username e password aggiorna la pagina e basta!!
    UFFFFFFFFFFFFF!!!!


  • Moderatore

    non esce il link accedi?

    mi posteresti la pagina completa?