Erreur Page Utilisateurs.php

13 messages dans ce sujet

Posté(e) · Signaler ce message

Bonjour

aujourd'hui, sans rien toucher depuis quelques temps, j'ai un message qui apparaît sur le back office sur la page utilisateurs.php.

 

Le message affiché est le suivant :

 

Notice: Array to string conversion in /homepages/5/d334204221/htdocs/lib/fonctions/fonctions.php on line 2603

 

voilà la fonction concernée :

 

/**
 * formSelect()
 *
 * @param mixed $name
 * @param mixed $tab
 * @param mixed $preselected_value
 * @param integer $addOne
 * @param integer $get
 * @return
 */
function formSelect ($name, $tab, $preselected_value = null, $addOne = 0, $get = 0)
{
	$o = '';
	foreach ($tab as $k => $v) {
		$k = ($addOne) ? $k + 1 : $k;

		if (!empty($preselected_value)) {
			$s = (($preselected_value == $k)) ? (' selected="selected"') : ('');
		} elseif (!$get) {
			$s = (isset($_POST['form_' . $name . '']) && $_POST['form_' . $name . ''] == $k) ? (' selected="selected"') : ('');
		} else {
			$s = (isset($_GET[$name]) && urldecode($_GET['' . $name . '']) == $k) ? ' selected="selected"' : '';
		}
		$o .= '<option value="' . String::str_form_value($k) . '" ' . $s . '>' . $v . '</option>' . "\n";
	}
	return $o;
}

 

la ligne concernée est celle ci :

 

$o .= '<option value="' . String::str_form_value($k) . '" ' . $s . '>' . $v . '</option>' . "\n";

 

merci pour le tuyau !

bon week end

 

JL

 

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

parfois pour trouver l'erreur j'isole une partie du code en faisant un retour à la ligne avec la touche Entrée.

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Bonjour,

 

J'ai la même erreur, il semblerait depuis toujours en fait...

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Bonjour,

 

Après quelle action avez-vous cette erreur ? Avec quelle URL (y a-t-il des paramètres GET ?) ? Est-ce uniquement en validant un formulaire que vous avez l'erreur, ou pas  (=> y a-t-il des paramètres POST ? Si oui, pouvez-vous me les indiquer (à récupérer via Firefbug ou plugin qui permet de voir les entêtes HTTP) ?

 

Je viens de retester et de mon côté, et de mon côté je n'arrive pas à déclencher d'erreur.

 

Gilles

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

J'ai l'erreur en cliquant simplement sur :

 

Utilisateur

Liste des utilisateurs

Liste des fournisseurs

 

Pas besoins de valider le formulaire, l'erreur apparaît de suite.

Par, cela ne gêne pas la validation lors d'une création de client par exemple

 

Notice: Array to string conversion in /homepages/0/d279186157/htdocs/lib/fonctions/fonctions.php on line 2608

 

soit

 

$o .= '<option value="' . String::str_form_value($k) . '" ' . $s . '>' . $v . '</option>' . "\n";

 

comme carcy

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

En affichant la source de la page utilisateurs.php pour repérer l'erreur, j'ai ceci
 
 
<div class="main_content">
<br />
<b>Notice</b>:  Array to string conversion in <b>/homepages/31/d459421835/htdocs/lib/fonctions/fonctions.php</b> on line <b>2608</b><br />
<table class="full_width" cellpadding="2">
<tr>
<td class="entete">Choisir vos critères de recherche</td>
 

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Voici ce que je disais à carcy hier par email, n'ayant pas sa réponse je vous donne mon analyse :


