- Home
- Categorie
- Coding e Sistemistica
- PHP
- Login in php
-
Login in php
Ciao sono nuovo e volevo chiedervi una cosa ...sono riuscito nel mio sito in altrevista a effettuare la registrazione e salvarla nel database di mysql però non riesco a fare il login qualcuno potrebbe gentilmente riportarne uno o aiutarmi via msn [EMAIL="[email protected]"][email protected][/EMAIL]??? grazie mille ciao
-
@NanoGiallo said:
Ciao sono nuovo e volevo chiedervi una cosa ...sono riuscito nel mio sito in altrevista a effettuare la registrazione e salvarla nel database di mysql però non riesco a fare il login qualcuno potrebbe gentilmente riportarne uno o aiutarmi via msn [EMAIL="[email protected]"][email protected][/EMAIL]??? grazie mille ciao
Ciao NanoGiallo, intanto benvenuto sul Forum GT, come potrai notare non è concesso richiedere aiuto in pvt come dal regolamento del forum al seguente punto:
** 10.0. Incitazione all'invio di PVT e/o email**
Salvo nelle Aree Annunci o dove specificatamente consentita, è vietata la richiesta di contatto privato in e-mail o pvt.
Le risposte ed i suggerimenti ai messaggi devono essere pubbliche, in modo da essere d'aiuto a tutta la comunità del forum.Oltre a questo hai aperto un 3D nella sezione sbagliata, ti sposto nella sezione PHP-MySql che è la più idonea a dare una risposta alla tua richiesta.
-
Ciao nanogiallo e benvenuto nel forum anche da parte mia,
come ti ha detto jack1971 è contro il regolamento chiedere suggerimenti in privato, altrimenti che forum sarebbe ?
forum è condivisione.
Premesso questo, prova a postare quello che hai fatto, così sarà più facile per chi vuole darti qualche suggerimento..
PS: Grazie Jack1971
-
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
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