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

    problema con session_register()

    ciao a tutti, ho questo codice:
    codice:
    <?php
    $host = "localhost";
    $username = "root";
    $password = "";
    $db_name = "iscrizione";
    $tbl_name = "utenti";
    
    //Procedimento per connettersi al database
    mysql_connect("$host", "$username", "$password") or die ("Cannot connect");
    mysql_select_db("$db_name") or die ("Cannot select DB");
    
    //Nome utente e password inviate attraverso il form
    $myusername = $_POST['myusername'];
    $mypassword = $_POST['mypassword'];
    
    $sql = "SELECT * FROM $tbl_name WHERE username='$myusername' and password='$mypassword'";
    $result = mysql_query($sql);
    
    //Mysql_num_row is counting table row
    $count = mysql_num_rows($result);
    //If result matched $myusername and $mypassword, table row must be 1 row
    
    if($count==1){
    //Register $myusername, $mypassword and redirect to file "login_success.php"
    session_register("myusername");
    session_register("mypassword");
    header("location:login_success.php");
    }
    else {
    echo "Attenzione username o password errati";
    }
    ?>
    che mi controlla se un utente fa il login con username e password giuste al centro pagina mi stampa la scritta login successful. Il problema adesso sorge, quando in questa pagina voglio metterci un menu .swf sopra e uno sotto.
    Quando immetto username e password che stanno dentro al db, mi esce quest'errore:
    codice:
    Warning: session_register() [function.session-register]: Cannot send session cookie - headers already sent by (output started at C:\wamp\www\modulo\checklogin.php:4) in C:\wamp\www\modulo\checklogin.php on line 28
    
    Warning: session_register() [function.session-register]: Cannot send session cache limiter - headers already sent (output started at C:\wamp\www\modulo\checklogin.php:4) in C:\wamp\www\modulo\checklogin.php on line 28
    
    Warning: Cannot modify header information - headers already sent by (output started at C:\wamp\www\modulo\checklogin.php:4) in C:\wamp\www\modulo\checklogin.php on line 30
    Anche se faccio un include di questa pagina mi da lo stesso errore. Mi potete dire come mai?

  2. #2
    controlla lo script. Stai inviando un output al browser prima di header location ...

    c'entra nulla con la segnalazione ma al posto di session_register sarebbe meglio usare $_SESSION che e' sempre registrato.

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  3. #3
    pero' lo script mi funziona se non metto nessun swf o immagine, come mai?

  4. #4
    Originariamente inviato da fragolina-mx
    pero' lo script mi funziona se non metto nessun swf o immagine, come mai?
    dovresti dirmelo tu.nella porzione di codice che hai postato non mi pare ci sia nulla da inviare al browser prima dell'header. Probabilmente lo script non inizia solo con il codice che hai postato.

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  5. #5
    ciao piero, ti posto il codice della pagina main_login.php, che una volta inserito username e password e cliccato sul pulsante Login, la passa a checklogin.php (codice che ho postato prima)
    codice:
    <style type="text/css">
    <!--
    .Stile1 {font-size: 12px}
    .Stile2 {
    	color: #FF0000;
    	font-weight: bold;
    }
    -->
    </style>
    <form action="checklogin.php" method="post">
    <table width="194" border="0" align="" cellpadding="0" cellspacing="1" bgcolor="">
    <tr>
    <td width="188"><table width="81%" border="0" cellpadding="3" cellspacing="1" bgcolor="">
    <tr>
    <td colspan="3"><div align="center" class="Stile2">
      <div align="center">Login</div>
    </div></td>
    </tr>
    <tr>
    <td width="1"></td>
    <td width="15"></td>
    <td width="152"><input name="myusername" type="text" id="myusername" value="Username" size="20" maxlength="20" /></td>
    </tr>
    <tr>
    <td></td>
    <td></td>
    <td><input name="mypassword" type="password" id="mypassword" value="Password" size="20" maxlength="10" /></td>
    </tr>
    <tr>
    <td></td>
    <td></td>
    <td><input name="Submit" value="Login" type="submit" /></td>
    </tr>
    <tr>
      <td></td>
      <td></td>
      <td><span class="Stile1">Registrati Qui</span> </td>
    </tr>
    </table>
    </td>
    </tr>
    </table>

  6. #6
    Non devi postare la pagina del form....

    Il tuo problema e' nella pagina che hai postato prima checklogin.php

    sicuramente invii al browser uno o piu' caratteri, o uno spazio, o una riga vuota che viene interpretata come inizio del <body> e quindi non accetta piu' un header successivo.

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

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.