Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    problemi istruzione header() e css

    Ciao Raga,
    mi sta succedendo qualcosa di strano... molto strano.
    Premetto che ho un sito già fatto cn un login bello e buono interfacciato al mysql che è una bomba.
    Ora sto facendo un'altro sito in cui uso i CSS e voglio inserire il mio login già fatto e provato però ho i problemi famosi sul

    Warning: Cannot modify header information - headers already sent by (output started at C:\Programmi\xampp\htdocs\***\login.php:17) in C:\Programmi\xampp\htdocs\***\login.php on line 51

    Ho provato tutti i tutorial possibili ma ho scoperto che quando si usano i CSS l'istruzione header () da il problema sopraelencato ma se metto ob_start() all'inizio della pagina, mi toglie tutto l'output della pagina css e mi fa vedere solo il buon andamento del login o il cattivo andamento.

    Cosa dovrei fare??? Posso fare una pagina css standard che con un require possa essere inserita nella pagina php senza rompimenti??

    Aspetto notizie.

    PS ho IE7

  2. #2
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027

    Re: problemi istruzione header() e css

    Originariamente inviato da facciadiletame
    Ciao Raga,
    mi sta succedendo qualcosa di strano... molto strano.
    Premetto che ho un sito già fatto cn un login bello e buono interfacciato al mysql che è una bomba.
    Ora sto facendo un'altro sito in cui uso i CSS e voglio inserire il mio login già fatto e provato però ho i problemi famosi sul

    Warning: Cannot modify header information - headers already sent by (output started at C:\Programmi\xampp\htdocs\***\login.php:17) in C:\Programmi\xampp\htdocs\***\login.php on line 51

    Ho provato tutti i tutorial possibili ma ho scoperto che quando si usano i CSS l'istruzione header () da il problema sopraelencato
    Se hai letto tutti i tutorial possibili saprai perfettamente da cosa è scaturito l'errore, e potrai capire da solo che l'uso o meno dei css non può influenzare il php.

    ma se metto ob_start() all'inizio della pagina, mi toglie tutto l'output della pagina css e mi fa vedere solo il buon andamento del login o il cattivo andamento.
    Si, ob_start sopprime l'output finchè non usi ob_get_contents() per prendere l'output soppresso e mandarlo al browser con un semplice echo.

    PS ho IE7
    Il browser c'entra poco, come dicevo php è server side

    ciao

  3. #3
    quindi metto all'inizio ob_start() e poi tutto il testo ob_get_contents()???
    Mi puoi fare un esempio pratico??
    Grazie tante

  4. #4
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027
    Secondo me è più giusto capire cosa c'è di sbagliato nel codice.

    Non mi dilungo troppo nella spiegazione che ho già fatto altre volte riguardo header, se cerchi qui sul forum troverai un sacco di discussioni a riguardo, comunque tu non puoi stampare a video niente prima di usare la funzione header perchè nel momento in cui stampi qualcosa a video hai di fatto già chiuso l'header della pagina e quindi non puoi usare le funzioni che devono modificarlo.

    Questi sono esempi ERRATI di come usare header:

    codice:
    echo "PROT";
    header('Location:http://miosito.it/index.php');
    codice:
    <html>
    <head>
    <title></title>
    </head>
    <?php
    header('Location:http://miosito.it/index.php');
    ?>
    codice:
    <?php
    // nota che prima del tag php c'è un ritorno a capo che è a tutti gli effetti un output sulla pagina.
    header('Location:http://miosito.it/index.php');
    ?>
    Fatti questi esempi, dovrai cercare nel tuo codice dove avviene questo errore e eliminarlo.

    puoi anche aiutarti con la funzione http://fr.php.net/manual/it/function.headers-sent.php che ti restituisce linea e nome del file che hanno fatto l'output.

    ciao

  5. #5
    niente da fare... questo è il mio codice, ho capito qual'è l'errore ma nn so proprio come eliminarlo...

    <head>
    <title>Gestione interventi </title>
    <link rel="stylesheet" align="center" type="text/css" href="style.css" media="screen" />
    </head>
    <body>

    <div id="wrap">

    <div id="header">
    <h1></h1>
    <h2></h2>
    </div>

    <div id="right">

    <h2>prova</h2>
    </div>

    <div id="left">

    <h3>Login</h3>
    <ul>
    <?PHP
    ob_start();
    $username1 = $_POST["username"];
    $password1 = $_POST["password"];
    include("connessione.php");
    $query = "Select * from utenti where username='$username1'";
    $result = @mysql_query($query);
    if ($row = @mysql_fetch_array($result))
    { if ($row[actnum] == 0){
    if ($row[numloginfallito] <= 5){
    if ($row[password] == $password1){
    $datetime=date("Y-m-d H:i:s", time());
    $query = "UPDATE utenti Set ultimo_login = '$datetime' where username='$username1'";
    $result = mysql_query($query);
    $query = "UPDATE utenti Set numloginfallito = '0' where username='$username1'";
    $result = @mysql_query($query);
    $_SESSION[pass]=$password1;
    $_SESSION[id]=$username1;
    header ('Location: members/login.php');
    }
    else{
    $datetime = date("d")*10000000000 + date("m")*100000000 + date("Y")*10000 + date("G")*100 + date("i");
    if ($row[ultloginfallito] >= ($datetime-5))
    {
    $query = "UPDATE utenti Set numloginfallito = numloginfallito + 1 where username='$username1'";
    $result = mysql_query($query);
    $query = "UPDATE utenti Set ultloginfallito = '$datetime' where username='$username1'";
    $result = mysql_query($query);
    }
    else{
    $query = "UPDATE utenti Set ultloginfallito = '$datetime' where username='$username1'";
    $result = mysql_query($query);
    }
    makeform("Login non corretta");}
    }
    else {
    $datetime = date("d")*10000000000 + date("m")*100000000 + date("Y")*10000 + date("G")*100 + date("i");
    $tempo=5;
    if ($row[ultloginfallito] <= ($datetime-$tempo)){
    $query = "UPDATE utenti Set numloginfallito = '5' where username='$username1'";
    $result = mysql_query($query);
    makeform("Questo account ha subìto un attacco, quindi è stato bloccato. L'account sarà riattivato all'inserimento della username e password corrette. Allora potrai riutilizzare le funzioni del sito normalmente
    ");
    }
    else{
    echo "Questo account è stato attaccato. Devi aspettare $tempo minuti che l'account venga liberato.


    Ritorna al login </p>
    ";
    }
    }
    }
    else{
    makeform("Quest'account non è stato ancora attivato.
    Fallo ora");
    }
    }
    else{
    if ($username1 == ""){
    makeform("");
    }
    else {
    makeform("Login incorretta");
    }
    }

    function makeform($errormessage){
    ?>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
    <head>
    <title></title>
    <h1 align="center" class="Stile9">LOGIN</h1>
    <p align="center" class="Stile9">
    </p>
    <div align="center">
    <?php
    echo "<font color=\"#FF0000\">$errormessage</font>
    "; ?>
    </div>
    <form name="form" method="post" action="index.php">
    <p align="center" class="big">USERNAME
    <input name="username" type="text" id="username" maxlength="20">



    PASSWORD
    <input name="password" type="password" id="password" maxlength="10">
    </p>
    <p align="center">

    <input name="submit" type="submit" class="big" value="Entra">

    <input name="clear" type="reset" class="big" id="clear" value="Cancella">
    </p>
    </form>
    <div align="center" class="big">


    <acronym>Password dimenticata </acronym></p>


    <acronym>Crea un account</acronym></p>


    <acronym>Contattami</acronym></p>
    </div>
    </body>
    </html>
    <?php } ?>[/list]
    <h3>Prodotti:</h3>
    <ul>
    **[/list]

    <h3>Calendario</h3>
    <? include ('calendario.php'); ?>
    </div>


    <div style="clear: both;"> </div>

    <div id="footer">
    Contatta l'aziendaContatta Giuseppe</div>
    </div>


    </body>
    </html>

  6. #6
    Tutta la parte di codice PHP almeno fino a header("Location...") devi metterla all'inizio, prima di <html>

  7. #7
    messa ma ancora niente

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.