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, 8078 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 ..
Neuester Wissensbeitrag
CPU, RAM, Mainboards

Angetestet: PC Engines APU 3a2 im Rack-Gehäuse

(1)

Erfahrungsbericht von ashnod zum Thema CPU, RAM, Mainboards ...

Ähnliche Inhalte
LAN, WAN, Wireless
Access Point: Ubiquiti UAP AC PRO Einschätzung Reichweite (1)

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

LAN, WAN, Wireless
Freifunk über vorhandene Access Points ausstrahlen (2)

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

Windows Netzwerk
Direct Access mit VPN aufbau (6)

Frage von geocast zum Thema Windows Netzwerk ...

Windows 8
gelöst Active Directory Default User.v2 Profile - Windows 8.1 Apps Error (4)

Frage von adm2015 zum Thema Windows 8 ...

Heiß diskutierte Inhalte
Switche und Hubs
Trunk für 2xCisco Switch. Wo liegt der Fehler? (14)

Frage von JayyyH zum Thema Switche und Hubs ...

DSL, VDSL
DSL-Signal bewerten (13)

Frage von SarekHL zum Thema DSL, VDSL ...

Windows Server
Mailserver auf Windows Server 2012 (9)

Frage von StefanT81 zum Thema Windows Server ...