Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1

    problemi sessioni, header in fase di login

    Ciao ragazzi, ho un problema sto facendo una pagina di login che in caso di accesso consentito mi va alla mia admin. Il problema è che mi da errore nell'header, avevo già fatto una cosa simile e non mi dava problemi non capisco perchè adesso mi fa così, il codice è questo:

    session_start();
    $str_errore='';
    include ('include/config.inc.php');
    if(strtoupper($_SERVER['REQUEST_METHOD'])=='POST'){
    $username=$_POST['user'];
    $pass=$_POST['pass'];
    if(eregi('^[a-z0-9]{2,100}$',$username) && eregi('^[a-z0-9]{2,100}$',$pass)){
    $sql="SELECT admin_id FROM admin WHERE admin_user='".$username."' AND admin_pass='".$pass."' ";
    //echo $sql;

    $dati=mysql_query($sql,$miaconn); //linea 14 dove dà l'errore
    if(mysql_num_rows($dati)>0){
    //********************** login ok
    $array=mysql_fetch_array($dati);
    $_SESSION['admin_id']=$array["admin_id"];

    header("location: admin.php");

    exit();
    }
    else{

    //***************login fallito
    $str_errore='errore in fase di login 1';

    }

    }

    else{$str_errore='errore in fase di login 2';}
    }

    ?>


    L'errore invece è il seguente:
    Warning: Cannot modify header information - headers already sent by (output started at E:\inetpub\vhosts\torneicalcetto.it\httpdocs\nlett er\include\config.inc.php:14) in E:\inetpub\vhosts\torneicalcetto.it\httpdocs\nlett er\login.php on line 23

    Chi sa aiutarmi? Grazie ciao.

  2. #2
    Utente di HTML.it
    Registrato dal
    Jul 2003
    Messaggi
    613
    Non ho analizzato molto il codice ma in genere "l'errore" spuò essere semplicemente che c'è uno spazio o un a capo di troppo prima di session_start();

    Es:
    Codice PHP:

    <?php
    session_start
    ();
    // sopra "<?php" c'è un a capo
    ?>
    Conosci te stesso(?)
    (..e allora perchè scassi a me? )

  3. #3
    No non dipende da quello.. ho ricontrollato è scritto correttamente.

  4. #4
    Utente di HTML.it
    Registrato dal
    Jul 2003
    Messaggi
    613
    Non è che apri la sessione anche nel file di configurazione?
    E' lì che ti indica che c'è l'output...
    Conosci te stesso(?)
    (..e allora perchè scassi a me? )

  5. #5
    Nel file di config ho solo questo codice:
    <?
    $host='localhost';
    $db='nletter';
    $user='root';
    $pass='prova';
    $mail_admin = 'info@info.it';


    $miaconn=mysql_connect($host,$user,$pass) or die ('connessione fallita');
    $miodb=mysql_select_db($db,$miaconn);
    ?>

  6. #6
    Utente di HTML.it
    Registrato dal
    Jul 2003
    Messaggi
    613
    Uhm... non saprei.. puoi postare i due file completi?
    Conosci te stesso(?)
    (..e allora perchè scassi a me? )

  7. #7
    Config.in.php..è completo login.php è questo:

    <?
    session_start();
    $str_errore='';
    include ('include/config.inc.php');
    if(strtoupper($_SERVER['REQUEST_METHOD'])=='POST'){
    $username=$_POST['user'];
    $pass=$_POST['pass'];
    if(eregi('^[a-z0-9]{2,100}$',$username) && eregi('^[a-z0-9]{2,100}$',$pass)){
    $sql="SELECT admin_id FROM admin WHERE admin_user='".$username."' AND admin_pass='".$pass."' ";
    //echo $sql;



    $dati=mysql_query($sql,$miaconn);
    if(mysql_num_rows($dati)>0){
    //********************** login ok
    $array=mysql_fetch_array($dati);
    $_SESSION['admin_id']=$array["admin_id"];
    //$_SESSION['admin_user']=$array["admin_user"];
    //echo $_SESSION['uteid'].'
    ';
    //echo session_id();
    //echo'<a href="admin.php">';
    header("location: admin.php");

    exit();
    }
    else{

    //***************login fallito
    $str_errore='errore in fase di login 1';

    }

    }

    else{$str_errore='errore in fase di login 2';}
    }

    ?>



    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <title>Login</title>
    </head>

    <body>
    <? echo $str_errore; ?>
    <form name="info" action="login.php" method="post">
    <fieldset>
    <legend>Login</legend>
    <label>User</label>

    <input type="text" name="user" />

    <label>Password</label>

    <input type="text" name="pass" />


    <input type="submit" />
    </fieldset>
    </form>
    </body>
    </html>

  8. #8
    Utente di HTML.it
    Registrato dal
    Jul 2003
    Messaggi
    613
    rova a togliere gli spazi tra
    Codice PHP:
    ?>
    // qui non ci devono essere spazi


    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
    Conosci te stesso(?)
    (..e allora perchè scassi a me? )

  9. #9
    Niente da fare... adesso in qualsiasi caso mi da sempre errore in fase di login 2, e se metto lo user e la pass corretti mi da il solito errore ...

  10. #10
    Utente di HTML.it
    Registrato dal
    Jul 2003
    Messaggi
    613
    Scusa ma non so più che dirti.
    Le ultime due cose che mi vengono in mente sono:

    - prova a mettere l'include di config prima di session_start()
    - prova a copiare e incollare tutti i file in file nuovi... a me dreamweaver per esempio dà di questi problemi. Ogni tanto viene fuori sta cazzata e basta che seleziono tutto lo script da un file e lo copio in un altro e torna tutto a funzionare.

    Se non funziona nessuna delle due soluzioni (empiriche) rimando la soluzione a qualcun altro.

    Pardon
    Conosci te stesso(?)
    (..e allora perchè scassi a me? )

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 © 2024 vBulletin Solutions, Inc. All rights reserved.