Visualizzazione dei risultati da 1 a 8 su 8

Discussione: Errore con redirect

  1. #1
    Utente di HTML.it L'avatar di amamax
    Registrato dal
    Feb 2001
    Messaggi
    562

    Errore con redirect: HELP!

    Warning: Cannot modify header information - headers already sent by (output started at /var/www/nikkia/insd.php:2) in /var/www/nikkia/insd.php on line 54

    Questo è l'errore che mi da quando metto:

    header('Location:miapagina.php');

    Come mai??!'

    Grazie

  2. #2
    Header funziona se non hai già mandato altri output al browser dell'utente.

  3. #3
    Utente di HTML.it L'avatar di amamax
    Registrato dal
    Feb 2001
    Messaggi
    562
    HO capito.
    Perchè praticamente io da un form, dando l'ok mando i dati via POST ad una pagina.

    Ipoteticamente questa pagina che riceve i dati dovrebbe processarli (in questo caso mandarli nel DB) e rindirizzare l'utente ad una pagina che ti dice ad esempio "ok l'hai registrati".

    il redirect mi servirebbe perchè altrimenti se l'utente fa "refresh" della pagina, i dati li registra di nuovo senza fare troppi controlli con il codice PHP.

    Per "output" dall'utente che intendi, i dati mandati via form dal documento precedente o cosa?

    Grazie ancora

  4. #4
    qualsiasi testo o codice html mandato all'utente prima che gli mandi l'header.

  5. #5
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,923
    Visto che sei iscritto dal 2001 dovresti conoscere il regolamento

    Per questa volta ho modificato il titolo io.

  6. #6
    Utente di HTML.it L'avatar di amamax
    Registrato dal
    Feb 2001
    Messaggi
    562
    Originariamente inviato da goikiu
    qualsiasi testo o codice html mandato all'utente prima che gli mandi l'header.
    Il codice è questo:

    <?php session_start();?>
    <style>@import url(stile.css);</style>
    <table border=0 cellpadding=0 cellspacing=0 width=100%>
    <tr>
    <td><center>
    <table border=0 cellpadding=0 cellspacing=0>
    <tr>
    <td>
    <?php
    $mysqli = new mysqli('localhost', 'root', 'lilulo78', 'nikkia');
    $mysqli->autocommit(true);

    //mostra la parte dell'utente una volta che si è loggato
    function mostraManager(){
    ?>
    <div id="sopra">
    <div id="distSx"></div>
    <div id="distSup"></div>
    <div>
    <form action="insd.php" method="POST">
    <div>Benvenuto <?php echo $_SESSION['user'];?>!</div>
    </form>
    </div>
    </div>
    <div id="separatore"></div>
    <div>
    <div>AGGIUNGI UN EVENTO</div>
    </div>
    <?php
    }
    //mostra il messaggio negativo per l'utente che voleva entrare con dati sbagliati
    function mostraNega(){
    ?>

    <?php
    }

    //processo per vedere se l'utente è effettivamente registrato
    $result = $mysqli->query("SELECT * FROM utenti", MYSQLI_USE_RESULT);
    while($row = $result->fetch_assoc())
    {
    if($row['user']==$_POST['user'] && $row['psw']==$_POST['psw']){
    $risultato=true;
    $_SESSION['user']=$_POST['user'];
    $_SESSION['psw']=$_POST['psw'];
    $_SESSION['idCreatore']=$row['id'];
    break;
    }else{
    $risultato=false;
    }
    }
    $result->close();
    if($risultato==true){
    header('Locationrova.php');
    mostraManager();
    }else{
    mostraNega();
    }
    $mysqli->close();
    ?>
    </td>
    </tr>
    </table>
    </center></td>
    </tr>

    Quale sarebbe l'output che non va??!?

  7. #7
    Utente di HTML.it L'avatar di amamax
    Registrato dal
    Feb 2001
    Messaggi
    562
    ALLA grande...ora ricordo...sai sto ripassando, so tre anni che non riprogrammavo

    IDEM per il moderatore!

    Cia e grazie

  8. #8
    di niente, comunque il codice html è output a browser (era quello il problema penso)

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.