Salve a tutti!!
mi ritrovo a scrivere in questo forum perchè mi sono trovato dinanzi a questo problema:
ho trovato in internet uno script per l'accesso a area privata (login), questo funziona ma ha il problema che non utilizza le sessioni ma i cookie..
io non sono molto pratico di php e vorrei sapere se c'era un modo per passare da cookie a sessions visto che i tempi di eliminazione dei cookie sono bassi e comunque non vorrei che chi si logga dopo un pò viene fatto uscire...
vi posto il codice:
Sono sicuro che ci siano tanti altri errori dello script, ma a me basta sapere come fare per "tramutare" i cookie a session...codice:<?php // Connects to your Database mysql_connect("localhost", "", "") or die(mysql_error()); mysql_select_db("") or die(mysql_error()); //Checks if there is a login cookie if(isset($_COOKIE['ID_my_site'])) //if there is, it logs you in and directes you to the members page { $username = $_COOKIE['ID_my_site']; $pass = $_COOKIE['Key_my_site']; $check = mysql_query("SELECT * FROM tbl_cliente WHERE user = '$username'")or die(mysql_error()); while($info = mysql_fetch_array( $check )) { if ($pass != $info['password']) { }else{ $check = mysql_query("SELECT * from tbl_cliente where id_cliente=".$id_cliente." ")or die(mysql_error()); mysql_fetch_array($check); header ("Location: ordine_lavaggio.php?id_cliente=$id_cliente"); } } } //if the login form is submitted if (isset($_POST['submit'])) { // if form has been submitted // makes sure they filled it in if(!$_POST['username'] | !$_POST['pass']) { die('Non hai riempito tutti i campi.'); } // checks it against the database if (!get_magic_quotes_gpc()) { $_POST['email'] = addslashes($_POST['email']); } $check = mysql_query("SELECT * FROM tbl_cliente WHERE user = '".$_POST['username']."'")or die(mysql_error()); //Gives error if user dosen't exist $check2 = mysql_num_rows($check); if ($check2 == 0) { die('Utente non registrato. '); } while($info = mysql_fetch_array( $check )) { $_POST['pass'] = stripslashes($_POST['pass']); $info['password'] = stripslashes($info['password']); $_POST['pass'] = md5($_POST['pass']); //gives error if the password is wrong if ($_POST['pass'] != $info['password']) { die('Password non corretta, riprovare..'); } else { // if login is ok then we add a cookie $_POST['username'] = stripslashes($_POST['username']); $hour = time() + 3600; setcookie(ID_my_site, $_POST['username'], $hour); setcookie(Key_my_site, $_POST['pass'], $hour); } } } else { // if they are not logged in ?> <form action="<?php echo $_SERVER['PHP_SELF']?>" method="post"> <table border="0"> <tr><td colspan=2><h1 align="center">Login</h1></td></tr> <tr><td>Username:</td><td> <input type="text" name="username" maxlength="40"> </td></tr> <tr><td>Password:</td><td> <input type="password" name="pass" maxlength="50"> </td></tr> <tr> <td colspan="2" align="right"><input type="submit" name="submit" value="Login" /></td> </tr> <tr><td colspan="2" align="right">Registati! || Password dimenticata? </td></tr> </table> </form> <?php } ?>
Grazie a tutti in inticipo per il vostro aiuto!


Rispondi quotando

