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
Eine erweiterung an der config.inc.php
email change sql
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"/> <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>';
}
}
?>
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
?>
PHP Code:
SET FOREIGN_KEY_CHECKS=0;
-- ----------------------------
-- Table structure for `email_change`
-- ----------------------------
DROP TABLE IF EXISTS `email_change`;
CREATE TABLE `email_change` (
`id` int(100) NOT NULL AUTO_INCREMENT,
`login` varchar(250) DEFAULT NULL,
`old_email` varchar(250) DEFAULT NULL,
`new_email` varchar(150) DEFAULT NULL,
`security_code` varchar(150) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=26 DEFAULT CHARSET=latin1;
email logs sql
zum schluss mus man ja i was aufrufen koennen das geht genau so
in euerer loginbar.inc.php den folgenden eintrag
PHP Code:
SET FOREIGN_KEY_CHECKS=0;
-- ----------------------------
-- Table structure for `email_logs`
-- ----------------------------
DROP TABLE IF EXISTS `email_logs`;
CREATE TABLE `email_logs` (
`id` int(100) NOT NULL AUTO_INCREMENT,
`account_id` varchar(250) DEFAULT NULL,
`login` varchar(250) DEFAULT NULL,
`old_email` varchar(150) DEFAULT NULL,
`new_email` varchar(150) DEFAULT NULL,
`date` varchar(150) DEFAULT NULL,
`status` varchar(150) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=19 DEFAULT CHARSET=latin1;
in euerer loginbar.inc.php den folgenden eintrag
PHP Code:
• <a href="index.php?s=change_email">Change E-mail</a><br />