- Home
- Categorie
- Coding e Sistemistica
- Coding
- Login in php
- 
							
							
							
							
							mentre non posti nulla fai anche una ricerca sul forum troverai molte discussioni e script su questo argomento  
 
- 
							
							
							
							
							
AIUTOO!!!! Sono una frana lo so, ma non riesco nemmeno a fare un login:x    Mi aiutate a trovare l'errore? Dunque... 
 C'è una pagina di registrazione con una semplice form chiamata registrazione.php; i dati della form vengono passati al DB tramite la pagina esito.php:<html> 
 <head>
 ...bla bla...
 <div id="content"><div id="esito"><?php 
 include_once("include/config.php");$sql = "SELECT * FROM utenti WHERE username = '" . $_GET["username"] . "' AND password = '" . $_GET["password"] . "'"; $result = mysql_query($sql) or die("Query fallita: " .mysql_error()); 
 if (mysql_num_rows($result) > 0) {
 echo"<b>ATTENZIONE: UTENTE GIA' REGISTRATO!!!</b>";
 } else {
 $sql = "INSERT INTO utenti (username, perms, password, name, surname, citta, eta) VALUES ('" .
 $_GET["username"] . "', 'client', '" . $_GET["password"]. "', '" . $_GET["name"] . "', '" . $_GET["surname"] . "', '" .$_GET["citta"] ."', '" .$_GET["eta"] ."')";
 $result = mysql_query($sql) or die("Query fallita: " .
 mysql_error());
 echo"<b>UTENTE REGISTRATO CORRETTAMENTE!!!</b>";
 }
 mysql_close();
 ?>
 </div></html>il file config.php contiene: <?php 
 $host = "127.0.0.1";
 $username = "root";
 $password = "";
 $dbname = "museo2";
 $conn = mysql_connect("$host", "$username", "$password")or die('Impossibile stabilire una connessione');
 mysql_select_db("$dbname")or die("Impossibile connettersi al database");
 ?>Ora, la registrazione funziona, scrive sul Db e tutto. 
 Veniamo al login. C'è una maschera di login che contiene la form; i dati vengono processati dal file login.php:<html> 
 <head>
 ...bla bla...
 <div id="content">
 <?php
 include("include/config.php");
 $uname=$_POST['uname'];
 $passw=$_POST['passw'];$sql="SELECT * FROM utenti WHERE username='$uname' and password='$passw'";
 $result=mysql_query($sql);
 $count=mysql_num_rows($result);
 if($count==1) {
 **session_register("username");
 **session_register("password");
 header("location:login_success.php");
 }
 else {
 echo "ATTENZIONE username o password errati";
 }
 ?>
 </div>
 </body>
 </html>Ovviamente mi da errore (le righe in grassetto  Warning: session_register(): Cannot send session cache limiter - headers already sent........... Warning: Cannot modify header information - headers already sent by...... Credo sia perchè l'header non richiede altre cose scritte prima, ma come lo metto allora? 
 E poi secondo voi va bene il procedimento che ho usato per la gestione utenti o non ci ho preso per niente?Grazie! 
 
- 
							
							
							
							
							
al posto di session_register(); usa session_start(); e poi crei le sessioni con $_SESSION['nome'] 
 
- 
							
							
							
							
							
Ok ho corretto così: 
 login.php:<?php 
 session_start();
 ?>
 <html>
 <head>
 ...bla bla...
 <div id="content"><?php 
 include("include/config.php");
 $uname=$_POST['uname'];
 $passw=$_POST['passw'];
 $sql="SELECT * FROM utenti WHERE username='$uname' and password='$passw'";
 $result=mysql_query($sql);
 $count=mysql_num_rows($result);
 if($count==1) {
 header("location:login_success.php");
 }
 else {
 echo "ATTENZIONE username o password errati";
 }
 ?></div> 
 </body>
 </html>Però ora praticamente mi dice che nelle righe in grassetto gli indici uname e passw sono indefiniti... dunque ma che cavolo di indici ci devo mettere lì? Da dove li prendo? 
 
- 
							
							
							
							
							
ma l'html come è fatto?? 
 
- 
							
							
							
							
							
@Skyline said: ma l'html come è fatto?? LOGIN.PHP <?php 
 session_start();
 ?>
 <html>
 <head>
 <title>Login</title>
 <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
 <link rel="stylesheet" type="text/css" href="stile.css"></head>
 <body>
 <div id="container">
 <div id="header">
 <img class="logo" src="images/LogoFotografando.jpg" alt="Logo Fotografando... immagini d'autore" />
 <h1>Museo della fotografia italiana</h1>
 Lucca, Complesso monumentale di San Micheletto
 </div><div id="navigation"> <a id="activelink" href="#">Home</a> | <a href="info.php">Informazioni</a> | <a href=" ">Eventi</a> | <a href=" ">Collezione</a> | <a href="mascheraLogin.php">Login</a> | <a href="registrazione.php">Registrati</a> </div> <div id="content"><?php 
 include("include/config.php");
 $uname=$_POST['uname'];
 $passw=$_POST['passw'];
 $sql="SELECT * FROM utenti WHERE username='$uname' and password='$passw'";
 $result=mysql_query($sql);
 $count=mysql_num_rows($result);
 if($count==1) {
 header("location:login_success.php");
 }
 else {
 echo "ATTENZIONE username o password errati";
 }
 ?>
 </div>
 </div>
 </body>
 </html>Questa invece è la form per il login che è in un altro file: <h2>Effettua il login al sistema</h2><br /><br /> <p>Immetti nei campi specifici i tuoi dati:</p><form action="http://localhost:81/museo2/login.php" method="post"> 
 <table class="formLogin">
 <tr>
 <td>Username:</td>
 <td><input type="text" name="uname" id="uname"></td></tr> <tr> <td>Password:</td> <td><input type="password" name="passw" id="passw"></td> </tr><tr> 
 <td></td>
 <td>
 <input type="hidden" name="op" value="login" />
 <input type="submit" name="action" value="Entra" /></td></tr></table>
 </form>
 
- 
							
							
							
							
							
Ok, ho cambiato tutto il codice  ho trovato un esempio già fatto su internet e l'ho adattato al mio :D:D:D ma ovviamente mi da degli errori ho trovato un esempio già fatto su internet e l'ho adattato al mio :D:D:D ma ovviamente mi da degli errori Ecco la pagina per il login: <html> <head> <title>Maschera Login</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <link rel="stylesheet" type="text/css" href="stile.css"></head> <body> <div id="container"> <div id="header"> <img class="logo" src="images/LogoFotografando.jpg" alt="Logo Fotografando... immagini d'autore" /> <h1>Museo della fotografia italiana</h1> Lucca, Complesso monumentale di San Micheletto </div> <div id="navigation"> <a href="index.php">Home</a> | <a href="info.php">Informazioni</a> | <a href=" ">Eventi</a> | <a href=" ">Collezione</a> | <a id="activelink" href="#">Login</a> | <a href="registrazione.php">Registrati</a> </div> <div id="content"> <div id="right"> <img src="images/foto1.jpg" width="200" height="190" alt="Chiostro" border="0" /><br /> <font size="1" face="arial">Chiostro: angolo di nord-ovest.</font><br /><br /> <img src="images/foto2.jpg" width="200" height="193" alt="Veduta aerea" border="0" /><br /> <font size="1" face="arial">Veduta aerea del Complesso <br />Monumentale di San Micheletto</font> </div> <h2>Effettua il login al sistema</h2><br /><br /> <p>Immetti nei campi specifici i tuoi dati:</p> **<?php** // Connects to your Database mysql_connect("127.0.0.1", "root", "") or die(mysql_error()); mysql_select_db("museo2") 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 utenti WHERE username = '$username'")or die(mysql_error()); while($info = mysql_fetch_array( $check )) { if ($pass != $info['password']) { } else { header("Location: members.php"); } } } //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('You did not fill in a required field.'); } // checks it against the database $check = mysql_query("SELECT * FROM utenti WHERE username = '".$_POST['username']."'")or die(mysql_error()); //Gives error if user dosen't exist $check2 = mysql_num_rows($check); if ($check2 == 0) { die('That user does not exist in our database. <a href=registrazione.php>Click Here to Register</a>'); } 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('Incorrect password, please try again.'); } 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); ** //then redirect them to the members area **header("Location: members.php");** } } } else { // if they are not logged in **?>** <form action="**<?php** echo $_SERVER['PHP_SELF']**?>**" method="post"> <table border="0"> <tr><td colspan=2><h1>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> </table> </form> **<?php** } **?>** </div> <div id="footer">© 2007 - Sito Web realizzato da xxx</div> </div> </body> </html>Gli errori sono qusti (ho evidenziato le righe in grassetto): Warning: Cannot modify header information - headers already sent by (output started at c:\programmi\easyphp1-8\www\museo2\mascheralogin.php:13) in c:\programmi\easyphp1-8\www\museo2\mascheralogin.php on line 95 Warning: Cannot modify header information - headers already sent by (output started at c:\programmi\easyphp1-8\www\museo2\mascheralogin.php:13) in c:\programmi\easyphp1-8\www\museo2\mascheralogin.php on line 96 Warning: Cannot modify header information - headers already sent by (output started at c:\programmi\easyphp1-8\www\museo2\mascheralogin.php:13) in c:\programmi\easyphp1-8\www\museo2\mascheralogin.php on line 99 
 Sempre cookie e header che danno problemi :rambo1: 
 
- 
							
							
							
							
							
ciao, riprova ad utilizzare session_register e poi vai in configurazione->php e metti a on tutti i register_globals che sono a off 
 
- 
							
							
							
							
							
gianaru ma cosa centra? lo script funziona... dice solo che non riesce a cambiare gli headers puoi utilizzare il javascript 
 <script type="text/javascript">
 <!--
 window.location = "http://www.google.com/"
 //-->poi c'è il problema dei cookies ma non so aiutarti io uso le sessioni. 
 </script>
 
- 
							
							
							
							
							
prova a guardare qua http://www.giorgiotave.it/forum/php-mysql/51425-pillola-esempio-login.html