ilch Forum » Allgemein » HTML, PHP, SQL,... » Newsletter versenden! Fehler - Datenbank

Geschlossen
  1. #1
    User Pic
    DJ-Sweeper Mitglied
    Registriert seit
    16.04.2012
    Beiträge
    78
    Beitragswertungen
    0 Beitragspunkte
    Hallo liebe ilch Gemeinde.
    Ich wollte Heute mal einen Newsletter versenden und bekomme leider diesen Fehler.
    	   	MySQL Error:
    1065 : Query was empty
    in Query:
    
    Debug backtrace:
    	@ mysql.php:46 -- debug_bt()
    	@ mysql.php:64 -- db_check_error(...)
    	@ newsletter.php:97 -- db_query(...)
    	@ admin.php:20 -- require_once(...)
    
    Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in /var/www/vhosts/ghv-nordheide.de/httpdocs/include/includes/func/db/mysql.php on line 85
    Weiterleitung in 5 Sekunden


    Nun weiß ich nicht ob es eine Kleinigkeit in der DB ist oder ob ein Modul nochmals installiert werden sollte.

    Auch in der Newsletter Admin Seite habe ich nicht die Möglichkeit, nach Rechten aus zu wählen. (sollte das hilfreich sein)
    Code der Newsletter php.
    <?php
    #   Copyright by Manuel
    #   Support www.ilch.de
    
    
    defined ('main') or die ( 'no direct access' );
    
    
    if ( empty($_POST['NEWSLETTER'])  ) {
    
    ?>
    
      <form action="index.php" method="POST">
    
    		<b>Newsletter</b>
    	  <br />
    		<input type="text" name="NEWSLETTER" size="15">
    		<br />
    		<br />
    		<input type="submit" style="width:120px; height:20px;" value="<?php echo $lang['newsletterinout']; ?>">
    
    	</form>
    
    
    <?php
    
    } else {
    
    	$email = escape ( $_POST['NEWSLETTER'] , 'string' );
    	$erg = db_query ("SELECT COUNT(*) FROM prefix_newsletter WHERE email = '".$email."'");
    	$anz = db_result($erg,0);
    	if ( $anz == 1 ) {
    	  db_query("DELETE FROM prefix_newsletter WHERE email = '".$email."'");
    		echo $lang['deletesuccessful'];
    	} else {
    	  db_query("INSERT INTO prefix_newsletter (`email`) VALUES ('".$email."')");
    		echo $lang['insertsuccessful'];
    	}
    }
    ?>


    Das Eintragen von E-mail's geht (Formular auf der HP) und diese Einträge sind auch in der Datenbank zu finden.

    vielen Dank, für Tips.


    verwendete ilch Version: 1.1 M

    betroffene Homepage: externer Link
    0 Mitglieder finden den Beitrag gut.
  2. #2
    User Pic
    holz Hall Of Fame
    Registriert seit
    17.11.2005
    Beiträge
    4.606
    Beitragswertungen
    117 Beitragspunkte
    ui du hast aber ne alte Ilch version am laufen.

    ich würde das ganze mal hochziehen auf version p

    du musst aber alle zwischen updates fahren und backups machen von der dateistruktur und der db nicht vergessen



    du könntest aber auch mal versuchen die newsletter.php aus der 1.1p version bei dir hochladen und dann nochmal probieren. aber immer backups machen!!!
    0 Mitglieder finden den Beitrag gut.
  3. #3
    User Pic
    Rock@wulf Hall Of Fame
    Registriert seit
    03.06.2004
    Beiträge
    3.282
    Beitragswertungen
    239 Beitragspunkte
    Wenn niemand den Newsletter abboniert hat, dann kann ihn auch niemand empfangen:

    1065 : Query was empty
    Meine Postings repräsentieren meine Meinung wenn nicht anders gekennzeichnet.
    MFG Rock@wulf
    0 Mitglieder finden den Beitrag gut.
  4. #4
    User Pic
    holz Hall Of Fame
    Registriert seit
    17.11.2005
    Beiträge
    4.606
    Beitragswertungen
    117 Beitragspunkte
    ZitatZitat geschrieben von Rockwulf
    Wenn niemand den Newsletter abboniert hat, dann kann ihn auch niemand empfangen:

    1065 : Query was empty


    ja das hatte ich auch gedacht aber das da so ein bug ist das das nicht abgefangen wird fänd ich komisch oder nicht?
    0 Mitglieder finden den Beitrag gut.
  5. #5
    User Pic
    Rock@wulf Hall Of Fame
    Registriert seit
    03.06.2004
    Beiträge
    3.282
    Beitragswertungen
    239 Beitragspunkte
    Das kann ich nicht sagen, da er Netterweise nur den Code der newsletter Box gepostet hat und nicht den ausm admin bereich zunge
    Meine Postings repräsentieren meine Meinung wenn nicht anders gekennzeichnet.
    MFG Rock@wulf
    0 Mitglieder finden den Beitrag gut.
  6. #6
    User Pic
    DJ-Sweeper Mitglied
    Registriert seit
    16.04.2012
    Beiträge
    78
    Beitragswertungen
    0 Beitragspunkte
    Also ich habe selber 2 gültige E-mails eingetragen, zum Testen und der Fehler erscheint.
    Welcher Code wird benätigt?
    Welche PHP?
    Ich poste mal die News - aus dem Adminbereich.
    <?php
    // Copyright by: Manuel
    // Support: www.ilch.de
    defined ('main') or die ('no direct access');
    defined ('admin') or die ('only admin access');
    
    function XAJAX_changeList($select) {
        $objResponse = new xajaxResponse();
    
        if ($select == 'Normal') {
            $auswahl = array (
                'u0' => 'an alle User',
                );
    
            $erg = db_query("SELECT `name`,`id` FROM `prefix_groups` ORDER BY `id`");
            while ($RRrow = db_fetch_object($erg)) {
                $auswahl['g' . $RRrow->id] = $RRrow->name;
            }
    
            $listeB = '';
            $listeT = '';
    
            foreach ($auswahl as $k => $v) {
                if (strpos($k, 'u') !== false) {
                    $listeB .= '<option value="P' . $k . '">' . $v . ' PrivMsg</option>' . "\n";
                    $listeB .= '<option value="E' . $k . '">' . $v . ' eMail</option>' . "\n";
                }elseif (strpos($k, 'g') !== false) {
                    $listeT .= '<option value="P' . $k . '">' . $v . ' PrivMsg</option>' . "\n";
                    $listeT .= '<option value="E' . $k . '">' . $v . ' eMail</option>' . "\n";
                }
            }
    
            $content =
            <<<END
                <select id="nl_auswahl" name="auswahl">
                    <option value="Enews" selected="selected">eMail Newsletter</option>
                    <optgroup label="Benutzer">
                        {$listeB}
                    </optgroup>
                    <optgroup label="Gruppen">
                        {$listeT}
                    </optgroup>
        		</select>
    END;
        	$objResponse->assign('cb_html_cont', 'style.display', '');
        }else {
            $erg = db_query("SELECT * FROM `prefix_grundrechte` ORDER BY `id` ASC");
            $listeG = '';
    
            while ($row = db_fetch_assoc($erg)) {
                $listeG .= '<optgroup label="' . $row['name'] . '">';
                $listeG .= '<option value="Pr' . $row['id'] . '"> PrivMsg</option>';
                $listeG .= '<option value="Er' . $row['id'] . '"> eMail</option>';
                $listeG .= '</optgroup>';
            }
    
            $content =
            <<<END
                <select name="auswahl" id="nl_auswahl">
                    <option selected="selected" disabled="disabled">Bitte treffen Sie eine Auswahl</option>
                        {$listeG}
                </select>
    			<input type="checkbox" name="andhigher" id="cb_andhigher" value="1" />
    			<label for="cb_andhigher">und für alle höheren Rechte</label>
    END;
        }
    
        $objResponse->assign('list', 'innerHTML', $content);
    	$objResponse->setEvent('nl_auswahl', 'onchange', 'checkEmail();');
        return $objResponse;
    }
    
    $xajax = new xajax('http://' . $_SERVER['HTTP_HOST'] . $_SERVER['SCRIPT_NAME'] . '?newsletter=0');
    $xajax->configureMany(array('characterEncoding' => 'ISO-8859-1', 'decodeUTF8Input' => true));
    
    $xajax->registerFunction('XAJAX_changeList');
    $xajax->processRequest();
    
    $design = new design ('Admins Area', 'Admins Area', 2);
    $design->header();
    
    if (isset($_POST['SEND']) and chk_antispam('newsletter', true)) {
        $mailopm = substr($_POST['auswahl'], 0, 1);
        $usrogrp = substr($_POST['auswahl'], 1, 1);
    
        if ($_POST['auswahl'] == 'Enews') {
            $q = "SELECT `email` FROM `prefix_newsletter`";
        } elseif ($usrogrp == 'u') {
            $q = "SELECT `email`,`name` as `uname`,`id` as `uid` FROM `prefix_user` WHERE `recht` <= '-1'";
        } elseif ($usrogrp == 'g') {
            $gid = substr ($_POST['auswahl'], 2 , strlen ($_POST['auswahl']) - 1);
            $q = "SELECT `b`.`email`, `b`.`name` as `uname`, `b`.`id` as `uid` FROM `prefix_groupusers` `a` LEFT JOIN `prefix_user` `b` ON `a`.`uid` = `b`.`id` WHERE `a`.`gid` = '$gid'";
        } elseif ($usrogrp == 'r') {
            $q = "SELECT `email`,`id` as `uid` FROM `prefix_user` WHERE `recht` ".(isset($_POST['andhigher']) ? '<' : '')."= '" . substr($_POST['auswahl'], 2, strlen($_POST['auswahl']) - 1) . "'";
        }
    
        $erg = db_query ($q);
    
        $zahler = 0;
    
        if (db_num_rows($erg) > 0) {
            if ($mailopm == 'E') {
            	$emails = array('bbc', $allgAr['adminMail']);
    			while ($row = db_fetch_object($erg)) {
    				if (!in_array($row->email, $emails) and preg_match('/^([a-z0-9])(([-a-z0-9._])*([a-z0-9]))*\@([a-z0-9])' .
    				'(([a-z0-9-])*([a-z0-9]))+' . '(\.([a-z0-9])([-a-z0-9_-])?([a-z0-9])+)+$/i', $row->email) == 1) {
    					$emails[] = $row->email;
    					$zahler++;
      				}
            	}
            	icmail ($emails , $_POST['bet'], $_POST['txt'], '', 'on');
            } elseif ($mailopm == 'P') {
            	$uids = array();
    			while ($row = db_fetch_object($erg)) {
                	$uids[] = $row->uid;
            		$zahler++;
            	}
    			sendpm($_SESSION['authid'], $uids, escape($_POST['bet'], 'string'), escape($_POST['txt'], 'string'), -1);
    		}
    
            if ($mailopm == 'E') {
                $eMailorPmsg = 'eMail(s)';
            } elseif ($mailopm == 'P') {
                $eMailorPmsg = 'Private Nachrichte(n)';
            }
    
            wd('admin.php?newsletter', 'Es wurde(n) ' . $zahler . ' ' . $eMailorPmsg . ' verschickt.', 5);
        } else {
            wd('admin.php?newsletter', 'F&uuml;r diese Auswahl konnte nichts gefunden werden.', 5);
        }
    } else {
        echo $xajax->printJavascript();
        $tpl = new tpl ('newsletter', 1);
        $tpl->set_out('antispam', get_antispam('newsletter', 0, true), 0);
    }
    
    $design->footer();
    
    ?>


    bin gerade erst wider am Pc konnte also noch nix ausprobieren, von euren Vorschlägen.

    Nachtrag:
    13 Mit mir sind registriert.
    Email Empfang steht auf "ja"
    Könnte es was mit den rechten zu tun haben? (was ich nicht glaube) Jeder der sich registriert ist trotzdem erstmal Gast - Ich gebe dann den User Status....(war so gewollt vom Seitenbetreiber)


    Zuletzt modifiziert von DJ-Sweeper am 13.02.2014 - 21:44:01
    0 Mitglieder finden den Beitrag gut.
  7. #7
    User Pic
    Rock@wulf Hall Of Fame
    Registriert seit
    03.06.2004
    Beiträge
    3.282
    Beitragswertungen
    239 Beitragspunkte
    sieht für mich immer noch nach nem leeren query aus
    Meine Postings repräsentieren meine Meinung wenn nicht anders gekennzeichnet.
    MFG Rock@wulf
    0 Mitglieder finden den Beitrag gut.
  8. #8
    User Pic
    holz Hall Of Fame
    Registriert seit
    17.11.2005
    Beiträge
    4.606
    Beitragswertungen
    117 Beitragspunkte
    trag dich doch mal selber in newsletter ein
    0 Mitglieder finden den Beitrag gut.
  9. #9
    User Pic
    DJ-Sweeper Mitglied
    Registriert seit
    16.04.2012
    Beiträge
    78
    Beitragswertungen
    0 Beitragspunkte
    das habe ich ja gemacht!!
    Sogar mit 2 -mails...und der Fehler kam :-(
    0 Mitglieder finden den Beitrag gut.
  10. #10
    User Pic
    holz Hall Of Fame
    Registriert seit
    17.11.2005
    Beiträge
    4.606
    Beitragswertungen
    117 Beitragspunkte
    dann schau mal in der DB ob da überhaupt was eingetragen wurde.
    0 Mitglieder finden den Beitrag gut.
  11. #11
    User Pic
    DJ-Sweeper Mitglied
    Registriert seit
    16.04.2012
    Beiträge
    78
    Beitragswertungen
    0 Beitragspunkte
    So Update der Fehlergeschichte. :-)
    Ich habe auf www.Devilsound.us jetzt das Update "P" drauf.
    Soweit so gut, mußte aber in der tpl.php --> diese Zeile löschen um das die Seite wieder geht.
    $this->keys['__BBCodeButtons__'] = getBBCodeButtons(); //BBCode2.0 Buttons

    Das soll natürlich nicht sinn der Sache sein.
    Hier nochmal die PHP mit der Zeile, die ich gelöscht habe...
    Vielleicht reicht ja ein umschreiben der PHP ?
    <?php
    #   Copyright by Manuel Staechele
    #   Support www.ilch.de
    
    
    defined ('main') or die ( 'no direct access' );
    
    class tpl
    {
    	var $parts;
    	var $keys;
    	var $lists;
    	var $lang;
        var $ort;
    
    	function tpl ($file, $ort = 0) {
    
    		$this->parts = array();
    		$this->keys  = array();
    		$this->lists = array();
    		$this->lang  = array();
            $this->ort   = $ort;
            $this->keys['__BBCodeButtons__'] = getBBCodeButtons();  //BBCode2.0 Buttons
    
    		# file bearbeiten, weil file auch ohne .htm angegeben werden kann.
        if ( ($ort != 3) AND (substr ( $file, -4 ) != '.htm') ) {
          $file .= '.htm';
        }
    
        # ort 0 = include/templates, ort 1 = include/admin/templates
        # bei ort 0 wird ausserdem gecheckt ob das template
        # evtl. im ordner include/design/DESIGN/templates liegt.
        # ort = 2 das template kommt von der design classe der pfad ist ab include
        # ort = 3 das template ist schon in der Variable $file geladen
        $design = $this->get_design ();
        if ( $this->ort == 0 ) {
          if ( file_exists ('include/designs/'.$design.'/templates/'.$file) ) {
    				$file = 'include/designs/'.$design.'/templates/'.$file;
          } else {
            $file = 'include/templates/'.$file;
          }
        } elseif ( $this->ort == 1 ) {
          $file = 'include/admin/templates/'.$file;
        } elseif ( $this->ort == 2 ) {
          $file = 'include/'.$file;
        }elseif ( $this->ort == 3 ) {
          $inhalt = $file;
        }
    
    	  if ($ort != 3){
          $inhalt = implode("", file($file) );
    		}
    
    		global $lang;
    		$this->lang = $lang;
    		$inhalt = $this->replace_lang($inhalt);
    
    		$inhalt = $this->replace_list($inhalt);
    		$this->parts = explode ( '{EXPLODE}', $inhalt );
    	}
    
    
    	function get_design () {
    	  if ( file_exists('include/designs/'.$_SESSION['authgfx'].'/index.htm')) {
    		  return ( $_SESSION['authgfx'] );
    		} elseif ( file_exists('include/designs/ilchClan/index.htm')) {
    		  return ( 'ilchClan' );
    		} else {
    		  $od = opendir('include/designs');
    			while ( $f = readdir($od) ) {
    			  if ( file_exists('include/designs/'.$f.'/index.htm')) {
    				  return ( $f );
    				  break;
    				}
    			}
    			closedir($od);
    		}
    	}
    
    	function replace_lang ( $var ) {
    		$lang_zwischenspeicher = array();
    		preg_match_all ("/\{_lang_([^\{\}]+)\}/" , $var , $lang_zwischenspeicher);
        foreach ( $lang_zwischenspeicher[1] as $v ) {
          if (empty($this->lang[$v])) { $this->lang[$v] = str_replace('_', '', $v); }
          $var = str_replace('{_lang_'.$v.'}',$this->lang[$v],$var);
        }
    		return ( $var );
    	}
    
    	function replace_list ( $var ) {
    		$zwischenspeicher = array();
    		preg_match_all ("/\{_list_([^\{\}]+)\}/" , $var , $zwischenspeicher);
        foreach ( $zwischenspeicher[1] as $v ) {
    			list ( $key , $val ) = explode('@',$v);
    		  $this->lists[$key] = $val;
    			$var = str_replace('{_list_'.$v.'}','{'.$key.'}',$var);
        }
    		return ( $var );
    	}
    
    	function list_get ( $key , $ar ) {
    	  $zwischenspeicher = $this->lists[$key];
    	  krsort($ar);
        foreach ( $ar as $k => $v ) {
    		  $i = $k + 1;
    		  $zwischenspeicher = str_replace('%'.$i,$v,$zwischenspeicher);
    		}
    		return ($zwischenspeicher);
    	}
    
    	function list_exists ( $key ) {
    	  if ( isset ( $this->lists[$key] ) ) {
    		  return ( true );
    		} else {
    		  return ( false );
    		}
    	}
    
    	function list_out ( $key , $ar ) {
    	  echo $this->list_get ( $key , $ar );
    	}
    
    	function set ($k , $v) {
    		#$this->keys[$k] = unescape($v);
    		$this->keys[$k] = $v;
    	}
    
    	function set_ar ($ar) {
    		foreach ($ar as $k => $v) {
    		  #$this->keys[$k] = unescape($v);
    			$this->keys[$k] = $v;
    		}
    	}
    
    	function set_ar_out ( $ar , $pos ) {
    	  $this->set_ar($ar);
    		$this->out($pos);
    	}
    
    	function set_out ( $k , $v , $pos ) {
    	  $this->set($k , $v);
    		$this->out($pos);
    	}
    
    	function set_ar_get ( $ar , $pos ) {
    	  $this->set_ar($ar);
    		return ($this->get($pos));
    	}
    
    	function set_get ( $k , $v , $pos ) {
    	  $this->set($k , $v);
    		return ( $this->get($pos));
    	}
    
    	function del ($k) {
    	  unset ($this->keys[$k]);
    	}
    
    	function del_ar ($ar) {
    	  foreach ($ar as $k => $v) {
    		  unset ($this->keys[$k]);
    		}
    	}
    
      function parse_if_do ($tr) {
        if ($tr[1] == 'SESSION_AUTHRIGHT') {
            $this->keys[$tr[1]] = $_SESSION['authright'];
        }
        if (isset($this->keys[$tr[1]])
          AND (
               ($tr[2] == '==' AND $this->keys[$tr[1]] == $tr[3])
            OR (($tr[2] == '!=' OR $tr[2] == '<>') AND $this->keys[$tr[1]] != $tr[3])
            OR ($tr[2] == '<=' AND $this->keys[$tr[1]] <= $tr[3])
            OR ($tr[2] == '>=' AND $this->keys[$tr[1]] >= $tr[3])
            OR ($tr[2] == '<' AND $this->keys[$tr[1]] < $tr[3])
            OR ($tr[2] == '>' AND $this->keys[$tr[1]] > $tr[3])
          )
    
        ) {
          return ($tr[4]);
        } elseif (isset($this->keys[$tr[1]]) AND isset($tr[6])){
          return ($tr[6]);
        }
        return ('');
      }
    
      function parse_if ($pos) {
        $toout = $this->parts[$pos];
    
        $toout = preg_replace_callback ("/\{_if_\{([^\}]+)\}(==|!=|<>|<|>|<=|>=)'([^']+)'\}(.*)(\{_else_\}(.*))?\{\/_endif\}/Us", array(&$this, 'parse_if_do') , $toout);
    
        return ($toout);
      }
    
    	function get ($pos) {
    	  $toout = $this->parse_if($pos);
    
        mt_srand((double)microtime()*1000000);
        $z = '##@@'.mt_rand().'@@##';
    
        foreach ($this->keys as $k => $v) {
          $toout = str_replace('{'.$k.'}','{'.$z.$k.'}',$toout);
        }
    
        foreach ($this->keys as $k => $v) {
          $toout = str_replace( '{'.$z.$k.'}' , $v , $toout );
    		}
    		return ($toout);
    	}
    
    	function out ($pos) {
    	  echo $this->get ($pos);
    	}
    
    
      /*
      @ Diese Funktion war mal eingebaut
      ich denke aber wenn jemand die seite
      suchmaschienen optimieren will, dann
      sollte er schon soviel ahnung haben es selber
      hinzubekommen. diese funktion kann aber dabei helfen!
    
      ... ansonsten wird es von mir sicher mal einen mod
      geben der die aufgabe uebernimmt!
    
      diese funktion kann nicht einfach freigeschaltet (auskommentiert) werden
      sie hat dann ueberhaupt keine auswirkung ;)...
    
      function giveback ($c) {
        global $allgAr;
        # diese funktion gibt den inhalt aus.
        # damit kann der inhalt nochmal nachbereitet werden.
        # pruefen ob alle ?... durch ....htm ersetzt werden sollen
        # wenn ja tun und return c ;-)
        if ( $allgAr['replace_template_to_html'] == 1 AND ($this->ort == 0 OR $this->ort == 2) ) {
          $c = preg_replace ('%href=\"\?([^\"]+)\"%Uis',"href=\"index.php?\\1\"",$c);
          $c = preg_replace ('%href=\"index.php\?([-0-9A-Z]+)#([a-zA-Z0-9]+)\">%Uis',"href=\"\\1.html#\\2\">",$c);
          $c = preg_replace ('%href=\"index.php\?([-0-9A-Z]+)\">%Uis',"href=\"\\1.html\">",$c);
    
          $c = preg_replace ('%action=\"\?([^\"]+)\"%Uis',"action=\"index.php?\\1\"",$c);
          $c = preg_replace ('%URL=\?([^\"]+)\"%Uis',"URL=index.php?\\1\"",$c);
    
        }
        return ( $c );
      }
    
      */
    }
    
    
    ?>



    Auf der Seite wwghv-nordheide.de bin ich jetzt bei Update "O" P traue ich mir noch nicht, da diese Seite doch oft angeklickt wird. - Das ist dann eher mal ne Nachtarbeit.

    Im Bereich Newsletter versenden hat sich leider nix geändert!
    Ich kann im Adminbereich immer noch keine Empfänger auswählen.

    Die Fehlermeldung :

    MySQL Error:
    1065 : Query was empty
    in Query:

    Debug backtrace:
    @ mysql.php:46 -- debug_bt()
    @ mysql.php:64 -- db_check_error(...)
    @ newsletter.php:97 -- db_query(...)
    @ admin.php:32 -- require_once(...)

    Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in /var/www/vhosts/ghv-nordheide.de/httpdocs/include/includes/func/db/mysql.php on line 85

    Ich habe noch den Tip angewant die Newsletter php vom Update "P" einzufügen im admin und Boxes Bereich.
    Leider keine Änderung des Vorhandenen Problems.

    Fehlermeldung:

    MySQL Error:
    1065 : Query was empty
    in Query:

    Debug backtrace:
    @ mysql.php:46 -- debug_bt()
    @ mysql.php:64 -- db_check_error(...)
    @ newsletter.php:97 -- db_query(...)
    @ admin.php:32 -- require_once(...)

    Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in /var/www/vhosts/ghv-nordheide.de/httpdocs/include/includes/func/db/mysql.php on line 85


    Das es insgesamt hier und da Probleme geben kann, im Bereich Updates ist klar...
    Danke für eure Tip's


    Zuletzt modifiziert von DJ-Sweeper am 14.02.2014 - 13:30:32
    0 Mitglieder finden den Beitrag gut.
  12. #12
    User Pic
    holz Hall Of Fame
    Registriert seit
    17.11.2005
    Beiträge
    4.606
    Beitragswertungen
    117 Beitragspunkte
    hast du die bbcode buttons für 1.1p runtergeladen?

    genrell sollte der newsletter funzen hab ihn bei einigen seiten aktiv im gebrauch ohne probleme...


    hab gerade in meiner test umgeubung geprüft da klappt es prima...

    wie gehst du vor?

    welchen empfänger typ wählst du aus?


    hast du bbcode für den newsletter in verwendung?


    lad doch mal aus der 1.1p version die originalen newsletter daten hoch
    0 Mitglieder finden den Beitrag gut.
  13. #13
    User Pic
    DJ-Sweeper Mitglied
    Registriert seit
    16.04.2012
    Beiträge
    78
    Beitragswertungen
    0 Beitragspunkte
    Zuviel am Bildschirm...püh :-)
    Wenn du einen Link hast für bb code für Version "P" Ich habe jetzt nichts auf Anhieb gefunden.

    Hier die aktuelle Newsletter.php Admin/
    <?php
    // Copyright by: Manuel
    // Support: www.ilch.de
    defined ('main') or die ('no direct access');
    defined ('admin') or die ('only admin access');
    
    function XAJAX_changeList($select) {
        $objResponse = new xajaxResponse();
    
        if ($select == 'Normal') {
            $auswahl = array (
                'u0' => 'an alle User',
                );
    
            $erg = db_query("SELECT `name`,`id` FROM `prefix_groups` ORDER BY `id`");
            while ($RRrow = db_fetch_object($erg)) {
                $auswahl['g' . $RRrow->id] = $RRrow->name;
            }
    
            $listeB = '';
            $listeT = '';
    
            foreach ($auswahl as $k => $v) {
                if (strpos($k, 'u') !== false) {
                    $listeB .= '<option value="P' . $k . '">' . $v . ' PrivMsg</option>' . "\n";
                    $listeB .= '<option value="E' . $k . '">' . $v . ' eMail</option>' . "\n";
                }elseif (strpos($k, 'g') !== false) {
                    $listeT .= '<option value="P' . $k . '">' . $v . ' PrivMsg</option>' . "\n";
                    $listeT .= '<option value="E' . $k . '">' . $v . ' eMail</option>' . "\n";
                }
            }
    
            $content =
            <<<END
                <select id="nl_auswahl" name="auswahl">
                    <option value="Enews" selected="selected">eMail Newsletter</option>
                    <optgroup label="Benutzer">
                        {$listeB}
                    </optgroup>
                    <optgroup label="Gruppen">
                        {$listeT}
                    </optgroup>
        		</select>
    END;
        	$objResponse->assign('cb_html_cont', 'style.display', '');
        }else {
            $erg = db_query("SELECT * FROM `prefix_grundrechte` ORDER BY `id` ASC");
            $listeG = '';
    
            while ($row = db_fetch_assoc($erg)) {
                $listeG .= '<optgroup label="' . $row['name'] . '">';
                $listeG .= '<option value="Pr' . $row['id'] . '"> PrivMsg</option>';
                $listeG .= '<option value="Er' . $row['id'] . '"> eMail</option>';
                $listeG .= '</optgroup>';
            }
    
            $content =
            <<<END
                <select name="auswahl" id="nl_auswahl">
                    <option selected="selected" disabled="disabled">Bitte treffen Sie eine Auswahl</option>
                        {$listeG}
                </select>
    			<input type="checkbox" name="andhigher" id="cb_andhigher" value="1" />
    			<label for="cb_andhigher">und für alle höheren Rechte</label>
    END;
        }
    
        $objResponse->assign('list', 'innerHTML', $content);
    	$objResponse->setEvent('nl_auswahl', 'onchange', 'checkEmail();');
        return $objResponse;
    }
    
    $xajax = new xajax('http://' . $_SERVER['HTTP_HOST'] . $_SERVER['SCRIPT_NAME'] . '?newsletter=0');
    $xajax->configureMany(array('characterEncoding' => 'ISO-8859-1', 'decodeUTF8Input' => true));
    
    $xajax->registerFunction('XAJAX_changeList');
    $xajax->processRequest();
    
    $design = new design ('Admins Area', 'Admins Area', 2);
    $design->header();
    
    if (isset($_POST['SEND']) and chk_antispam('newsletter', true)) {
        $mailopm = substr($_POST['auswahl'], 0, 1);
        $usrogrp = substr($_POST['auswahl'], 1, 1);
    
        if ($_POST['auswahl'] == 'Enews') {
            $q = "SELECT `email` FROM `prefix_newsletter`";
        } elseif ($usrogrp == 'u') {
            $q = "SELECT `email`,`name` as `uname`,`id` as `uid` FROM `prefix_user` WHERE `recht` <= '-1'";
        } elseif ($usrogrp == 'g') {
            $gid = substr ($_POST['auswahl'], 2 , strlen ($_POST['auswahl']) - 1);
            $q = "SELECT `b`.`email`, `b`.`name` as `uname`, `b`.`id` as `uid` FROM `prefix_groupusers` `a` LEFT JOIN `prefix_user` `b` ON `a`.`uid` = `b`.`id` WHERE `a`.`gid` = '$gid'";
        } elseif ($usrogrp == 'r') {
            $q = "SELECT `email`,`id` as `uid` FROM `prefix_user` WHERE `recht` ".(isset($_POST['andhigher']) ? '<' : '')."= '" . substr($_POST['auswahl'], 2, strlen($_POST['auswahl']) - 1) . "'";
        }
    
        $erg = db_query ($q);
    
        $zahler = 0;
    
        if (db_num_rows($erg) > 0) {
            if ($mailopm == 'E') {
            	$emails = array('bbc', $allgAr['adminMail']);
    			while ($row = db_fetch_object($erg)) {
    				if (!in_array($row->email, $emails) and preg_match('/^([a-z0-9])(([-a-z0-9._])*([a-z0-9]))*\@([a-z0-9])' .
    				'(([a-z0-9-])*([a-z0-9]))+' . '(\.([a-z0-9])([-a-z0-9_-])?([a-z0-9])+)+$/i', $row->email) == 1) {
    					$emails[] = $row->email;
    					$zahler++;
      				}
            	}
            	icmail ($emails , $_POST['bet'], $_POST['txt'], '', isset($_POST['html']));
            } elseif ($mailopm == 'P') {
            	$uids = array();
    			while ($row = db_fetch_object($erg)) {
                	$uids[] = $row->uid;
            		$zahler++;
            	}
    			sendpm($_SESSION['authid'], $uids, escape($_POST['bet'], 'string'), escape($_POST['txt'], 'string'), -1);
    		}
    
            if ($mailopm == 'E') {
                $eMailorPmsg = 'eMail(s)';
            } elseif ($mailopm == 'P') {
                $eMailorPmsg = 'Private Nachrichte(n)';
            }
    
            wd('admin.php?newsletter', 'Es wurde(n) ' . $zahler . ' ' . $eMailorPmsg . ' verschickt.', 5);
        } else {
            wd('admin.php?newsletter', 'F&uuml;r diese Auswahl konnte nichts gefunden werden.', 5);
        }
    } else {
        echo $xajax->printJavascript();
        $tpl = new tpl ('newsletter', 1);
        $tpl->set_out('antispam', get_antispam('newsletter', 0, true), 0);
    }
    
    $design->footer();
    
    ?>


    Nun muß ich noch gestehen das diese Seite www.ghv-nordheide.de nicht den BB 2.0 hat... nur deswegen keine Newsletter?


    Zuletzt modifiziert von DJ-Sweeper am 14.02.2014 - 18:06:34
    0 Mitglieder finden den Beitrag gut.
Geschlossen

Zurück zu HTML, PHP, SQL,...

Optionen: Bei einer Antwort zu diesem Thema eine eMail erhalten