Visualizzazione dei risultati da 1 a 5 su 5

Discussione: [php] funzione header

  1. #1
    Utente di HTML.it L'avatar di Ely88M
    Registrato dal
    Oct 2007
    Messaggi
    281

    [php] funzione header

    Buongiorno,
    ho questa pagina che attraverso la funzione header mi apre un'altra pagina php.

    ha sempre funzionato e oggi, senza aver fatto alcuna modifica mi dice:
    Warning: Cannot modify header information - headers already sent by (output started at /PagPersonali/controlloDati2.php:14) in /PagPersonali/controlloDati2.php on line 54

    questo è il codice

    Codice PHP:
    <?
    SESSION_START
    ('');

      
    ?>
    <HTML>
    <HEAD>
    <title>Civites Italia - Controllo dati Login</title>
    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
    <meta http-equiv="Content-Style-Type" content="text/css">
    <meta name="GENERATOR" content="Dynamic HTML Editor v.3.3 - [url]http://www.hexagora.com[/url]">
    <meta name="KEYWORDS" content="Area riservata">
    <meta name="DESCRIPTION" content="Pagina login">
    <meta name="AUTHOR" content="Elisa">
    <meta name="COPYRIGHT" content="">
    </HEAD>
    <BODY>

     <?php
       $Nome
    =$_POST[NomeUtente] ;
       
    $Passwd=$_POST[Passwd]   ;
       
    $NomeSettato= isset($Nome);
       
    $PassSettato= isset($Passwd);

       
    $hostname "hostingmysql06.register.it";    // connessione con db mysql
       
    $user_name "***";
       
    $psw "***";
       
    $connessione = @mysql_connect($hostname,$user_name,$psw)
                     or die (
    "Impossibile stabilire la connessione: ".mysql_error());
        
    $database "db";
        
    $db = @mysql_select_db ($database,$connessione) or die("impossibile selezionare il db ".mysql_error());

        if ( 
    $NomeSettato && $PassSettato && $Nome<>'' && $Passwd<>'' ) {
           
    $Id='';
           
    session_register('Id');
           
    $query=" SELECT *
                  FROM Clienti
                  WHERE Clienti.UserName='
    $Nome' AND  Clienti.Password='$Passwd'" ;
           
    $ris mysql_query($query,$connessione) or die ("Impossibile eseguire l'interrogazione: ".mysql_error());
           
    $n_ris mysql_num_rows($ris);
           if (
    $n_ris<>0){
             
    $Rs=trim(mysql_result($ris,0,'RagSoc'));
             
    $Id=trim(mysql_result($ris,0,'IdClienti'));
            if (
    $Rs=='') {$Rs=trim(mysql_result($ris,0,'Cognome')) .' 'trim(mysql_result($ris,0,'Nome')); }
          
    session_register('Rs');
          if (isset(
    $_SESSION['Rs'])) $Rs=$_SESSION['Rs'];
             
    session_register('Id');
             if (isset(
    $_SESSION['Id'])) $Id=$_SESSION['Id'];
              
             if (
    $Id != '') {
                 
    header("Location: [url]http://www.....it/PagPersonali/TestataFissa.php[/url]");
                }else{ 
    ?> [b]  <? //echo "Attenzione! Nome utente o Password errati!" ; ?> [/b]
                
     

      <p align="center"> [b] <h3><font color="#FF0000"> <p align="center"><?// echo "Per accedere alla pagina riservata del Miles2, Clicca qui accanto" ; ?> [/b]   </p></font></h3></p>
     <?  
       header
    ("Location: [url]http://www..it/prova.php[/url]");   }
       }else{
          [
    b]  <? /echo "Attenzione! Nome utente o Password errati!" ?> [/b]
     <?     header("Location: [url]http://www..it/prova.php[/url]"); }
           }else{
        
    ?>
         [b]  <? echo "Attenzione! Nome utente o Password errati!" ?> [/b]

     <?  header("Location: [url]http://www..it/prova.php[/url]");  }
            
    ?>
    </BODY>
    </HTML>
    Non riesco a capire il motivo.. così da un giorno all'altro senza fare modifiche a nulla..

  2. #2
    Ti suggerisco di iniziare leggendo questo articolo:

    [url=http://kb.creativepark.it/kb/entry/4/]Warning: Cannot modify header information - headers already sent ...[/php]

  3. #3
    Utente di HTML.it L'avatar di Ely88M
    Registrato dal
    Oct 2007
    Messaggi
    281
    ok..
    allora ho provato a togliere gli echo.. però non funziona lo stesso...
    e si che non ho fatto nessuna modifica e ieri funzionava perfettamente

  4. #4
    A me sembra tu stia richiamando una funzione di manipolazione degli header DOPO aver inviato in output dei dati.

    Perchè non provi a seguire quanto suggerito nell'articolo indicato?

    Warning: Cannot modify header information - headers already sent ...

  5. #5
    Puo' darsi che sia cambiata l'impostazione del server riguardo il buffering, in ogni caso bisognerebbe mettere tutte le chiamate a header() PRIMA di qualunque output, sia esso un echo da php o codice HTML.

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.