mr-otin
September 23, 2013, 3:57pm
1
Hallo Leute,
ich habe ein Problem mit einem abgeänderten Kontaktformular. In der Testumgebung funktioniert es, aber nicht auf dem Webserver. Wenn ich dieses auf dem Webserver aufrufe, gibt es immer ein redirect auf die Startseite.
Konfig Testserver: XAMPP Vers. 1.7.7 (PHP Version 5.3.8), Shop CE 4.6.6_54646
Webserver: PHP Version 5.3.9-1~dotdeb.2, Shop CE 4.6.6_54646
Leider kann ich den Shop nicht in den Debugmodus nehmen, weil dieser Rund um die Uhr besucht ist. Wo kann ich jetzt am besten ansetzen?
MfG
Dave
Was sagt das Log? Wohl sehr schwer Dir zu helfen, ohne eine Zeile Code…
mr-otin
September 23, 2013, 4:26pm
3
Hallo.
/view/FuK.php
<?php
class FuK extends oxUBase
{
protected $_aUserData = null;
protected $_sStreet = null;
protected $_sZip = null;
protected $_sCity = null;
protected $_sContactSubject = null;
protected $_sVehicleBrand = null;
protected $_sVehicleModell = null;
protected $_sVehicleNo = null;
protected $_sYear = null;
protected $_sKey2 = null;
protected $_sKey3 = null;
protected $_sRim = null;
protected $_sPriceniv = null;
protected $_sTirebrand = null;
protected $_sTiresize = null;
protected $_sContactMessage = null;
protected $_oCaptcha = null;
protected $_blContactSendStatus = null;
protected $_sThisTemplate = 'page/info/FuK.tpl';
/**
* Current view search engine indexing state
*
* @var int
*/
protected $_iViewIndexState = VIEW_INDEXSTATE_NOINDEXNOFOLLOW;
/**
* Composes and sends user written message, returns false if some parameters
* are missing.
*
* @return bool
*/
public function send()
{
$aParams = oxConfig::getParameter( 'editval' );
// checking email address
if ( !oxUtils::getInstance()->isValidEmail( $aParams['oxuser__oxusername'] ) ) {
oxUtilsView::getInstance()->addErrorToDisplay( 'EXCEPTION_INPUT_NOVALIDEMAIL' );
return false;
}
// spam spider prevension
$sMac = oxConfig::getParameter( 'c_mac' );
$sMacHash = oxConfig::getParameter( 'c_mach' );
$oCaptcha = $this->getCaptcha();
if ( !$oCaptcha->pass( $sMac, $sMacHash ) ) {
// even if there is no exception, use this as a default display method
oxUtilsView::getInstance()->addErrorToDisplay( 'EXCEPTION_INPUT_WRONGCAPTCHA' );
return false;
}
$sSubject = oxConfig::getParameter( 'c_subject' );
if ( !$aParams['oxuser__oxfname'] || !$aParams['oxuser__oxlname'] || !$aParams['oxuser__oxusername'] || !$sSubject ) {
// even if there is no exception, use this as a default display method
oxUtilsView::getInstance()->addErrorToDisplay( 'EXCEPTION_INPUT_NOTALLFIELDS' );
return false;
}
$oLang = oxLang::getInstance();
$sMessage = $oLang->translateString( 'CONTACT_FROM' ) . " " .
$oLang->translateString( $aParams['oxuser__oxsal'] ) ." " .
$aParams['oxuser__oxfname'] . " " .
$aParams['oxuser__oxlname'] . "(" .$aParams['oxuser__oxusername'] . ")<br /><br />" .
nl2br( oxConfig::getParameter( 'c_message' ) );
$oEmail = oxNew( 'oxemail' );
if ( $oEmail->sendContactMail( $aParams['oxuser__oxusername'], $sSubject, $sMessage ) ) {
$this->_blContactSendStatus = 1;
}
}
/**
* Template variable getter. Returns entered user data
*
* @return object
*/
public function getUserData()
{
if ( $this->_oUserData === null ) {
$this->_oUserData = oxConfig::getParameter( 'editval' );
}
return $this->_oUserData;
}
/**
* Template variable getter. Returns entered Street
*
* @return object
*/
public function getStreet()
{
if ( $this->_sStreet === null ) {
$this->_sStreet = oxConfig::getParameter( 'c_street' );
}
return $this->_sStreet;
}
/**
* Template variable getter. Returns entered Zip
*
* @return object
*/
public function getZip()
{
if ( $this->_sZip === null ) {
$this->_sZip = oxConfig::getParameter( 'c_zip' );
}
return $this->_sZip;
}
/**
* Template variable getter. Returns entered City
*
* @return object
*/
public function getCity()
{
if ( $this->_sCity === null ) {
$this->_sCity = oxConfig::getParameter( 'c_city' );
}
return $this->_sCity;
}
/**
* Template variable getter. Returns entered contact subject
*
* @return object
*/
public function getContactSubject()
{
if ( $this->_sContactSubject === null ) {
$this->_sContactSubject = oxConfig::getParameter( 'c_subject' );
}
return $this->_sContactSubject;
}
/**
* Template variable getter. Returns entered Car
*
* @return object
*/
public function getCar()
{
if ( $this->_sVehicleBrand === null ) {
$this->_sVehicleBrand = oxConfig::getParameter( 'c_car' );
}
return $this->_sVehicleBrand;
}
/**
* Template variable getter. Returns entered Car
*
* @return object
*/
public function getCarModell()
{
if ( $this->_sVehicleModell === null ) {
$this->_sVehicleModell = oxConfig::getParameter( 'c_carmodell' );
}
return $this->_sVehicleModell;
}
/**
* Template variable getter. Returns entered Car
*
* @return object
*/
public function getCarNo()
{
if ( $this->_sVehicleNo === null ) {
$this->_sVehicleNo = oxConfig::getParameter( 'c_cartypeno' );
}
return $this->_sVehicleNo;
}
/**
* Template variable getter. Returns entered Car
*
* @return object
*/
public function getCarYear()
{
if ( $this->_sYear === null ) {
$this->_sYear = oxConfig::getParameter( 'c_year' );
}
return $this->_sYear;
}
/**
* Template variable getter. Returns entered Car
*
* @return object
*/
public function getKey2()
{
if ( $this->_sKey2 === null ) {
$this->_sKey2 = oxConfig::getParameter( 'c_key2' );
}
return $this->_sKey2;
}
/**
* Template variable getter. Returns entered Car
*
* @return object
*/
public function getKey3()
{
if ( $this->_sKey3 === null ) {
$this->_sKey3 = oxConfig::getParameter( 'c_key3' );
}
return $this->_sKey3;
}
/**
* Template variable getter. Returns entered Car
*
* @return object
*/
public function getRims()
{
if ( $this->_sRim === null ) {
$this->_sRim = oxConfig::getParameter( 'c_felgen' );
}
return $this->_sRim;
}
/**
* Template variable getter. Returns entered Car
*
* @return object
*/
public function getPriceniv()
{
if ( $this->_sPriceniv === null ) {
$this->_sPriceniv = oxConfig::getParameter( 'c_preisniv' );
}
return $this->_sPriceniv;
}
/**
* Template variable getter. Returns entered Car
*
* @return object
*/
public function getTirebrand()
{
if ( $this->_sTirebrand === null ) {
$this->_sTirebrand = oxConfig::getParameter( 'c_tirebrand' );
}
return $this->_sTyrebrand;
}
/**
* Template variable getter. Returns entered Car
*
* @return object
*/
public function getTiresize()
{
if ( $this->_sTiresize === null ) {
$this->_sTiresize = oxConfig::getParameter( 'c_tiresize' );
}
return $this->_sTiresize;
}
/**
* Template variable getter. Returns entered message
*
* @return object
*/
public function getContactMessage()
{
if ( $this->_sContactMessage === null ) {
$this->_sContactMessage = oxConfig::getParameter( 'c_message' );
}
return $this->_sContactMessage;
}
/**
* Template variable getter. Returns object of handling CAPTCHA image
*
* @return object
*/
public function getCaptcha()
{
if ( $this->_oCaptcha === null ) {
$this->_oCaptcha = oxNew('oxCaptcha');
}
return $this->_oCaptcha;
}
/**
* Template variable getter. Returns status if email was send succesfull
*
* @return object
*/
public function getContactSendStatus()
{
return $this->_blContactSendStatus;
}
/**
* Returns Bread Crumb - you are here page1/page2/page3...
*
* @return array
*/
/*public function getBreadCrumb()
{
$aPaths = array();
$aPath = array();
$aPath['title'] = oxLang::getInstance()->translateString( 'PAGE_INFO_CONTACT_TITLECONTACT1', oxLang::getInstance()->getBaseLanguage(), false );
$aPath['link'] = $this->getLink();
$aPaths[] = $aPath;
return $aPaths;
}*/
}
mr-otin
September 23, 2013, 4:31pm
4
Leider ist das posten von CODE hier so ne Sache. Es gibt eine Zeichenbegrenzung (10 000 per Post) das zerstückelt das Script .
Habe gerade mal ins Log geschaut, keine Einträge seit dem 03.07.2013, Habe den Code mal als Attachment an diesen Post dran gehängt.
MfG
Dave
Was sagt die EXCEPTION_LOG.txt unter /log ?
Und bitte auch hier nicht alles
mr-otin
September 23, 2013, 4:58pm
6
EXCEPTION_LOG.txt unter /log ? = keine Einträge seit dem 03.07.2013
sollte reichen @Jaiprucl :D, ich habe den Code hier angehängt http://forum.oxid-esales.com/showthread.php?p=132192#post132192
Gruß
Dave
Eigentlich eher unvorstellbar… wenn du einen Redirect auf die Startseite bekommst, müsste er auch was ins Log eintragen. So suchst du leider die Nadel im Heuhaufen… grad bei solch langen Formularen.
Ich hoffe du hast nicht in der Log Datei in der Testumgebung geguckt
mr-otin
September 24, 2013, 11:53am
8
Oh man, wer lesen kann ist klar im vorteil und wer scrollen kann auch!
oxSystemComponentException-oxException (time: 2013-09-24 00:18:14): [0]: EXCEPTION_SYSTEMCOMPONENT_CLASSNOTFOUND
Stack Trace: #0 /home/www/web3/html/466-shop/core/oxutilsobject.php(125): oxUtilsObject->_getObject('oxsystemcompone...', 0, Array)
#1 [internal function]: oxUtilsObject->oxNew('oxSystemCompone...')
#2 /home/www/web3/html/466-shop/core/oxfunctions.php(314): call_user_func_array(Array, Array)
#3 /home/www/web3/html/466-shop/core/oxutilsobject.php(115): oxNew('oxSystemCompone...')
#4 [internal function]: oxUtilsObject->oxNew('FuK')
#5 /home/www/web3/html/466-shop/core/oxfunctions.php(314): call_user_func_array(Array, Array)
#6 /home/www/web3/html/466-shop/views/oxshopcontrol.php(357): oxNew('FuK')
#7 /home/www/web3/html/466-shop/views/oxshopcontrol.php(309): oxShopControl->_initializeViewObject('FuK', NULL)
#8 /home/www/web3/html/466-shop/views/oxshopcontrol.php(114): oxShopControl->_process('FuK', NULL)
#9 /home/www/web3/html/466-shop/modules/1stposition/savereferer/core/savereferer_oxShopControl.php(52): oxShopControl->start()
#10 /home/www/web3/html/466-shop/index.php(103): savereferer_oxShopControl->start()
#11 {main}
Faulty component --> fuk
gruß Dave
Ich denke es liegt daran dass unter Windows FuK==fuk, aber unter Unix FuK!=fuk, ich würde es konsequent kleinschreiben.
Jup, wäre jetzt auch mein erster Gedanke gewesen… Dank Case sensitivity hab ich mir auch schon den einen oder anderen Bock geschossen
mr-otin
September 26, 2013, 8:23am
11
Guten Morgen leofonic, Jaiprucl,
danke erst einmal für den Hinweis! Leider habe ich das ganze noch nicht ausprobiert, werde es aber im Laufe des Tages testen und hier Rückmeldung geben. Eine Frage habe ich aber noch dazu. Wie kann ich dieses Formular in der Navigation einbinden?
MfG
Dave
mr-otin
September 26, 2013, 8:38am
12
Jo, den Bock habe ich auch geschossen! Es funktioniert!
Ich habe die Dateinamen sowie die Übergabe des Hiddenfields klein geschrieben und es läuft.
Jetzt fehlt mir nur noch ein Tip mit der Navigation. Ich danke euch beiden schon mal im Voraus!!
MfG
Dave
Ich gehe jetzt mal davon aus, dass du das Formuar verlinken willst und nicht direkt einbetten oder
Das ganze bindest du in der widget/header/categorylist.tpl ein. Bin jetzt aber leider bei der Arbeit, deswegen kann ich nix genaueres sagen ^^
mr-otin
September 26, 2013, 3:57pm
14
Ja eine verlinkung ist ausreichend!
MfG
Dave
erstelle eine Kategorie und trage der den Link ein
mr-otin
September 26, 2013, 4:55pm
16
Hallo Ray,
URL fixiert und dann die komplette url?
MfG
Dave
ja, der erwartet an der Stelle ja einen externen Link
mr-otin
September 27, 2013, 9:10am
18
Ein großes dankeschön an die Helfer!
MfG
Dave