Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
Kommentar vom Moderator masterG am 18.01.2010 um 19:38:42 Uhr
Ich hab mir erlaubt deinen Code in einen Codeblock zu packen
GELÖST

Fatal error Cannot access empty property in

Frage Entwicklung PHP

Mitglied: eXtremeTK

eXtremeTK (Level 1) - Jetzt verbinden

13.01.2010, aktualisiert 18.01.2010, 8108 Aufrufe, 7 Kommentare

Emailversand aus Contenido (CMS) über PHP Datei fehlerhaft

Moin Zusammen!

Ich habe mit Hilfe dieses Forums einen Webserver installiert. Funktioniert wirklich sehr gut und
läuft zudem auch stabil. Ist ein Debian Lenny + ISQ Config 3.

In dem CMS System (Contenido benutze ich) kann ich Emails versenden. Dafür ist ein bestimmtes
Formular hinterlegt. Es gibt mehrere Arten des Emailversandes.
Normalerweise ist dort "sendmail" ausgewählt. Da der Server jedoch in unserem Netzwerk steht möchten
wir das SMTP Protokoll benutzen. Sobald ich jedoch auf SMTP umstelle und alle Daten hinterlege erscheint
folgender Fehler nach dem Versand des Formulars im FrontEnd:

01.
Fatal error: Cannot access empty property in /var/www/clients/client1/web1/web/cms/front_content.php(1006) : eval()'d code on line 750
In Zeile 750 steht dann folgendes:

01.
  
