eMail Versand - ungültiger Seitenaufruf

Hast du einen Fehler in der aktuellen Version gefunden ? Diesen kannst du uns hier mitteilen und uns bei der Fehlersuche helfen.
gandus
Beiträge: 19
Registriert: 4. Apr 2009, 01:35

eMail Versand - ungültiger Seitenaufruf

Beitrag von gandus »

Hallo zusammen,

gibt es Kenntnisse über ein Problem beim versenden von Mails von "nicht eingeloggten" Besuchern z.b. an den Webmaster in der Kategorie "allgemein" mit der Fehlermeldung - ungültiger Seitenaufruf! -

Hab auch versucht an eine Rolle mit einem Nutzer (nicht Webmaster) zu senden, da kommt auch die Fehlermeldung.

Diverse kombinationen als "eingeloggter Nutzer" funktioniert auch nicht. Kann dazu jemand was sagen???

Ich hab die 2.10 installiert per Update genau nach Anweisung. Ich kann jetzt aber nicht sagen ob das vorher funktioniert hatte. Ich hatte die 2.09 erst seit letzter Woche installiert und diese Funktion nicht getestet.

Danke schon mal für eure Mühe, macht weiter so, ich find die Mitgliederverwaltung einfach spitze.

Schöne Grüße
Michael
milkaman
Former team member
Beiträge: 129
Registriert: 22. Feb 2006, 18:07

Beitrag von milkaman »

Hallo Michael,

das ist ein Fehler bei der "Rechteprüfung". BUG ist erfasst und gefixt.

Hier die Lösung, falls du es schon mal selber fixen willst:

In der Datei .../adm_program/modules/mail/mail_send. php ab Zeile 169 findest du folgenden Code:

Code: Alles auswählen

    if ($g_valid_login == true && $role->getValue("rol_mail_this_role") == 2)
    {
        $g_message->show("invalid");
    }
    
    if ($g_valid_login == false && $role->getValue("rol_mail_this_role") == 3)
    {
        $g_message->show("invalid");
    }
Die Bedingungen in den beiden IF Statements müssen korrigiert werden. Fertig sieht das dann so aus:

Code: Alles auswählen

    if ($g_valid_login == true && $role->getValue("rol_mail_this_role") < 1)
    {
        $g_message->show("invalid");
    }
    
    if ($g_valid_login == false && $role->getValue("rol_mail_this_role") != 3)
    {
        $g_message->show("invalid");
    }
Gruß

Roland
Zuletzt geändert von milkaman am 5. Apr 2009, 10:39, insgesamt 1-mal geändert.
gandus
Beiträge: 19
Registriert: 4. Apr 2009, 01:35

Beitrag von gandus »

Guten morgen Roland,

vielen Dank auch für diesen FIX, aber verrätst mir noch die genaue Datei?

Die Datei xxx kann ich nicht finden. :lol:

Danke und einen schönen Sonntag.

Gruß Michael
milkaman
Former team member
Beiträge: 129
Registriert: 22. Feb 2006, 18:07

Beitrag von milkaman »

Hallo Michael,

danke für den Hinweis.

Die Datei heisst:

.../adm_program/modules/mail/mail_send. php

Gruß

Roland
gandus
Beiträge: 19
Registriert: 4. Apr 2009, 01:35

Beitrag von gandus »

Hallo Roland,

nach der Änderung fängt die Datenbank zu spinnen an.
Folgende Meldung kommt nach Absenden einer eMail an den Webmaster als nicht eingeloggter Besucher:

S Q L - E R R O R

CODE: 1064

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 22

B A C K T R A C E


FILE: adm_program/system/db/mysql.php
LINE: 193
CALL: DB->db_error()

FILE: adm_program/system/db/mysql.php
LINE: 77
CALL: MySqlDB->db_error()

FILE: adm_program/modules/mail/mail_send.php
LINE: 221
CALL: MySqlDB->query()

*** ENDE ***

Stimmt doch noch was nicht???

Vielleicht kannst nochmal gucken!!!

Danke und Gruß Michael
gandus
Beiträge: 19
Registriert: 4. Apr 2009, 01:35

Beitrag von gandus »

Hallo Roland,

habt ihr schon Kenntnisse wo der S Q L - E R R O R herkommen könnte?

Oder hab ich was falsch gemacht? Ich hab eigentlich nur deine Anweisungen mit dem ändern der Datei .../adm_program/modules/mail/mail_send. php befolgt und dann kommt der Fehler wie eins höher beschrieben.

Gib doch kurz bescheid ob daran noch gearbeitet wird, oder ob ihr noch irgendwelche weiteren Infos braucht.

Gruß Michael
Benutzeravatar
fasse
Administrator
Beiträge: 6132
Registriert: 12. Nov 2005, 16:06

Beitrag von fasse »

Hallo Gandus,

der Fehler ist auch bereits gefunden.

Du musst in derselben Datei so ab ca. Zeile 206 das komplette SQL-Statement $sql= ... durch folgenden Code ersetzen :

