Scusate ragazzi, ho messo insieme un paio di scipt per il
login che usano le sessioni.
In locale funzionano senza problemi, ma una volta caricati sul server
di altervista non riesco a capire cosa non va.
Ecco gli script:
index.php (per il login):
Codice:<?php session_start(); if($_SESSION["uname"] || $_SESSION["ulevel"]) { header("Location: $url"); exit; } require("config.php"); if(!IsSet($try_login)) { ?> <html> <head> <title> Login</title> <?php echo "$css"; ?> </head> <body> <table height="100%" width="100%" border="0"> <tr> <td align="center"> <form action="index.php" method="post"> <input type="HIDDEN" name="try_login" value="1"> <table align="center" summary="login" cellpadding="5" cellspacing="5"> <tr> <td colspan="2" class="header2" align="center">Accedi alla tua pagina</td> </tr> <tr> <td>Username:</td><td><input type="text" name="username" class="inputb" size="10"></td> </tr> <tr> <td>Password:</td><td><input type="password" name="pass1" class="inputb" size="10"></td> </tr> <tr> <td align="center" colspan="2"> <input type="submit" value="Login Now!" class="i" title="Login"> </td> </tr> </table> </form><br> </td> </tr> </table> </body> </html> <?php exit; } if(empty($username) || empty($pass1)){ error("Please fill in all fields!"); } $dbcnx = dbopen(); $sql="SELECT * FROM utenti WHERE username = '$username' AND pass1 = '$pass1'"; $result=MySQL_query($sql); if (mysql_num_rows($result) != 1) { error("Invalid Username/Password"); } else { $d=mysql_fetch_array($result); $level=$d["access"]; $url=$d["url"]; $uname = $username; $ulevel = $level; $_SESSION["uname"]=$uname; $_SESSION["ulevel"]=$ulevel; echo("<html><head><title>$username Logged In</title><link rel=\"stylesheet\" type=\"text/css\" href=\"news.css\"><meta http-equiv=\"Refresh\" content=\"1; url=$url\"></head><body><table border=\"0\" cellpadding=\"5\" width=\"100%\" height=\"100%\" align=\"center\"><tr><td align=\"center\" class=\"header2\"><font color=\"#7373c6\">\"$username\"</font> Logged In!</td></tr></table></body></html>"); mysql_close($dbcnx); exit; } ?>
e la pagina protetta gianluca31.php:
Codice:<?php session_start(); require("config.php"); if(!$_SESSION['uname']) { error("You are not authorized to view this page!"); exit; } echo "ciao"; logout(); // Logout function logout() { global $css; session_destroy(); echo "<html><head><title>$text</title>$css</head><body><table border=\"0\" cellpadding=\"0\" width=\"100%\" height=\"100%\" align=\"center\"><tr><td align=\"center\" class=\"header2\">Login Session Destroyed<br><br><a href=\"index.php\" title=\"Login Again?\" target=\"_top\">Login Again?</a></td></tr></table></body></html>"; } ?>
Ci sono il file css e config che non dovrebbero causare problemi
Una volta inseriti username e pass nel form ho questo messaggio
di errore estratto dalla pagina protetta gianluca31:
You are not authorized to view this page!
La sessione non va?
Come mai?
Un problema di indirizzo pagina utente..ma ho provato a modicarlo
in tutti i modi (url intero, relativo ecc: addesso nel campo url del db sono riportati cosi:
gianluca31.php, pippo.php ecc)
Grazie anticipatamente per ogni eventuale aiuto.
Ciao