Register for your free account! | Forgot your password?

You last visited: Today at 23:15

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



[Release] Homepage E-Mail Change Funktion

Discussion on [Release] Homepage E-Mail Change Funktion within the Metin2 PServer Designs, Websites & Scripts forum part of the Metin2 Private Server category.

Reply
 
Old   #1
 
elite*gold: 0
Join Date: Dec 2014
Posts: 168
Received Thanks: 28
[Release] Homepage E-Mail Change Funktion

Hallo comm so wolte mah auch was beitragen und etwas von meinen sachen hier releasen zum ersten komt wie oben schon gesagt die e mail change funktion.
Was dass ist?
Es ermoeglicht usern ihre angegebene E mail zu Changen die sie beim registrieren eingegeben haben. in beiden e mails beckommt man bestaetigungs nachrichten sowie auch einen besteatigungs code.


hier die dateien die gebraucht werden

change_email.php

PHP Code:
<div id="con-top">E-mail-Changen</div>
<div id="con-mid">
<?PHP
 
if(isset($_GET['security'])) {
     echo 
'<br><br><hr>';
     
     
$getSecurityKey "SELECT security_code FROM account.email_change WHERE security_code='".$_GET['security']."'";
     
$qrySecurity mysql_query($getSecurityKey);
      
     
     if(
mysql_num_rows($qrySecurity)>0)
      {
    
        
$result mysql_query("SELECT * FROM account.email_change WHERE security_code='".$_GET['security']."'");
        while(
$row mysql_fetch_array($result))
          {
          
$email $row['old_email'];
          
$newemail $row['new_email'];
            
//Alte e mail mit neuer changen
            
mysql_query("UPDATE account.account SET email='".$row['new_email']."' WHERE login='".$row['login']."' LIMIT 1");
            
            
mysql_query("UPDATE account.email_logs SET status='1' WHERE login='".$row['login']."' LIMIT 1");
                
            
//DELETEN DES RECORDS VON DER DATENBANK
            
mysql_query("DELETE FROM account.email_change WHERE old_email='".$row['old_email']."'");
          }
  
                 
//HIER WID DIE EMAIL GESENDET
              
$mail_body "Halloo,
Ihre e mail adresse wurde ervolgreich geendert von "
.$email." zu ".$newemail." ! 
              
              weiterhin einen schoenen aufenthalt
              
              das tea von "
.$serverSettings['titel']."
                  
                  
                  Diese E mail ist automatisch gesendet worden bitte nicht drauf antworten."
;
                  
$title "E-Mail change auf ".$serverSettings['titel'];
                  
                  
$fromm $serverSettings['titel']." Email Service";
                  
                  
$header .= "X-Priority: 3\n";
                  
$header .= "X-Mailer: mtVision Homepage Mailer\n";
                  
$header .= "MIME-Version: 1.0\n";
                  
$header .= "From: ".$fromm." <".$serverSettings['pass_mail'].">\n";
                  
$header .= "Reply-To: ".$serverSettings['pass_mail']."\n";
                  
//$header .= "Content-Transfer-Encoding: 8bit\n"; 
                  
$header .= "Content-Type: text/plain; charset=iso-8859-7\n";
                  
               
sendemail($email$title$mail_body);
               
sendemail($newemail$title$mail_body);
        
        
         echo 
'<p class="Nachricht"><font color=green><h3>Die E-Mail ist erfolgreich gewechselt von <font color=aqua>'.$email.'</font> zu <font color=aqua>'.$newemail.'</font> !</h3></font></p>';
         echo
'<meta http-equiv="refresh" content="5; URL=?s=login"> ';
         echo 
'<br><p class="Nachricht"> Du wirst weitergeleitet in 5 secunden.</p>';
      }
     else
      {
       echo
'<meta http-equiv="refresh" content="5; URL=?s=login"> ';
       echo 
'<p class="Nachricht"><font color=red><h3>Falscher schluessel code.</h3></font></p>';
       echo 
'<br><p class="Nachricht"> Du wirst weitergeleitet in 5 secunden.</p>';
      }
    
    
    
    
     echo 
'<hr><br><br>';
    
  }