Code: Alles auswählen

    // Rolle wurde uebergeben, dann an alle Mitglieder aus der DB fischen (ausser dem Sender selber)
    $sql   = "SELECT first_name.usd_value as first_name, last_name.usd_value as last_name, 
                     email.usd_value as email, rol_name
                FROM ". TBL_ROLES. ", ". TBL_CATEGORIES. ", ". TBL_MEMBERS. ", ". TBL_USERS. "
                JOIN ". TBL_USER_DATA. " as email
                  ON email.usd_usr_id = usr_id
                 AND email.usd_usf_id = ". $g_current_user->getProperty("E-Mail", "usf_id"). "
                 AND LENGTH(email.usd_value) > 0
                LEFT JOIN ". TBL_USER_DATA. " as last_name
                  ON last_name.usd_usr_id = usr_id
                 AND last_name.usd_usf_id = ". $g_current_user->getProperty("Nachname", "usf_id"). "
                LEFT JOIN ". TBL_USER_DATA. " as first_name
                  ON first_name.usd_usr_id = usr_id
                 AND first_name.usd_usf_id = ". $g_current_user->getProperty("Vorname", "usf_id"). "
               WHERE rol_id      = ". $_POST['rol_id']. "
                 AND rol_cat_id  = cat_id
                 AND cat_org_id  = ". $g_current_organization->getValue("org_id"). "
                 AND mem_rol_id  = rol_id
                 AND mem_begin  <= '".DATE_NOW."'
                 AND mem_end     > '".DATE_NOW."'
                 AND mem_usr_id  = usr_id
                 AND usr_valid   = 1";
	// Wenn der User eingeloggt ist, wird die UserID im Statement ausgeschlossen, 
	//damit er die Mail nicht an sich selber schickt.
	if ($g_valid_login)
	{
		$sql =$sql. "AND usr_id     <> ". $g_current_user->getValue("usr_id");
    } 
Gruß
Fasse
gandus
Beiträge: 19
Registriert: 4. Apr 2009, 01:35

Beitrag von gandus »

Danke Fasse für die schnelle Lösung.

Code ersetzt und alles funktioniert.

DANKE DANKE DANKE!!!

Gruß Michael
maki
Beiträge: 25
Registriert: 3. Mär 2009, 18:47

Beitrag von maki »

Also bei mir meldet sich mit beiden Änderungen immer noch eine SQL Fehlermeldung



S Q L - E R R O R

CODE: 1064
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'usr_id <> 1' at line 21

B A C K T R A C E

FILE: adm_program/system/db/mysql.php
LINE: 193
CALL: DB->db_error()

FILE: adm_program/system/db/mysql.php
LINE: 77
CALL: MySqlDB->db_error()

FILE: adm_program/modules/mail/mail_send.php
LINE: 226
CALL: MySqlDB->query()
gandus
Beiträge: 19
Registriert: 4. Apr 2009, 01:35

Beitrag von gandus »

Ich muß leider MAKI recht geben, der BUG ist noch nicht behoben.

Auch beim Senden einer Mail aus dem MAIL-MODUL eines eingeloggten Users an eine Rolle scheitert mit folgender Fehlermeldung:

S Q L - E R R O R

CODE: 1064

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'usr_id <> 1' at line 21

B A C K T R A C E


FILE: adm_program/system/db/mysql.php
LINE: 193
CALL: DB->db_error()

FILE: adm_program/system/db/mysql.php
LINE: 77
CALL: MySqlDB->db_error()

FILE: adm_program/modules/mail/mail_send.php
LINE: 233
CALL: MySqlDB->query()

***ENDE***

Die Änderungen wie oben beschrieben habe ich eingepflegt. Vielleicht könntet ihr dort nochmal angreifen und uns einen Lösungsvorschlag nennen.

Danke schon mal für eure Mühe.
Gruß Michael
Benutzeravatar
fasse
Administrator
Beiträge: 6132
Registriert: 12. Nov 2005, 16:06

Beitrag von fasse »

Hallo Gandus,

da ist wohl beim Beheben des Bugs ein neuer Fehler hineingekommen ...

Bitte in der Datei adm_program/modules/mail/mail_send.php Zeile 232 durch folgende ersetzen:

Code: Alles auswählen

		$sql =$sql. " AND usr_id     <> ". $g_current_user->getValue("usr_id");
Hier ist nur ein Leerzeichen dazugekommen, aber das macht den Unterschied.

Gruß
Fasse
gandus
Beiträge: 19
Registriert: 4. Apr 2009, 01:35

Beitrag von gandus »

Hallo Fasse,

was so ein Leerzeichen ausmachen kann, kaum zu glauben, aber im nachhinein logisch.

*** Jetzt funktionierts ***

Danke für´s schnelle erledigen.

Gruß Michael
Benutzeravatar
fasse
Administrator
Beiträge: 6132
Registriert: 12. Nov 2005, 16:06

Beitrag von fasse »

Ich hab es jetzt noch nachträglich in die 2.1.1 eingebaut.
gandus
Beiträge: 19
Registriert: 4. Apr 2009, 01:35

Beitrag von gandus »

Gibt es auch eine Update-Anleitung von 2.1.0 auf 2.1.1 ???

Gruß Michael
matzman2000
Former team member
Beiträge: 1087
Registriert: 2. Sep 2007, 17:12
Wohnort: Itzstedt
Kontaktdaten:

Beitrag von matzman2000 »

Hallo Michael,

da es sich um eine Bugfixversion handelt gilt die allg. Updateanleitung: Klick

Gruss,
Matze
Antworten