Premetto che ho usato il tasto cerca ma non ho trovato ciò che mi serviva. Sto tentando di creare una pagina di registrazione con tanto di e-mail di convalida sulla base di un codice PHP che ha postato un utente su questo forum. Il codice originale è questo:
Questo è il file conn.php associato al codice di sopra
E infine il file functions.php, associato sempre al primo codice:
Io in seguito ai seguenti errori:
Ho apportato le seguenti modifiche:
- Nella riga 13 (primo errore) ho messo tra apici account e quindi la riga 13 ora è:
- Nella riga 15 invece (secondo e terzo errore) ho inserito la funzione isset(Su quale base? Boh, l'aveva messa sull'if di sotto e quindi pensavo ci volesse anche qui
) e racchiuso tra apici activate(non so perchè l'ho fatto, ma almeno così non dà più errore
Penso di aver fatto una cazzata
) ottenendo quindi:
Ora però ho un problema. Quando inserisco i dati (Username,password,e-mail ecc.) e clicco su "registrati" mi esce un altro errore:
Per i pigri la riga 131 è questa:
E inoltre mi viene visualizzato il messaggio "Account inesistente" e non mi arriva nessuna e-mail.
Qualcuno mi sa aiutare? Mi andrebbe bene anche un altro script con controllo e-mail se proprio non si riuscisse a risolvere.
PHP:
<div class="lbox_t"></div>
<div class="lbox_m"><span class="headline">Registrazione</span><br><br>
<center><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"></center>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<center> <link rel="stylesheet" type="text/css" href="style.css" /></center>
<?php
//scripted by piraka2 NON MODIFICARE I CREDITI
include 'conn.php';
include 'functions.php';
mysql_select_db(account) or die ("Il Database Non Risponde");
if ($_GET['tipo']!=activate)
{
if (isset($_POST['reg']))
{
$create_time=date('Y-m-d H:i:s');
$cash='500';
$gold_expire = "2010-11-05 14.45.41";
$silver_expire = "2010-11-05 14.45.41";
$safebox_expire = "2012-11-05 14.45.41";
$autoloot_expire = "2012-11-05 14.45.41";
$fish_mind_expire = "2012-11-05 14.45.41";
$marriage_fast_expire = "2012-11-05 14.45.41";
$money_drop_rate_expire = "2010-11-05 14.45.41";
$login = $_POST['login_reg'];
$pass1 = $_POST['pass'];
$r_pass = $_POST['pass_2'];
$mail = $_POST['mail'];
$social_id = $_POST['delete'];
if ($login!="")
{
if ($pass!="")
{
if ($pass1!="" and $pass1==$r_pass)
{
if (checkEmail($mail))
{
if (is_numeric($social_id))
{
if
(mysql_query("INSERT INTO account (`id` ,`Login` ,`password` ,`real_name` ,`social_id` ,`email` ,`phone1` ,`phone2` ,`address` ,`zipcode` ,`create_time` ,`question1` ,`answer1` ,`question2` ,`answer2` ,`is_testor` ,`status` ,`securitycode` ,`newsletter` ,`empire` ,`name_checked` ,`availDt` ,`mileage` ,`cash` ,`gold_expire` ,`silver_expire` ,`safebox_expire` ,`autoloot_expire` ,`fish_mind_expire` ,`marriage_fast_expire` ,`money_drop_rate_expire` ,`ttl_cash` ,`ttl_mileage` ,`channel_company`)
VALUES (NULL , '$login', PASSWORD('$pass1'), '', '$social_id', '$mail', NULL , NULL , NULL , '', '$create_time', NULL , NULL , NULL , NULL , '0', 'DEACTIVE', '', '0', '0', '0', '0000-00-00 00:00:00', '0','$cash' ,'$gold_expire' ,'$silver_expire' ,'$safebox_expire' ,'$autoloot_expire' ,'$fish_mind_expire' ,'$marriage_fast_expire' ,'$money_drop_rate_expire' , '0', '0', '')"))
{
$mail_messaggio =
"
Ciao ".$login.", \r\n
Siamo felici che tu ti sia iscritto a RevolutionLokmt2, gioco d'azione orientale MMOG. \r\n
Per poter entrare in gioco devi usare i seguenti dati: \r\n
Nome utente: ".$login." \r\n
Password: ".$pass1." \r\n
Prima di iniziare a giocare devi confermare la tua iscrizione. \r\n
Sei pregatodi cliccare il seguente link: \r\n
http://93.190.139.103/reg.php?tipo=activate&active=".$login."
";
$messaggio = "
<font color=\"red\">Benvenuto $login ATTIVA IL TUO ACCOUNT CLICCANDO NEL LINK NELL' EMAIL CHE TI ABBIAMO INVIATO</font><br><br>
Riepilogo Dati Account:<br><br>
<table style=\"border: 1px solid #ff0000;\">
<tr><td width=\"50%\" >Nome Account</td><td width=\"50%\" >$login</td></tr>
<tr><td width=\"50%\" >Passoword</td><td width=\"50%\" >$pass1</td></tr>
<tr><td width=\"50%\" >Email VERA DEVE ESSERE ATTIVATA</td><td width=\"50%\" >$mail</td></tr>
<tr><td width=\"50%\" >Social ID</td><td width=\"50%\" >$social_id</td></tr>
</table>";
echo $messaggio;
$subject = 'Registrazione Metin2';
$headers = 'From: [email protected]' . "\r\n" .
'Reply-To: [email protected]' . "\r\n" .
'X-Mailer: PHP/' . phpversion();
mail($mail, $subject, $mail_messaggio, $headers);
}
else
{
echo "ID Gia Esistente";
}
}
else{echo "ID Personale non valido";}
}
else
{echo "Inserisci una mail Valida";}
}
else
{echo "Errore Password";}
}
else
{
echo "Inserisci una Passowrd Valida";
}
}
else{echo "Devi inserire un Username Valido";}
}
else
{
echo "
<form action=\"reg.php?tipo=reg\" method=\"post\">
<label>Nome Account:</label><br>
<input type=\"text\" name=\"login_reg\"> Massimo 9 Caratteri<br><br>
<label>Password:</label><br>
<input type=\"password\" name=\"pass\"> Massimo 9 Caratteri<br><br>
<label>Ripeti Password:</label><br>
<input type=\"password\" name=\"pass_2\"> Massimo 9 Caratteri<br><br>
<label>E-Mail (Valida):</label><br>
<input type=\"text\" name=\"mail\"> Inserisci Email Valida devi convalidarla<br><br>
<label>Codice ID Account:</label><br>
<input type=\"text\" name=\"delete\"> Massimo 7 numeri<br><br>
<input class=\"button\" type=\"submit\" value=\"Registrati\" name=\"reg\">
<input class=\"button\" type=\"reset\" name=\"Reset\">
</form>
";
}
}
else
{
$nome_da_attivare = $_GET['active'];
$query90 = mysql_query("select * from account where login='".$nome_da_attivare."'");
if (mysql_num_rows($query90)>0)
{
$fetch80 = mysql_fetch_object($query90);
if ($fetch80->status=="DEACTIVE")
{
$sql_active = mysql_query("UPDATE `account` SET `status` = 'OK' WHERE `login` = '".$nome_da_attivare."' LIMIT 1");
if ($sql_active)
{
echo "Il Tuo Account è stato attivato";
}
else
{
echo "Errore Query!";
}
}
else
{
echo "Il Tuo Account è stato gia attivato";
}
}
else
{
echo "Account inesistente";
}
}
//scripted by piraka2 all right reserved Copy 2011
?>
</div> <div class="lbox_b"></div>
Questo è il file conn.php associato al codice di sopra
PHP:
<?php
$host = "QUI HO INSERITO IL MIO IP DI HAMACHI TERMINANTE IN .100"; $user = "root"; $pass = "QUI HO INSERITO LA PASSWORD DEL DB"; $destinazione="../error.php";mysql_connect($host, $user, $pass) or die( '<script language=javascript>document.location.href="'.$destinazione.'"</script>'); // Connect
?>
E infine il file functions.php, associato sempre al primo codice:
PHP:
<?php
function checkEmail($str)
{
return preg_match("/^[\.A-z0-9_\-\+]+[@][A-z0-9_\-]+([.][A-z0-9_\-]+)+[A-z]{1,4}$/", $str);
}
?>
Io in seguito ai seguenti errori:
Codice:
[B]Notice:[/B] Use of undefined constant account - assumed 'account' in [B]C:\xampp\htdocs\reg.php[/B] on line [B]13
[/B]
[B]Notice: Undefined index: tipo in [B]C:\xampp\htdocs\reg.php on line [B]15
[/B][/B][/B]
[B]Notice: Use of undefined constant activate - assumed 'activate' in [B]C:\xampp\htdocs\reg.php on line [B]15[/B][/B][/B]
Ho apportato le seguenti modifiche:
- Nella riga 13 (primo errore) ho messo tra apici account e quindi la riga 13 ora è:
PHP:
mysql_select_db('account') or die ("Il Database Non Risponde");
) e racchiuso tra apici activate(non so perchè l'ho fatto, ma almeno così non dà più errore
Penso di aver fatto una cazzata
) ottenendo quindi:
PHP:
if (isset($_GET['tipo'])!='activate')
Ora però ho un problema. Quando inserisco i dati (Username,password,e-mail ecc.) e clicco su "registrati" mi esce un altro errore:
PHP:
Notice: Undefined index: active in C:\xampp\htdocs\reg.php on line 131
Per i pigri la riga 131 è questa:
PHP:
$nome_da_attivare = $_GET['active'];
E inoltre mi viene visualizzato il messaggio "Account inesistente" e non mi arriva nessuna e-mail.
Qualcuno mi sa aiutare? Mi andrebbe bene anche un altro script con controllo e-mail se proprio non si riuscisse a risolvere.
