ich versuche seit Tagen folgenden Wunsch zu realisieren, was aber leider nicht klappt
Wenn ein Member seine E-Mail Adresse im Profil ändert, möchte ich gerne per Email darüber Informiert werden.
Ich habe folgendes in die profil_edit.php und auch (abwechselnd) in die confirm.php eingefügt:
$id = '1'; # User Id welcher die Email erhalten soll $title = 'Eine E-Mailadresse wurde geändert'; # Betreff der Email $text = "Hallo,\n\n soeben wurde eine Emailadresse eines Members geändert.\n\nMit freundlichen Grüssen\n\nAdministrator"; # Email Inhalt $email = db_query('SELECT `email` FROM `prefix_user` WHERE `id` = ' . $id); # Email des Empfängers aus Datenbank icmail($email, $title, $text); # Email versenden
Da aber sowohl in der profil_edit als auch in der confirm.php schon die Abfrage "$id" vorkommt, klappt das scheinbar nicht mit dem versenden.
Was kann ich da machen ?
Hier noch meine profil_edit.php
<?php # Copyright by: Manuel Staechele # Support: www.ilch.de defined ('main') or die ( 'no direct access' ); require_once("include/contents/googlemap/config.php"); $title = $allgAr['title'].' :: Users :: Profil'; $hmenu = $extented_forum_menu.'<a class="smalfont" href="?user">Users</a><b> » </b> Profil'.$extented_forum_menu_sufix; $design = new design ( $title , $hmenu, 1); if ( $_SESSION['authright'] <= -1 ) { if ( empty ($_POST['submit']) ) { $design->header(); $abf = 'SELECT email,wohnort,homepage,aim,msn,icq,yahoo,avatar,status,staat,gebdatum,sig,opt_pm_popup,opt_pm,opt_mail,geschlecht,spezrank,gmapkoords FROM `prefix_user` WHERE id = "'.$_SESSION['authid'].'"'; $erg = db_query($abf); if ( db_num_rows($erg) > 0 ) { $row = db_fetch_assoc($erg); $tpl = new tpl ('user/profil_edit'); $row['staat'] = '<option></option>'.arliste ( $row['staat'] , get_nationality_array() , $tpl , 'staat' ); $row['geschlecht0'] = ( $row['geschlecht'] < 1 ? 'checked' : '' ); $row['geschlecht1'] = ( $row['geschlecht'] == 1 ? 'checked' : '' ); $row['geschlecht2'] = ( $row['geschlecht'] == 2 ? 'checked' : '' ); if ( $row['status'] == 1 ) { $row['status1'] = 'checked'; $row['status0'] = ''; } else { $row['status1'] = ''; $row['status0'] = 'checked'; } if ( $row['opt_mail'] == 1 ) { $row['opt_mail1'] = 'checked'; $row['opt_mail0'] = ''; } else { $row['opt_mail1'] = ''; $row['opt_mail0'] = 'checked'; } if ( $row['opt_pm'] == 1 ) { $row['opt_pm1'] = 'checked'; $row['opt_pm0'] = ''; } else { $row['opt_pm1'] = ''; $row['opt_pm0'] = 'checked'; } if ( $row['opt_pm_popup'] == 1 ) { $row['opt_pm_popup1'] = 'checked'; $row['opt_pm_popup0'] = ''; } else { $row['opt_pm_popup1'] = ''; $row['opt_pm_popup0'] = 'checked'; } $row['avatarbild'] = ( file_exists ( $row['avatar'] ) ? '<img src="'.$row['avatar'].'" alt=""><br />' : '' ); $row['Fabreite'] = $allgAr['Fabreite']; $row['Fahohe'] = $allgAr['Fahohe']; $row['Fasize'] = $allgAr['Fasize']; $row['forum_max_sig'] = $allgAr['forum_max_sig']; $row['uid'] = $_SESSION['authid']; $row['forum_usergallery'] = $allgAr['forum_usergallery']; $row['GOOGLE_MAP_KEY'] = GOOGLE_MAP_KEY; $tpl->set_ar_out($row,0); if ($allgAr['forum_avatar_upload']) $tpl->out(1); $tpl->set_ar_out($row,2); profilefields_change ( $_SESSION['authid'] ); $tpl->out(3); } else { $tpl = new tpl ( 'user/login.htm' ); $tpl->set_out('WDLINK','index.php',0); } } else { # submit # change poassword if ( !empty($_POST['np1']) AND !empty($_POST['np2']) AND !empty($_POST['op'])) { if ($_POST['np1'] == $_POST['np2']) { $akpw = db_result(db_query("SELECT pass FROM prefix_user WHERE id = ".$_SESSION['authid']),0); if ($akpw == md5($_POST['op'])) { $newpw = md5($_POST['np1']); db_query("UPDATE prefix_user SET pass = '".$newpw."' WHERE id = ".$_SESSION['authid']); setcookie(session_und_cookie_name(), $_SESSION['authid'].'='.$newpw, time() + 31104000, "/" ); $fmsg = $lang['passwortchanged']; } else { $fmsg = $lang['passwortwrong']; } } else { $fmsg = $lang['passwortnotequal']; } } # avatar speichern START $avatar_sql_update = ''; if ( !empty ( $_FILES['avatarfile']['name'] ) AND $allgAr['forum_avatar_upload'] ) { $file_tmpe = $_FILES['avatarfile']['tmp_name']; $rile_type = ic_mime_type ($_FILES['avatarfile']['tmp_name']); $file_type = $_FILES['avatarfile']['type']; $file_size = $_FILES['avatarfile']['size']; $fmsg = $lang['avatarisnopicture']; $size = @getimagesize ($file_tmpe); $endar = array (1 => 'gif', 2 => 'jpg', 3 => 'png'); if ( ($size[2] == 1 OR $size[2] == 2 OR $size[2] == 3) AND $size[0] > 10 AND $size[1] > 10 AND substr ( $file_type , 0 , 6 ) == 'image/' AND substr ( $rile_type , 0 , 6 ) == 'image/' ) { $endung = $endar[$size[2]]; $breite = $size[0]; $hoehe = $size[1]; $fmsg = $lang['avatarcannotupload']; if ( $file_size <= $allgAr['Fasize'] AND $breite <= $allgAr['Fabreite'] AND $hoehe <= $allgAr['Fahohe'] ) { $neuer_name = 'include/images/avatars/'.$_SESSION['authid'].'.'.$endung; @unlink (db_result(db_query("SELECT avatar FROM prefix_user WHERE id = ".$_SESSION['authid']),0)); move_uploaded_file ( $file_tmpe , $neuer_name ); @chmod($neuer_name, 0777); $avatar_sql_update = "avatar = '".$neuer_name."',"; $fmsg = $lang['pictureuploaded']; } } } elseif ( isset($_POST['avatarloeschen']) ) { $fmsg = $lang['picturedelete']; @unlink (db_result(db_query("SELECT avatar FROM prefix_user WHERE id = ".$_SESSION['authid']),0)); $avatar_sql_update = "avatar = '',"; } # avatar speichern ENDE # email aendern if ($_POST['email'] != $_POST['aemail']) { $id = $_SESSION['authid'].'||'.md5 (uniqid (rand())); db_query("INSERT INTO prefix_usercheck (`check`,email,datime,ak) VALUES ('".$id."','".escape($_POST['email'],'string')."',NOW(),3)"); $page = $_SERVER["HTTP_HOST"].$_SERVER["SCRIPT_NAME"]; $text = $lang['changedthemail'] . sprintf ($lang['registconfirmlink'], $page, $id ); icmail ($_POST['email'], $lang['mail'].' '.$lang['changed'], $text ); $fmsg = $lang['pleaseconfirmmail']; } # #remove account if (isset($_POST['removeaccount'])) { $id = $_SESSION['authid'].'-remove-'.md5 (uniqid (rand())); db_query("INSERT INTO prefix_usercheck (`check`,email,datime,ak) VALUES ('".$id."','".escape($_POST['email'],'string')."',NOW(),5)"); $page = $_SERVER["HTTP_HOST"].$_SERVER["SCRIPT_NAME"]; $text = $lang['removeconfirm'] . sprintf ($lang['registconfirmlink'], $page, $id ); icmail ($_POST['email'], html_entity_decode($lang['removeaccount']), $text ); $fmsg = $lang['pleaseconfirmremove']; } #remove account # statische felder speichern db_query("UPDATE prefix_user SET homepage = '".get_homepage(escape($_POST['homepage'], 'string'))."', wohnort = '".escape($_POST['wohnort'], 'string')."', icq = '".escape($_POST['icq'], 'string')."', msn = '".escape($_POST['msn'], 'string')."', yahoo = '".escape($_POST['yahoo'], 'string')."', ".$avatar_sql_update." aim = '".escape($_POST['aim'], 'string')."', staat = '".escape($_POST['staat'], 'string')."', geschlecht = '".escape($_POST['geschlecht'], 'string')."', status = '".escape($_POST['status'], 'string')."', opt_mail = '".escape($_POST['opt_mail'], 'string')."', opt_pm = '".escape($_POST['opt_pm'], 'string')."', opt_pm_popup = '".escape($_POST['opt_pm_popup'], 'string')."', gebdatum = '".get_datum(escape($_POST['gebdatum'], 'string'))."', sig = '".substr(escape($_POST['sig'], 'string'),0,$allgAr['forum_max_sig'])."', gmapkoords = '".escape($_POST['gmapkoords'], 'string')."' WHERE id = ".$_SESSION['authid'] ); # change other profil fields profilefields_change_save ( $_SESSION['authid'] ); $design->header(); # definie and print msg $fmsg = ( isset($fmsg) ? $fmsg : $lang['changesuccessful'] ); wd('?user-8' , $fmsg , 15 ); } } else { $tpl = new tpl ( 'user/login' ); $tpl->set_out('WDLINK', '?user-8', 0); } $design->footer(); ?>
und meine confirm.php
<?php # Copyright by: Manuel # Support: www.ilch.de defined ('main') or die ( 'no direct access' ); $title = $allgAr['title'].' :: User :: Confirm'; $hmenu = $extented_forum_menu.'<a class="smalfont" href="?user">User</a><b> » </b>Confirm'.$extented_forum_menu_sufix; $design = new design ( $title , $hmenu, 1); $design->header(); $abgelaufen = time() - 172800; # 2 tage $abgelaufen = date('Y-m-d H:i:s',$abgelaufen); db_query("DELETE FROM prefix_usercheck WHERE datime < '".$abgelaufen."'"); $erg = db_query("SELECT * FROM prefix_usercheck WHERE `check` = '".escape($_GET['check'], 'string')."'"); if ( db_num_rows($erg) == 1 ) { $row = db_fetch_assoc($erg); switch ( $row['ak'] ) { # confirm regist case 1 : if ( 0 == db_count_query("SELECT COUNT(*) FROM prefix_user WHERE name = BINARY '".$row['name']."'") ) { db_query("INSERT INTO prefix_user (name,pass,recht,regist,llogin,email,status,opt_mail,opt_pm) VALUES('".$row['name']."','".$row['pass']."',-1,'".time()."','".time()."','".$row['email']."',1,1,1)"); $uid = db_last_id(); // ID des neuen Users $sid = 1; // ID des Absenders $title = 'Herzlich Willkommen beim '; $txt = 'hier steht normalerweise text '; sendpm($sid,$uid,$title,$txt,-1); echo $lang['confirmregist']; } else { echo $lang['confirmregistfailed']; } break; # confirm new pass case 2 : db_query("UPDATE prefix_user SET pass = '".$row['pass']."' WHERE name = BINARY '".$row['name']."'"); echo $lang['confirmpassword']; break; # confirm new email case 3 : list ($id, $muell) = explode('||', $row['check']); db_query("UPDATE prefix_user SET email = '".$row['email']."' WHERE id = ". escape($id, 'integer')); echo $lang['confirmemail']; break; # ak 4 wurde besetzt fuer joinus anfragen... case 4 : break; # ak 5 remove account case 5: list ($id, $muell) = explode('-remove-', $row['check']); if ($id != $_SESSION['authid']) { break; } user_remove($id); wd('index.php','Dein Account wurde gelöscht. Du wirst nun auf die Startseite geleitet.',7); break; } db_query("DELETE FROM prefix_usercheck WHERE `check` = '".$row['check']."'"); } else { echo $lang['confirmfailure']; } $design->footer(); ?>
Thanks :-)
verwendete ilch Version: 1.1 P