Login Retreive lost passwordRegister
Search

Forum Index / NL Forum / BUG: bij plakken / table invoeren

[ This topic is solved ]

  Roger Beckers 17 June 10 / 21:04  
Beste forumleden,

Als ik tekst plak of een table invoeg bij het aanmaken van een nieuwe pagina wordt deze niet opgeslagen. Wanneer ik gewoon tekst typ wordt dit wel opgeslagen.

Hieronder zien jullie mijn code :



$active =    array(    "0" => "Zichtbaar op de website", 
                                        "1" => "Niet zichtbaar op de website"); 
        
        $static =    array(    "0" => "Wel te verwijderen (aanbevolen)", 
                                        "1" => "Niet te verwijderen"); 
   
        $form =& new FormHandler(); 
        $form->setMask("<tr><td>%title% %seperator%</td>\n"."  <td>%field% %error%</td></tr>\n",true);
          $form->textField("Naam pagina", "name", FH_STRING); 
          $form->textField("Zoekwoorden", "keywords", FH_STRING,100); 
          $form->selectField("Pagina", "active", $active, null, true);
          $form->addValue('date',date('Y-m-d H:i:s'));
          
          /**
           * Hoofdbeheer heeft meer rechten 
           */
          if($user->getUserInfo('groupid') >= 15000){
              $form->selectField("Pagina", "static", $static, null, true);
          }
          
          $form->selectField("Subcategorie", "parentid", $buildMenu->showMenu('arrayformaat'), null, true); 
        $form->editor("Omschrijving pagina", "text", null, "../../uploads/pages"); 
        
        $form->addValue('date',date('Y-m-d H:i:s'));
        $form->submitButton("Opslaan");  
        $form->onCorrect("insertPage"); 
        
        $html = $form->flush( true );
        
        /**
         * assign too smarty
         */        
        $smarty->assign('aPageTitle','Pagina toevoegen');        
         $smarty->assign('content',$html);         

  Johan Wiegel (Admin) 17 June 10 / 21:19  
en hoe ziet de insertPage functie eruit dan?
want daar wordt het opslaan gedaan.

  Roger Beckers 17 June 10 / 21:22  

/**
 * Functions FormHandler
 * Pagina toevoegen
 */
function insertPage($data){
    require_once(_PATH_DOCUMENT_ROOT_BEHEER.'/includes/functions/functions.php');
    
    $database     = new dbClass();
    $user        = new user($database);
    //echo $data['parentid'];
    
    $upperParentId =  getParentId($data['parentid'],$database);
    
    $sSql = "SELECT groupid FROM menu WHERE id='".$upperParentId."'";
    $aGroupid = $database->fetchResult( $database->execQuery($sSql));;
    $aGroupid = $aGroupid[0];
    /**
     * Ordering selecteren en berekenen voor het nieuwe record
     */
    $sSql = 'SELECT MAX(ordering) AS `orderingsnr` FROM menu LIMIT 0,1';
    $aOrderingsnr = $database->fetchResult( $database->execQuery($sSql));;
    $aOrderingsnr = $aOrderingsnr[0];
    $aOrderingsnr = $aOrderingsnr['orderingsnr']+1;
    
    $safe_link_name = friendlylinkname($data['name']);
    
        
    if($data['parentid']!=0){
        $parentUpperId =  getParentId($data['parentid'],$database);
    }else{
        $parentUpperId = 0;
    }
    

    
    $sSql = 'SELECT * FROM menu WHERE friendlylinkname="'.$safe_link_name.'"';
    $aCheck = $database->fetchResult( $database->execQuery($sSql));
    $aCheck = $aCheck[0];
    
    if(empty($aCheck)){
        $sSql = 'INSERT INTO menu (name,text,ordering,keywords,friendlylinkname,active,static,date,parentid,parentUpperId)
                                        values ("'.$data['name'].'",
                                                "'.$data['text'].'",
                                                "'.$aOrderingsnr.'",
                                                "'.$data['keywords'].'",
                                                "'.$safe_link_name.'",
                                                "'.$data['active'].'",
                                                "'.$data['static'].'",
                                                "'.$data['date'].'",
                                                "'.$data['parentid'].'",
                                                "'.$parentUpperId.'")';
        $database->execQuery($sSql);
    
        header('refresh:2;url='._SYSTEM_URL_BEHEER.'/index.php?module=pages');
      
          return 'De gegevens zijn opgeslagen ';
    }else{
        return 'De gegevens <b>niet</b> zijn opgeslagen, u heeft al een pagina met die naam.';
        
    }
}

  Johan Wiegel (Admin) 17 June 10 / 21:37  
van welke type is het veld text in je database?
Wat doet de functie execQuery eventueel nog met de query?

Laat ik kort en duidelijk zijn het ligt niet aan FormHandler, een standaard download doet het goed.
Heb je aanpassingen gemaakt aan de FCKeditor configuratie?

doe eens een print_r( $data ) boven in je functie om te zien of de tabel er dan nog wel in zit

  Roger Beckers 17 June 10 / 21:44  
Als het goed is doet de execQuery niets anders dan het invoeren van de data dat weet ik zeker. Verder is het type van het veld 'Text'.

  Roger Beckers 17 June 10 / 21:45  
Daarbij heb ik laatst de volledige formhandler geupdate naar standaard maar toch blijft dit probleem zich voor doen.

  Johan Wiegel (Admin) 17 June 10 / 21:55  
wat laat een print_r van $data zien?

  Remco van Arkelen (Admin) 18 June 10 / 09:59  
Maak je misschien gebruik van Apache i.c.m. mod_security? Het wil nl. wel eens voorkomen dat deze roet in het eten gooit bij geposte data, als beveiliging tegen injecties. Probeer in dit geval dan eens het volgende in een .htaccess bestand te zetten:

<IfModule mod_security.c>
SecFilterEngine Off
SecFilterScanPOST Off
</IfModule>

  Top


powered by PHP-GLOBE   © 2004 - 2012 FormHandler. All rights reserved.   -   Open source license