else{

if(isset(
$_SESSION['user_admin']) && checkInt($_SESSION['user_admin']) && $_SESSION['user_admin']>=0) {
 
  
  if(isset(
$_POST['emailchange']) && $_POST['emailchange']=="Change") {
    
    if(!empty(
$_POST['email']) && !empty($_POST['newemail']) && !empty($_POST['newemail1'])
    && 
$_POST['email'] == $_SESSION['user_email']
    && 
$_POST['newemail'] == $_POST['newemail1']
    && 
$_POST['email'] != $_POST['newemail'] && $_SESSION['user_email'] != $_POST['newemail']
    && 
checkMail($_POST['email']) 
    && 
checkMail($_POST['newemail']) 
    && 
checkMail($_POST['newemail1']) 
    && 
$_SESSION["captcha_id"] == $_POST['captcha']) {
      
      
date_default_timezone_set('Europe/Athens');
      
$date date('m/d/Y H:i:s a'time());
      
//$acc = mysql_real_escape_string($_POST['account']);
      
$acc_id $_SESSION["user_id"];
      
$login $_SESSION["user_name"];
      
$email mysql_real_escape_string($_POST['email']);
      
$newemail mysql_real_escape_string($_POST['newemail']);
      
$newemail1 mysql_real_escape_string($_POST['newemail1']);
      
      
      
$newSecurityWord substr(md5(rand(999,99999)),0,40);
      
     
      
$insert_to_db "INSERT INTO account.email_change (login, old_email, new_email, security_code) VALUES ('".$login."' ,'".$email."', '".$newemail."','".$newSecurityWord."')";
      
mysql_query($insert_to_db);
      
      
$insert_log_to_db "INSERT INTO account.email_logs (account_id, login, old_email, new_email, date, status) VALUES ('".$acc_id."' ,'".$login."' ,'".$email."', '".$newemail."','".$date."', '0')";
      
mysql_query($insert_log_to_db);
      
      
//HIER WIRD DIE EMAIL GESENDET
      
$mail_body "Hallo,
      
      Klicken sie bitte auf den unten genanten link damit sie die 
      E-Mail wechseln Von "
.$email." Zu ".$newemail." ! 
      
      Link : http://euerdomain/?s=change_email&security="
.$newSecurityWord."
      
      Weiter hin einen schoenen aufenthalt
      
      Das team von "
.$serverSettings['titel']."
          
          
          Diese E mail ist automatisch gesendet worden bitte nicht drauf antworten."
;
          
$title "E-Mail change bei ".$serverSettings['titel'];
          
          
$fromm $serverSettings['titel']." Email Service";
          
          
$header .= "X-Priority: 3\n";
          
$header .= "X-Mailer: mtVision Homepage Mailer\n";
          
$header .= "MIME-Version: 1.0\n";
          
$header .= "From: ".$fromm." <".$serverSettings['pass_mail'].">\n";
          
$header .= "Reply-To: ".$serverSettings['pass_mail']."\n";
          
//$header .= "Content-Transfer-Encoding: 8bit\n"; 
          
$header .= "Content-Type: text/plain; charset=iso-8859-7\n";
          
       
sendemail($email$title$mail_body);
        
        
      
      echo 
'<p class="Nachricht"><font color=aqua><h3>In ca 5 minuten erreicht sie eine E mail zum Wechseln
      <br>
      ihrer E mail.
      </h3></font></p>'
;
      
    }
    else {
      echo
'<p class="Nachricht"><font color=red><h3>Bitte alles richtig ausfuellen.</h3></font></p>';
    }
    
  }

  
 
  
?>

<div class="splitLeft20">
  <p>Diese funktion erlaubt ihnen einen wechsel der e mail von der alten zu einer neuen.<br>
  Vorrausetzung ist das ihre angegeben E mail richtig ist.</p>
  <center>
  <form action="?s=change_email" method="POST">
    <table>
      <tr>
        <th class="topLine">*Ihre E-Mail:</th>
        <td class="tdunkel"><input type="text" name="email" value="<?php echo $_SESSION['user_email']; ?>" size="40" maxlength="40"/></td>
      </tr>
      <tr>
        <th class="topLine">*Euere neue E-Mail:</th>
        <td class="tdunkel"><input type="text" name="newemail" size="40" maxlength="40"/></td>
      </tr>
        <tr>
        <th class="topLine">*Widerholen der neuen E-Mail:</th>
        <td class="tdunkel"><input type="text" name="newemail1" size="40" maxlength="40"/></td>
      </tr>
      <tr>
        <th class="topLine"><font color="#09eb20">Captcha:</font></th>
        <td><img style="padding-bottom:1px;vertical-align:middle;" src="./captcha/captcha.php" title="Captcha"/>&nbsp;<input style="height:25px;background:#F5F5F5;border:1px solid #555;padding-top:3px;" type="text" name="captcha" maxlength="5" size="7"/></td>
      </tr>
      <tr>
        <th colspan="2" class="topLine" style="text-align:center;"><input type="submit" name="emailchange" value="Αλλαγή"/></th>
      </tr>
    </table>
  </form>
  </center>
</div>
<br><br>
<?php
 
}
  else {
    echo
'<p class="meldung">Du soltest schon eingelogt sein du Rantsteinschlotzer!</p>';
  }
 }
