A voir également:
- Le sauvegarde des enregistrements en joomla
- Sauvegarde steam ✓ - Forum Steam
- Sauvegarde android - Guide
- Code de sauvegarde discord - Forum Messagerie
- Effacer sauvegarde pokemon y ✓ - Forum DS
- Enregistrer le son du pc - Guide
5 réponses
Bonjour à tous,
même problème : le bouton "Sauver" et "Appliquer" me renvoie à la page de login administrateur, au lieu de retourner à la liste des enregistrements. La suppression fonctionne.
Le message est un peu ancien, mais si quelqu'un passe par là et a une solution...
même problème : le bouton "Sauver" et "Appliquer" me renvoie à la page de login administrateur, au lieu de retourner à la liste des enregistrements. La suppression fonctionne.
Le message est un peu ancien, mais si quelqu'un passe par là et a une solution...
sho
Messages postés
181
Date d'inscription
jeudi 18 octobre 2007
Statut
Membre
Dernière intervention
11 février 2010
49
3 févr. 2009 à 13:59
3 févr. 2009 à 13:59
Bonjour ,
cela provient peut-être de la durée de vie du cache limitée par défaut à 15 minutes ;
Donc si en Admin tu bosses + de 15 mn avant d'enregistrer , retour à l'écran de connexion ....
Pour changer , se connecter en Admin , configuration , onglet Système , et partie à droite , cadre paramètres du cache , rentrer une durée au choix -
A tester
Cordialement
Shô
cela provient peut-être de la durée de vie du cache limitée par défaut à 15 minutes ;
Donc si en Admin tu bosses + de 15 mn avant d'enregistrer , retour à l'écran de connexion ....
Pour changer , se connecter en Admin , configuration , onglet Système , et partie à droite , cadre paramètres du cache , rentrer une durée au choix -
A tester
Cordialement
Shô
Bonjour,
j'ai le défaut immédiatement, dès que je me connecte, et cela fonctionne si je supprime un enregistrement, c'est seulement si je veux sauvegarder ou appliquer. Voici mon code :
<?php
defined( '_JEXEC' ) or die( 'Restricted access' );
require_once( JApplicationHelper::getPath( 'admin_html' ) );
JTable::addIncludePath(JPATH_COMPONENT.DS.'tables');
switch($task)
{
case 'edit':
case 'add':
editAgent( $option );
break;
case 'apply':
case 'save':
sauveAgent( $option, $task );
break;
case 'remove':
supAgent( $option );
break;
default:
listeAgents( $option );
break;
}
function editAgent( $option )
{
$row =& JTable::getInstance('annuaire', 'Table');
$cid = JRequest::getVar( 'cid', array(0), '', 'array' );
$id = $cid[0];
$row->load($id);
HTML_annuaire::editAgent($row, $lists, $option);
}
function sauveAgent( $option, $task )
{
global $mainframe;
$row =& JTable::getInstance('annuaire', 'Table');
if (!$row->bind(JRequest::get('post')))
{
echo "<script> alert('".$row->getError()."'); window.history.go(-1); </script>\n";
exit();
}
if (!$row->store())
{
echo "<script> alert('".$row->getError()."'); window.history.go(-1); </script>\n";
exit();
}
switch ($task)
{
case 'apply':
$msg = 'Modification effectuée';
$link = 'index.php?option=' . $option . '&task=edit&cid[]='. $row->id;
break;
case 'save':
default:
$msg = 'Enregistrement sauvegardé';
$link = 'index.php?option=' . $option;
break;
}
$mainframe->redirect($link, $msg);
}
function listeAgents( $option )
{
$db =& JFactory::getDBO();
$query = "SELECT * FROM #__agents";
$db->setQuery( $query );
$rows = $db->loadObjectList();
if ($db->getErrorNum()) {
echo $db->stderr();
return false;
}
HTML_annuaire::listeAgents( $option, $rows );
}
function supAgent( $option )
{
global $mainframe;
$cid = JRequest::getVar( 'cid', array(), '', 'array' );
$db =& JFactory::getDBO();
if(count($cid))
{
$cids = implode( ',', $cid );
$query = "DELETE FROM #__agents WHERE id IN ( $cids )";
$db->setQuery( $query );
if (!$db->query())
{
echo "<script> alert('".$db->getErrorMsg()."');
window.history.go(-1); </script>\n";
}
}
$mainframe->redirect( 'index.php?option=' . $option );
}
?>
j'ai le défaut immédiatement, dès que je me connecte, et cela fonctionne si je supprime un enregistrement, c'est seulement si je veux sauvegarder ou appliquer. Voici mon code :
<?php
defined( '_JEXEC' ) or die( 'Restricted access' );
require_once( JApplicationHelper::getPath( 'admin_html' ) );
JTable::addIncludePath(JPATH_COMPONENT.DS.'tables');
switch($task)
{
case 'edit':
case 'add':
editAgent( $option );
break;
case 'apply':
case 'save':
sauveAgent( $option, $task );
break;
case 'remove':
supAgent( $option );
break;
default:
listeAgents( $option );
break;
}
function editAgent( $option )
{
$row =& JTable::getInstance('annuaire', 'Table');
$cid = JRequest::getVar( 'cid', array(0), '', 'array' );
$id = $cid[0];
$row->load($id);
HTML_annuaire::editAgent($row, $lists, $option);
}
function sauveAgent( $option, $task )
{
global $mainframe;
$row =& JTable::getInstance('annuaire', 'Table');
if (!$row->bind(JRequest::get('post')))
{
echo "<script> alert('".$row->getError()."'); window.history.go(-1); </script>\n";
exit();
}
if (!$row->store())
{
echo "<script> alert('".$row->getError()."'); window.history.go(-1); </script>\n";
exit();
}
switch ($task)
{
case 'apply':
$msg = 'Modification effectuée';
$link = 'index.php?option=' . $option . '&task=edit&cid[]='. $row->id;
break;
case 'save':
default:
$msg = 'Enregistrement sauvegardé';
$link = 'index.php?option=' . $option;
break;
}
$mainframe->redirect($link, $msg);
}
function listeAgents( $option )
{
$db =& JFactory::getDBO();
$query = "SELECT * FROM #__agents";
$db->setQuery( $query );
$rows = $db->loadObjectList();
if ($db->getErrorNum()) {
echo $db->stderr();
return false;
}
HTML_annuaire::listeAgents( $option, $rows );
}
function supAgent( $option )
{
global $mainframe;
$cid = JRequest::getVar( 'cid', array(), '', 'array' );
$db =& JFactory::getDBO();
if(count($cid))
{
$cids = implode( ',', $cid );
$query = "DELETE FROM #__agents WHERE id IN ( $cids )";
$db->setQuery( $query );
if (!$db->query())
{
echo "<script> alert('".$db->getErrorMsg()."');
window.history.go(-1); </script>\n";
}
}
$mainframe->redirect( 'index.php?option=' . $option );
}
?>
Bon je crois que j'ai trouvé : en fait il n'aime pas les caractères accentués dans $msg (effectué, sauvegardé,...), en effet si je les enlève cela fonctionne, ou bien je remplace le é par & + eacute";
Bonne continuation.
Bonne continuation.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
moi aussi j'ai eu des problèmes comme les votres avec la fonction apply et save, je vais essayer de vous expliquer comment régler ça simplement.
dans le model ajouter :
Voilà j'espère avoir aidé qqn...
dans le model ajouter :
function store($data)
{
global $mainframe, $option;
$mainframe->redirect('index.php?option='.$option.'&controller=votre controller&task=edit&cid='.$id, JText::_( 'APPLYED' ));
Voilà j'espère avoir aidé qqn...