Tessék itt a PHP
<?php
$kapcsolat = mysql_connect("PW","USER","PW"); // AZ ADATOKAT SZERKESZD BE
mysql_select_db("account", $kapcsolat);
$confirm = $_GET['confirm'];
if($rec=mysql_fetch_array(mysql_query("SELECT * FROM account.account WHERE safecod='$confirm'"))){
if(($rec['safecod']==$confirm)){
$parancs = "SELECT * FROM account.account WHERE safecod='$confirm'";
$eredmeny = mysql_query($parancs);
while ($row=mysql_fetch_array($eredmeny))
{
$aktivalva=$row['aktivalva'];
}
if ($aktivalva == "nem"){
$parancs = "UPDATE account.account SET aktivalva='igen', status='OK', torles='2999-01-01 00:00:00' WHERE safecod='$confirm'";
mysql_query($parancs);
}
if ($aktivalva == "igen"){
echo "<p align='center'>Már aktiválva vagy.</p>";
echo'<meta http-equiv="refresh" content="1;url=http://weblapod.com">';
}else{
if(isset($confirm)){
echo "Az aktiválás sikeresen megtörtént, mostmár bejelentkezhetsz\n";
echo'<meta http-equiv="refresh" content="1;url=http://weblapod.com">';
}
}
}
}
else {
echo "<font face='Verdana' size='2' color=red>
<p align='center'>Hiba! Rossz vagy lejárt aktivációs kódot adtál meg, próbáld újra</p>";
}
?>
Account adatbázisban +2 új oszlopot kell meg adnod
az egyik aktivalva másik meg a safecod
aktivalva typeja az enum legyen ott 2 értéket adj, nem és igen
alapértelmezett nem legyen.
Regisztráció rész
<?PHP
$nyitva = 'IGEN'; // ITT LEHET KI-BE KAPCSOLNI : IGEN vagy NEM
if ($nyitva == 'IGEN')
{
$do = mysql_real_escape_string($_POST['do']);
function valosf($account){
if ($account == "")
return false;
$engedelyezett = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
for ($i = 0; $i < strlen($account); ++$i)
if (strpos($engedelyezett, $account[$i]) === false)
return false;
return true;
}
//VALOS EMAIL
function email($email1) {
$eredmeny = TRUE;
if(!eregi("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,4})$", $email1)) {
$eredmeny = FALSE;
}
return $eredmeny;
}
if(isset($do) and $do == "do"){
$uzenet="";
$statusz = "OK";
$account = mysql_real_escape_string($_POST['account']);
$uname = mysql_real_escape_string($_POST['uname']);
$pass = mysql_real_escape_string($_POST['pass']);
$pass2 = mysql_real_escape_string($_POST['pass2']);
$email1 = mysql_real_escape_string($_POST['email']);
$email2 = mysql_real_escape_string($_POST['email2']);
$hashSF = md5($_POST['sicherheitsa']);
$sfNum = mysql_real_escape_string($_POST['sicherheitsf']);
$lcode = mysql_real_escape_string($_POST['loeschcode']);
$regCoins = 2000; // Startcoins
$laufZeit = 365; //Tage autoloot,safebox
$calcLZ = (60*60*24)*365;
$expireStamp = time()+$calcLZ;
$expireDate = date("Y-m-d H:i:s",$expireStamp);
$zuFall = rand(99999,999999999);
$aktivHash = '';
$accountStatus = 'BLOCK';
putenv("TZ=Europe/Budapest");
$torles = date('Y-m-d H:i:s', time()+3600 * 48); //AKTIVÁLÁSI HATÁRIDŐ 48 = 48 ÓRA
$aktivalva = 'igen';
function generateRandomString($hosszusag = 8, $betu = '12345678901235678909876543210987654321456789012345345678901235678909876541234567890123567890987654321098765432145678901234534567321098765432145678901678909876543210987654321')
{
$s = '';
$betuhosszusag = strlen($betu)-1;
for($i = 0 ; $i < $hosszusag ; $i++){
$s .= $betu[rand(0, $betuhosszusag)];}
return $s;
}
$safecod = generateRandomString();
//account ELLENORZESEK
if (empty($account)) {
$uzenet=$uzenet."Nem adtál meg felhasználó nevet.
";
$statusz= "HIBA";
}
else{
if (!valosf($account)){
$uzenet=$uzenet."A felhasználónév csak ezekből a karakterekből állhat: A-Z, a-z, 0-9
";
$statusz= "HIBA";
}
if (strlen($account) < 4){
$uzenet=$uzenet."A felhasználónév túl rövid min. 4 karakter.
";
$statusz= "HIBA";
}
if (strlen($account) > 16){
$uzenet=$uzenet."A felhasználónév túl hosszú max. 16 karakter.
";
$statusz= "HIBA";
}
}
if(mysql_num_rows(mysql_query("SELECT login FROM account.account WHERE login = '$account'"))){
$uzenet=$uzenet."$account már létezik. Kérjük, próbálj meg egy másikat
";
$statusz= "HIBA";
}
//JELSZO ELLENORZES
if (empty($pass)) {
$uzenet=$uzenet."Nem adtál meg jelszót.
";
$statusz= "HIBA";
}else{
if($pass != $pass2){
$uzenet=$uzenet."A két jelszó nem egyforma
";
$statusz= "HIBA";
}
if (strlen($pass) < 8){
$uzenet=$uzenet."A jelszó túl rövid min. 8 karakter.
";
$statusz= "HIBA";
}
if (strlen($pass) > 16){
$uzenet=$uzenet."Bocsi, A jelszó túl hosszú max. 16 karakter.
";
$statusz= "HIBA";}
}
//EMAIL ELLENORZES
if (empty($email1)) {
$uzenet=$uzenet."Nem adtál meg emailt.
";
$statusz= "HIBA";
}
else{
if (!email($email1)){
$uzenet=$uzenet."Valótlan email cim.
";
$statusz= "HIBA";
}
if($email1 != $email2){
$uzenet=$uzenet."A két email cim nem egyforma
";
$statusz= "HIBA";
}
}
if(mysql_num_rows(mysql_query("SELECT email FROM account.account WHERE email = '$email1'"))){
$uzenet=$uzenet."$email1 cim már létezik. Kérjük, próbálj meg egy másikat
";
$statusz= "HIBA";
}
//TÖRLŐ KÓD ELLENORZES
if (empty($lcode)) {
$uzenet=$uzenet."Nem adtál meg jelszót.
";
$statusz= "HIBA";
}else{
if (strlen($lcode) < 7){
$uzenet=$uzenet."A Törlő kód túl rövid min. 7 karakter.
";
$statusz= "HIBA";
}
if (strlen($lcode) > 7){
$uzenet=$uzenet."Bocsi, Törlő kód túl hosszú max. 7 karakter.
";
$statusz= "HIBA";}
}
//KÉRDÉS ELLENORZES
if (empty($sfNum)) {
$uzenet=$uzenet."Nem adtál meg biztonsági választ.
";
$statusz= "HIBA";
}
if (strlen($refcode) > 0)
{
$mysql_query[1] = mysql_query("SELECT * FROM account.referer_links WHERE code = '".$refcode."' LIMIT 1");
if(mysql_num_rows($mysql_query[1]) == 1)
{
$mysql_result[1] = mysql_fetch_assoc($mysql_query[1]);
$mysql_query[2] = mysql_query("SELECT * FROM account.account WHERE id = '".$mysql_result[1]['acc_id']."' LIMIT 1");
if(mysql_num_rows($mysql_query[2]) == 1)
{
$mysql_result[2] = mysql_fetch_assoc($mysql_query[2]);
mysql_query("UPDATE account.account SET coins = '".($mysql_result[2]['coins'] + 5)."' WHERE (id = '".$mysql_result[2]['id']."')");
}
}
}
if($statusz<>"OK"){
echo"<div style='text-color:red;'><p align=center> $uzenet</div>
</p><p align='center'><input type='button' value='Vissza' onClick='history.go(-1)'>
</p>";
}else{
$sqlCmd = "INSERT INTO account.account
(login,password,real_name,email,social_id,question1,answer1,create_time,status,coins,autoloot_expire,safebox_expire,web_aktiviert,safecod)
VALUES
('".$account."',PASSWORD('".$pass."'),'".$uname."','".$email1."','".$lcode."','".$sfNum."','".$hashSF."','".$sqlZeit."','".$accountStatus."','".$regCoins."','".$expireDate."','".$expireDate."','".$aktivHash."','".$safecod."')";
$sqlQry = mysql_query($sqlCmd,$sqlServ);
require("phpmailer/class.phpmailer.php");
$mailer = new PHPMailer();
$mailer->IsSMTP();
$mailer->Host = 'ssl://smtp.gmail.com:465';
$mailer->SMTPAuth = TRUE;
$mailer->Username = '
[email protected]'; // Change this to your gmail adress
$mailer->Password = 'gmail pw'; // Change this to your gmail password
$mailer->From = '
[email protected]'; // This HAVE TO be your gmail adress
$mailer->FromName = 'Weblapod'; // This is the from name in the email, you can put anything you like here
$mailer->Body = 'Szia '.$account.'!
Sikeresen regisztráltál a http://weblapod.com weboldalon.
Felhasználó név:'.$account.'
Jelszó:'.$pass.'
Törlő kód: '.$lcode.'
Kattints a megerősitéshez:
http://weblapod.com/aktivalas.php?confirm='.$safecod.' cimre.
Figyelem: A felhasználód aktiválására 48 órád van. Határidő: '.$torles.'
Erre az emailre ne válaszolj, mert automatikusan küldtük ki neked,
Üdvözlettel:
A csapata
';
$mailer->Subject = 'Weblapod'.$account.' (Sikeres Regisztracio)';
$mailer->AddAddress($_POST['email']);
$mailer->Send();
echo "<p align='center'>Gratulálunk
$account! Sikeresen regisztráltál.
</p>";
}
}else{
?>
<p>Minden mező kitöltése kötelező!</p>
<form action="index.php?s=register" method="POST">
<input type="hidden" name="do" value="do" />
<input type="hidden" name="referer" value="<?php print $_GET['referer']; ?>" />
<table>
<tr>
<th class="topLine">Felhasználónév:</th>
<td class="tdunkel"><input type="text" name="account" maxlength="16" size="16"/> 4-16 </td>
</tr>
<tr>
<th class="topLine">Neved:</th>
<td class="thell"><input type="text" name="uname" maxlength="16" size="16"/> 3-20</td>
</tr>
<tr>
<th class="topLine">Jelszó:</th>
<td class="tdunkel"><input type="password" name="pass" maxlength="16" size="16"/> 8-16 </td>
</tr>
<tr>
<th class="topLine">Jelszó újra:</th>
<td class="thell"><input type="password" name="pass2" maxlength="16" size="16"/></td>
</tr>
<tr>
<th class="topLine">E-Mail:</th>
<td class="tdunkel"><input type="text" name="email" maxlength="50" size="25"/> max. 40</td>
</tr>
<tr>
<th class="topLine">E-Mail újra:</th>
<td class="thell"><input type="text" name="email2" maxlength="50" size="25"/></td>
</tr>
<tr>
<th class="topLine">Törlőkód:</th>
<td class="tdunkel"><input type="text" name="loeschcode" maxlength="7" size="7"/> 7 Karakter</td>
</tr>
<tr>
<th class="topLine">Biztonsági kérdés:</th>
<td class="thell">
<select name="sicherheitsf">
<option value="1">Szülő neve?</option><option value="2">Kedvenc ételed?</option><option value="3">Kedvenc városod?</option><option value="4">Hobbyd?</option><option value="5">Szerencse számod?</option><option value="6">Kedvenc szinészed?</option><option value="7">Kedvenc filmed?</option><option value="8">Kedvenc tantárgyad?</option>
</select>
<input type="text" name="sicherheitsa" maxlength="16" size="16"/> 3-16
</td>
</tr>
<tr>
<th class="topLine">Ellenörző kód:</th>
<td class="tdunkel"><img src="./captcha/captcha.php" title="Captcha"/> <input type="text" name="captcha" maxlength="5" size="5"/></td>
</tr>
<tr>
<th class="topLine" style="text-align:center;" colspan="2"><input type="submit" name="submit" value="Regisztrálok"/> • <input type="reset" value="Újra"/></th>
</tr>
</table>
</form>
<?PHP
}
}else{
echo "<p align='center'>A Regisztráció zárva van.</p>";
}
?>
A metin2garazs.com oldalról letöltött weblapokban van ilyen, csak a config.inc.php-ban van valami mail cuccos sor, ott állítsd 'true'-ra. A levél szövegét a register.php-ban kell lefordítani. Az aktivációs része pedig a login.php-ban szokott lenni.