?>
Eine erweiterung an der config.inc.php

PHP Code:
<?PHP
    
      DEFINE
('SQL_HOST''IP');
      
DEFINE('SQL_USER''root');
      
DEFINE('SQL_PASS''Passwort');
      
      
DEFINE('SQL_HP_HOST''IP');
      
DEFINE('SQL_HP_USER''root');
      
DEFINE('SQL_HP_PASS''Passwort');
      
DEFINE('SQL_HP_DB''account');
      
      
$serverSettings['titel_page']="Testserver";         // Webseiten-Titel
      
$serverSettings['titel']="Euer Servernahme";                           // Servername
      
$serverSettings['url']="http://serverdomain.com";                     // URL zur Seite (ohne letzten "/")
      
$serverSettings['server_ip']="";                         // Server-IP
      
$serverSettings['register_on']=true;                              // Registration aktiviert (ja = true / nein = false)
      
$serverSettings['mail_activation']=true;                          // Mailaktivierung (ja = true / nein = false)
      
$serverSettings['page_entries']=30;                               // Eintrδge pro Seite
      
$serverSettings['reg_mail']='';                   // E-Mail-Absender bei Registration
      
$serverSettings['pass_mail']='metin2';                 // E-Mail-Absender bei Passwortreset
      
      
require("daten.inc.php");
        function 
sendemail($sendtoemail,$titlos,$minima)
        {
    
          
$header .= "X-Priority: 3\n";
          
$header .= "X-Mailer: mtVision Homepage Mailer\n";
          
$header .= "MIME-Version: 1.0\n";
          
$header .= "From: "\n";
          
$header .= "Reply-To: ".$serverSettings['pass_mail']."\n";
          
//$header .= "Content-Transfer-Encoding: 8bit\n"; 
          
$header .= "Content-Type: text/plain; charset=iso-8859-7\n";
                
            
mail($sendtoemail,$titlos,$minima$header);
        
        }
      
      
$cache['dir'] = 'cache';//Cache Ordner
      
$cache['empire']['dir'] = $cache['dir'];
      
//Cache Dauer in Sekunden
      
$cache['empire']['lifetime'] = 60 15// 15 Minuten
    
?>
email change sql

PHP Code:
SET FOREIGN_KEY_CHECKS=0;

