Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    119

    Errore Form Login: "Cannot Modify Header"

    Salve,

    ho questo codice:
    Codice PHP:
    <div>
    <ul>
    <form method="POST">
    <table>
    <tr><td>Username : </td><td><input type="text" name="user" /></td></tr>
    <tr><td>Password : </td><td><input type="password" name="password" /></td></tr>
    <tr><td><input type="submit" name="action" value="Login" /></td></tr>
    </table>
    </form>[/list]
    <?php
    $chkusr
    ="mioname";
    $chkpas="miapassword";

    if (isset(
    $_POST['action']) and
        isset(
    $_POST['user']) and
        isset(
    $_POST['password']) and
        
    $_POST['user']==$chkusr and
        
    $_POST['password']==$chkpas)
    //header ("Location:[url]http://www.ulr.com[/url]");
    header ("Location:/index.php?mnuItm=modify"); //
    ?>
    </div>

    ottengo questo errore:
    "Warning: Cannot modify header information - headers already sent by (output started at D:\WebDesign Test\index.php:132) in D:\WebDesign Test\resources\login.php on line 21"

    Ho provato ad inserire anche un link sbagliato ma non cambia nulla...
    Voglio semplicemente andare in "/index.php?mnuItm=modify" se username e password sono giusti.

    Cosa può essere?

    Grazie

  2. #2
    Utente di HTML.it
    Registrato dal
    Mar 2007
    Messaggi
    1,611
    prova a togliere questo ...

    //header ("Location:http://www.ulr.com");
    NON ABBANDONATE CANI O GATTI!!!

  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    119
    grazie, ma ancora non funziona:
    Codice PHP:
    <div>
    <ul>
    <form method="POST">
    <table>
    <tr><td>Username : </td><td><input type="text" name="user" /></td></tr>
    <tr><td>Password : </td><td><input type="password" name="password" /></td></tr>
    <tr><td><input type="submit" name="action" value="Login" /></td></tr>
    </table>
    </form>[/list]
    <?php
    $chkusr
    ="nome";
    $chkpas="pass";
    if (isset(
    $_POST['action']) and
        isset(
    $_POST['user']) and
        isset(
    $_POST['password']) and
        
    $_POST['user']==$chkusr and
        
    $_POST['password']==$chkpas)
    header ("Location:/index.php?mnuItm=modify"); //
    ?>
    </div>
    l'errore dice che ho gia inviato.. ma che cosa?

  4. #4
    Utente di HTML.it
    Registrato dal
    Mar 2007
    Messaggi
    1,611
    altrimenti al posto della istruzione header usa..

    codice:
    <script type="text/javascript">window.location.replace("index.php?mnuItm=modify");</script>
    NON ABBANDONATE CANI O GATTI!!!

  5. #5
    il codice header("location...") deve essere posto prima dell'inizio di emissione di codice nella pagina...cioè se prima di header hai pubblicato del codice (html) nella pagina questo non funziona. header deve essere la prima cosa che venga stampata in una pagina html...

    per esempio, se hai <html><head>...e poi <?php header...?>, questo non funziona.
    devi fare <?php header ...?> <html><head> ... per risolvere il problema.

    per fare quello che vuoi fare tu, credo che ti convenga fare il POST del Form direzionato verso un altro file, per esempio login_auth, dove puoi anche non pubblicare codice html o stampa a schermo, e l'header dovrebbe funzionare.

    in ogni caso, dai un'occhiata qui: http://it.php.net/header

  6. #6
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    119
    ..grazie per le risposte, ma mi sembra tutto molto strano..

    anche perchè sono convinto che il codice così come l'ho postato funzionasse finchè non ho fatto altre modifiche alla struttura delle pagine, spero di riuscire a postare la versione funzionante a breve per chiarire meglio.

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.