J'ai testé sur votre site, le message s'affiche quoiqu'il arrive (et pas sur mes sites de tests).
Dans administrer\modeles\utilisateur_liste.php vous avez à 10 endroits des appels à formselect, il faut trouver le bon.

    Line 48: $tpl->assign('newsletter_options', formSelect('newsletter', tab_followed_newsletter(), vb($_GET['newsletter'])));
    Line 49: $tpl->assign('offre_commercial_options', formSelect('offre_commercial', tab_followed_newsletter(), vb($_GET['offre_commercial'])));
    Line 130: $tpl->assign('seg_who', formSelect('seg_who', tab_Who(), vb($_GET['seg_who'])));
    Line 131: $tpl->assign('seg_buy', formSelect('seg_buy', tab_buy(), vb($_GET['seg_buy'])));
    Line 132: $tpl->assign('seg_want', formSelect('seg_want', tab_want(), vb($_GET['seg_want'])));
    Line 133: $tpl->assign('seg_think', formSelect('seg_think', tab_think(), vb($_GET['seg_think'])));
    Line 134: $tpl->assign('seg_followed', formSelect('seg_followed', tab_followed(), vb($_GET['seg_followed'])));
    Line 139:     $tpl->assign('abonne', formSelect('abonne', tab_followed_abonne(), vb($_GET['abonne'])));
    Line 154: $tpl->assign('nombre_produit', formSelect('nombre_produit', tab_followed_nombre_produit(), vb($_GET['nombre_produit'])));
    Line 185: $tpl->assign('raison', formSelect('raison', tab_followed_reason(), vb($_GET['raison'])));

Soit vous faites des var_dump des paramètres donnés en entrée de formselect(), soit vous mettez des echo entre les lignes ci-dessus pour voir quand se déclenche l'erreur pour ensuite faire des var_dumpo pour comprendre ce qui se passe.

Et vous pouvez commencer par ligne 130 de administrer\modeles\utilisateur_liste.php de remplacer tab_Who par tab_who peut-être que c'est ce qui ne plait pas à votre version PHP.

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Bonjour !

excusez moi Gilles, j'ai eu des petits ennuis perso hier et j'ai pas pu vous répondre !!

 

donc j'ai fais des test avec les echo.

la ligne 154 en echo enlève le message d'erreur :

//$tpl->assign('nombre_produit', formSelect('nombre_produit', tab_followed_nombre_produit(), vb($_GET['nombre_produit'])));
 

mais je l'avais remarqué, puisque dans le deuxième menu déroulant de "Produit acheté et quantité :", les choix sont "jamais acheté" ou "Array".

Array, c'est quoi ??

vous voyez d'ou peut venir le problème ? je suis désolé, je suis pas assez calé pour continuer ce que vous proposez (var_dumpo...

 

merci pour l'info.

 

ps : j'ai changé tab_Who en tab_who et je n'ai rien obtenu de différent.

 

Merci !

Jean-Luc

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Merci Jean-Luc pour cette information.

 

L'affichage de Array() est la symptôme du problème que vous avez.

 

Je vous propose donc de modifier dans tab_followed_nombre_produit() dans lib/fonctions/fonctions_admin.php vers ligne 1923 :

        $result['nombre_produit'][$i] = sprintf($GLOBALS["STR_ADMIN_UTILISATEURS_SEARCH_PRODUCTS_AT_LEAST_N"], $i);
en

        $result[$i] = sprintf($GLOBALS["STR_ADMIN_UTILISATEURS_SEARCH_PRODUCTS_AT_LEAST_N"], $i);

 

Gilles

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Rebonjour

 

Merci Gilles, ça fonctionne parfaitement

 

maintenant y'a bien dans le menu déroulant jamais ou "au moins 1 fois"...

 

merci pour votre aide !!

bien cordialement

 

Jean-Luc

 

ps : et excusez moi pour l'absence de réponse à votre mail...)

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Problème également réglé de mon côté, plus de message d'erreur.

Merci.

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Bonjour

 

juste pour info, je constate que sur votre dernière version 7.0.1 dans le fichier lin/fonctions/fonctions_admin.php, la ligne

 

$result['nombre_produit'][$i] = sprintf($GLOBALS["STR_ADMIN_UTILISATEURS_SEARCH_PRODUCTS_AT_LEAST_N"], $i);
 

 

n'a pas été corrigée par

 

$result[$i] = sprintf($GLOBALS["STR_ADMIN_UTILISATEURS_SEARCH_PRODUCTS_AT_LEAST_N"], $i);

 

est ce normal ?

 

merci pour l'info

 

 JL

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Bonjour,

 

Cela est corrigé dans la 7.0.2 qui sort vendredi, avec diverses autres modifications.

 

Gilles

Partager ce message


Lien à poster
Partager sur d’autres sites

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !


Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.


Connectez-vous maintenant

Twitter Advisto ecommerce

Facebook PEEL Shopping