-- ----------------------------
-- 
Table structure for `email_change`
-- ----------------------------
DROP TABLE IF EXISTS `email_change`;
CREATE TABLE `email_change` (
  `
idint(100NOT NULL AUTO_INCREMENT,
  `
loginvarchar(250) DEFAULT NULL,
  `
old_emailvarchar(250) DEFAULT NULL,
  `
new_emailvarchar(150) DEFAULT NULL,
  `
security_codevarchar(150) DEFAULT NULL,
  
PRIMARY KEY (`id`)
ENGINE=MyISAM AUTO_INCREMENT=26 DEFAULT CHARSET=latin1
[/PHP]

email logs sql
PHP Code:
SET FOREIGN_KEY_CHECKS=0;

-- ----------------------------
-- 
Table structure for `email_logs`
-- ----------------------------
DROP TABLE IF EXISTS `email_logs`;
CREATE TABLE `email_logs` (
  `
idint(100NOT NULL AUTO_INCREMENT,
  `
account_idvarchar(250) DEFAULT NULL,
  `
loginvarchar(250) DEFAULT NULL,
  `
old_emailvarchar(150) DEFAULT NULL,
  `
new_emailvarchar(150) DEFAULT NULL,
  `
datevarchar(150) DEFAULT NULL,
  `
statusvarchar(150) DEFAULT NULL,
  
PRIMARY KEY (`id`)
ENGINE=MyISAM AUTO_INCREMENT=19 DEFAULT CHARSET=latin1
zum schluss mus man ja i was aufrufen koennen das geht genau so

in euerer loginbar.inc.php den folgenden eintrag

PHP Code:
      &bull;&nbsp;&nbsp;<a href="index.php?s=change_email">Change E-mail</a><br /> 
Lowpass is offline  
Thanks
1 User
Old 02/12/2015, 16:20   #2
 
Shaytan 's Avatar
 
elite*gold: 0
Join Date: Feb 2014
Posts: 478
Received Thanks: 564
Finde es ganz cool und nützlich danke dir dafür #thanks
Shaytan  is offline  
Old 02/12/2015, 18:50   #3


 
kangar00's Avatar
 
elite*gold: 23
Join Date: Nov 2013
Posts: 885
Received Thanks: 748
Leider veraltet, wer das hen! CMS noch nutzt kann damit aber sicherlich etwas anfangen

Remix hat Recht, ist mir nicht direkt aufgefallen. Wenn man PDO nutzen wuerde, kommt es mit den pre. Stmts. garnicht zu sowas.
kangar00 is offline  
Thanks
1 User
Old 02/12/2015, 19:17   #4
 
elite*gold: 0
Join Date: Jan 2015
Posts: 239
Received Thanks: 585
Dass über die GET Variable security SQLi funktioniert hat aber noch niemand gemerkt.
i[Remix] is offline  
Thanks
2 Users
Old 02/12/2015, 19:20   #5


 
elite*gold: 0
Join Date: Aug 2013
Posts: 1,701
Received Thanks: 1,385
nette idee aber die "email" funktion bringt nicht viel wenn
der hoster diese nicht aktiviert hat und es geht auch einfacher.
/exit is offline  
Old 02/12/2015, 20:43   #6
 
elite*gold: 0
Join Date: Dec 2014
Posts: 168
Received Thanks: 28
Quote:
Originally Posted by andreas' View Post
nette idee aber die "email" funktion bringt nicht viel wenn
der hoster diese nicht aktiviert hat und es geht auch einfacher.
1: Die mail funktion ist ueberall acktive zumindest bei den hostern wo ich auch war und das sind viele.
2: Wens leichter geht dan zeig es mir kann ja sein mein wissen reicht halt nur bis da.
mfg
Lowpass is offline  
Thanks
1 User
Old 02/13/2015, 15:27   #7
 
Fydes's Avatar
 
elite*gold: 534
Join Date: Mar 2014
Posts: 1,614
Received Thanks: 983
Geht viel kürzer... Außerdem ist das Script sehr alt und weist Lücken auf.

Mfg
Fydes is offline  
Reply


Similar Threads Similar Threads
PHP Mail Funktion Problem
04/17/2014 - Web Development - 3 Replies
Ich habe eine einfache PHP Mail Funktion nach einem Tutorial gebastelt. Die E-Mail geht auch wirklich raus, leider aber ohne Betreff und ohne Inhalt. Es soll einmal eine Mail an mich, und einmal eine Mail an den der die Anfrage gestellt hat, abgesendet werden. Findet jemand einen Fehler? Leider bin ich blutiger Anfänger in HTML und PHP :'( PS: Die namen aus der HTML Datei stimmen überein mit der aus der PHP. <?php $name = $_REQUEST; $vorname = $_REQUEST; $email = $_REQUEST; $vorschlag...
[Release] Homepage addon E mail Wechseln
04/07/2014 - Metin2 PServer Designs, Websites & Scripts - 4 Replies
Deletet:
[S] USA.net E-mail Spammer (Proxy Funktion & Account-listen Abruf Funktion) [B] e*g
04/24/2013 - elite*gold Trading - 0 Replies
Hallo, Ich Suche einen E-mail Spammbot der mit USA.net E-mail Adressen Arbeitet. den SMTP Herrauszufinden ist ja nicht Wirklich schwer. Er Sollte Proxy Funktionen haben (E-mail via Proxy versenden) Und er sollte eine liste mit Accounts (Format E-mail:Passwort) Einlesen und verwenden Können (Wenn eine E-mail nichtsmehr sendet wird eine 2te Genommen Also aus der Liste) Hoffe ihr könnt mir da Weiterhelfen ^^ Kontakt Bitte per PN.
mail()-Funktion bereitet mir Kopfzerberchen
02/28/2012 - Web Development - 5 Replies
Wegen Datenschutzbedenken gelöscht.



All times are GMT +2. The time now is 23:15.


Powered by vBulletin®
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2024 elitepvpers All Rights Reserved.