02.
/* Check if category is public *
03.
$sql = "SELECT public FROM ".$cfg["tab"]["cat_lang"]." WHERE idcat='".Contenido_Security::toInteger($idcat)."' AND idlang='".Contenido_Security::toInteger($lang)."'"
04.
$db->query($sql); 
05.
$db->next_record(); 
06.
 
07.
$public = $db->f("public");
Kann damit jemand etwas anfangen oder benötigt Ihr dafür die ganze front_content.php?

LG Tobias
Mitglied: nxclass
13.01.2010 um 08:11 Uhr
eval()'d code on line 750
kann es sein, dass Du an der falschen Stelle den Fehler suchst !?
Bitte warten ..
Mitglied: eXtremeTK
13.01.2010 um 09:22 Uhr
Hm, das sind jedoch die Zeilen rund um die Zeile 750. Gehe davon aus, dass die PHP Datei
Fehlerhaft ist, die er anzeigt oder könnte das auch eine andere sein, wo die Mailkonfiguration
Standardmäßig abgelegt ist?

Gruß
Bitte warten ..
Mitglied: dog
13.01.2010 um 10:15 Uhr
Das eval() sagt eigentlich schon, dass du die Stelle nicht finden können wirst (zumindest nicht ohne Xdebug).
Auch ist die relevante Zeile nicht 750 sondern 1006.

Ich würde mich in so einem Fall an die Entwickler wenden, weil das nach einem Bug aussieht.

Grüße

Max
Bitte warten ..
Mitglied: nxclass
13.01.2010 um 10:34 Uhr
geh mal in die Zeile 1006 - da sollte ein eval() Befehl stehen - vor diesem Befehl kannst Du ja mal den Parameter ausgeben welcher dem eval() übergeben wird.
Wenn jetzt der Code angezeigt wird - kannst Du mal in die Zeile 750 schauen.

Vermutlich ist dort ein Zugriff auf eine Objekteigenschaft (Objekt Variablen), welche protected oder private ist.

Evtl. prüfst Du mal deine PHP Version und die von deiner Contenido Version (bzw. des entsprechenden Plugins) ab.

EDIT: hier ein Link zum deutschen Forum - mit Lösung !?
http://forum.contenido.org/viewtopic.php?f=62&t=23431&p=128899& ...
Bitte warten ..
Mitglied: eXtremeTK
13.01.2010 um 10:39 Uhr
Hi Max. Danke das du mich eben mit den Zeilen aufgeklärt hast!
Beim Entwickler nachfragen ist schwierig, da bis jetzt ein externer Dienstleister die Seite entwickelt
hat, jedoch immer andere Freiberufler beschäftigt, somit nicht selber programmiert.
Muss nun erstmal schauen, wer der Entickler von dem Modul ist.

Beste Grüße
Tobias
Bitte warten ..
Mitglied: eXtremeTK
13.01.2010 um 10:48 Uhr
Moin.
Wie lasse / bzw. wie muss ich vorgehen um den Parameter ausgegeben zu bekommen?
Und zu welchem Zeitpunkt muss ich in die Zeile 750 schauen? Muss ich das im Linux per Kommandozeile machen
oder die Datei dann per FTP wieder runterladen?

Meine PHP Version ist neuer als die Version auf dem Server, jedoch funktioniert die SMTP Einstellung ebenfalls
auch nicht im Internet auf dem Hetzner Server, wo die Homepage im moment noch läuft. Das ist dort eine ältere
PHP Version, aber wie gesagt, dort erhalte ich den gleich Fehler wie auf meinem Debian Lenny + ISP Config System.


Richtig habe den eval() Befehl gefunden:

$aExclude = explode(',', getEffectiveSetting('frontend.no_outputbuffer', 'idart', ''));
if (in_array(Contenido_Security::toInteger($idart), $aExclude)) {
eval ("?>\n".$code."\n<?php\n");
} else {
write html output into output buffer and assign it to an variable
ob_start();
eval ("?>\n".$code."\n<?php\n");
$htmlCode = ob_get_contents();
ob_end_clean();

process CEC Hook to do some preparations before output
$htmlCode = CEC_Hook::execute('Contenido.Frontend.HTMLCodeOutput', $htmlCode);

#If chain execution return value is an array
if (is_array($htmlCode)) {
$htmlCode = $htmlCode[0];
}

// print output
echo $htmlCode;
}

}
}
else
{
                  1. if user is in the backend display offline articles
                  if ($contenido)
                  {
                  eval ("?>\n".$code."\n<?php\n");
                  }
                  else
                  {
                  if ($error == 1)
                  {
                  echo "Fatal error: Could not display error page. Error to display was: 'No contenido session variable set. Probable error cause: Start article in this category is not > set on-line.'";
                  }
                  else
                  {
                  header($errsite);
                  }
                  }
                  }
                  }


Habe nun nocheinmal im Code des Moduls nachgeschaut. Danke auch nochmal für deinen Link zum deutschen Forum.
Bei mir sieht das Modul jedoch deutlich anders aus. Komischerweise, denn mein Modul ist ebenfalls vom gleichen
Entwickler und auch in der Version 1.0

Hier ein Teil unseres Modulcodes:

$mail->From = "CMS_VALUE[0]";
$mail->FromName = "CMS_VALUE[2]";
$mail->AddAddress("CMS_VALUE[1]", "");
$mail->Subject = "CMS_VALUE[3]";
$mail->Body = $mail_body;
$mail->WordWrap = 50;
$mail->Send();


Bei dem Modul im Beispiel sieht es so aus:

$mail->From = "CMS_VALUE[0]";
$mail->FromName = "CMS_VALUE[2]";
$mail->Sender = "info@xxxxxx.de";
$mail->AddReplyTo($_POST['EMail'], $vorname." ".$nachname);
$mail->AddAddress("CMS_VALUE[1]", "");
$mail->AddCC($_POST['Email'], $vorname." ".$nachname);
$mail->Subject = "CMS_VALUE[3]";
$mail->Body = $mail_body;
$mail->WordWrap = 50;
$mail->Send();
Bitte warten ..
Mitglied: eXtremeTK
22.01.2010 um 20:14 Uhr
Moin Zusammen.

Ich habe mitlerweile den Fehler gefunden. Es lag an einer falschen Einstellung im Postfix-Mailserver, welche bei Debian Lenny + ISP Config mit installiert wurde.
Dort waren die SMTP Einstellungen falsch eingetragen, daraus reproduzierte sich immer dieser Fehler beim Absenden des Formulars.

Euch vielen DANK für die Hilfe!
Bitte warten ..
Ähnliche Inhalte
Exchange Server
Exhange 2016 bringt bei Server 2012 R2 MSDTC Error bei prüfung Requesites (1)

Frage von rainergugus zum Thema Exchange Server ...

Microsoft Office
Access 2016 Profi zur Hilfe gesucht

Frage von dtbsys zum Thema Microsoft Office ...

Datenbanken
Access 2016 vertauscht Monat und Tag in meiner CSV Datei (1)

Frage von iGordon zum Thema Datenbanken ...

LAN, WAN, Wireless
Endgeräte wechseln zwischen zwei Access Points hin und her (15)

Frage von Uwoerl zum Thema LAN, WAN, Wireless ...

Neue Wissensbeiträge
Sicherheits-Tools

Sicherheitstest von Passwörtern für ganze DB-Tabellen

(1)

Tipp von gdconsult zum Thema Sicherheits-Tools ...

Peripheriegeräte

Was beachten bei der Wahl einer USV Anlage im Serverschrank

(9)

Tipp von zetboxit zum Thema Peripheriegeräte ...

Windows 10

Das Windows 10 Creators Update ist auf dem Weg

(6)

Anleitung von BassFishFox zum Thema Windows 10 ...

Heiß diskutierte Inhalte
Batch & Shell
gelöst ZIP-Archive nach Dateien durchsuchen und Pfade ausgeben (33)

Frage von evinben zum Thema Batch & Shell ...

Router & Routing
Routingproblem in Homerouter-Kaskade mit Raspi (20)

Frage von Oldschool zum Thema Router & Routing ...

Server
Freenas schlechte Schreib Performance bei NFS (16)

Frage von janosch12 zum Thema Server ...

C und C++
Methode multiple return values (8)

Frage von mayho33 zum Thema C und C ...