Salve a tutti.
Passo subito al sodo.
Io ho un'iscrizine creata interamente in php con 4 campi:
-username
-e-mail
-nome
-password
In questa iscrizione vorrei fare in modo che quando gli utenti loggano (inserendo username e password) fosse stampato nella parte alta della pagina
"Bentornato $suo_nome in miosito.com
Logout | Cancellati"
Ecco insomma qualcosa del genere.
Se vi servono vi posto qui di seguito il codice delle pagine 'iscrizione.php' e 'login.php'
iscrizione.php
Codice PHP:
<?php
if(isset($_POST['submit']) && (trim($_POST['submit']) == "Iscriviti"))
{
if((!isset($_POST['email'])) || (!eregi("^([a-z0-9._-]+)(@[a-z0-9.-]+)(.{1}[a-z]{2,4})$", $_POST['email'])))
{
echo "Attenzione, formato email non valido.";
}else{
$email = $_POST['email'];
$user = $_POST['user'];
$nome = $_POST['nome'];
$password = $_POST['password'];
@include "config.php";
$ctrl_mail = @mysql_query("SELECT id FROM iscrizioni WHERE email='$email'") or die (mysql_error());
if(@mysql_num_rows($ctrl_mail)>0)
{
echo "L'email risulta già stata registrata.";
}
$ctrl_user = @mysql_query("SELECT id FROM iscrizioni WHERE user='$user'") or die (mysql_error());
if(@mysql_num_rows($ctrl_user)>0)
{
echo "L'username è già stato utilizzato.";
}else{
if(@mysql_query("INSERT INTO iscrizioni (email, user, nome, password) VALUES('$email','$user','$nome','$password')") or die (mysql_error()))
{
echo "Conferma l'iscrizione tramite la mail che ti abbiamo inviato.";
$headers = "From: $admin_email\nreply-To: noreply\r\n";
$subject = "Conferma la tua iscrizione a robyonweb.com.";
$messaggio = "Benvenuto $nome,";
$messaggio .= "Ti ringraziamo per la tua iscrizione.\n";
$messaggio .= "La tua user è: ".$user."\n";
$messaggio .= "La tua password è: ".$password."\n";
$messaggio .= "Per confemare vai alla pagina [url]http://www.robyonweb.com/login.php[/url]";
$messaggio .= "e inserisci i dati per l'autenticazione.\n";
$messaggio .= "Adesso portai accedere a molte più funzionalità di robyonweb.com!\n";
$messaggio .= "Lo STAFF di robyonweb.com!\n";
@mail($email, stripslashes($subject),stripslashes($messaggio),$headers);
}
}
}
}
else {
?>
<h1>Modulo d'iscrizione:</h1>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
Email:
<input name="email" type="text" size="20">
Username:
<input name="user" type="text" size="20">
Nome:
<input name="nome" type="text" size="20">
Password:
<input name="password" type="password" size="20" maxlength="10">
<input name="submit" type="submit" value="Iscriviti">
</form>
<?
}
?>
login.php
Codice PHP:
<?php
session_start();
if( isset($_POST['submit']) && (trim($_POST['submit']) == "Conferma") )
{
$user = $_POST['user'];
$password = $_POST['password'];
@include "config.php";
$ctrl_login = @mysql_query("SELECT id FROM iscrizioni WHERE user='$user' AND password='$password'") or die (mysql_error());
if(@mysql_num_rows($ctrl_login)==0)
{
echo "Login incorretto.";
}else{
$obj = @mysql_fetch_object($ctrl_login) or die (mysql_error());
$query_attivo = @mysql_query("UPDATE iscrizioni SET attivo='1' WHERE id='".$obj->id."'") or die (mysql_error());
$_SESSION['id'] = $obj->id;
// redirect alla pagina degli iscritti
echo "Login effettuato.";
}
}else{
?>
<h1>Modulo di conferma:</h1>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
Username:
<input name="user" type="text" size="20">
Password:
<input name="password" type="password" size="20" maxlength="10">
<input name="submit" type="submit" value="Conferma">
</form>
<?php
}
?>
Poi ho un altro problema con la pagina di logout.
Mi da sempre quest'errore:
Warning: session_destroy() [function.session-destroy]: Trying to destroy uninitialized session in D:\Inetpub\webs\robyonwebcom\logout.php on line 6
Il codice della pagina di logout è questo:
logout.php
Codice PHP:
<?php
require('config.php');
session_destroy();
?>
Come potete aiutarmi?
Grazie in anticipo a chiunque di interesserà.
Attendo risposte
Steave67