Erreur Page Utilisateurs.php

13 posts in this topic

Posted · Report post

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

 

Share this post


: post
Share on other sites

Posted · Report post

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

Share this post


: post
Share on other sites

Posted · Report post

Bonjour,

 

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

Share this post


: post
Share on other sites

Posted · Report post

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

Share this post


: post
Share on other sites

Posted · Report post

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

Share this post


: post
Share on other sites

Posted · Report post

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>
 

Share this post


: post
Share on other sites

Posted · Report post

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.

Share this post


: post
Share on other sites

Posted · Report post

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

Share this post


: post
Share on other sites

Posted · Report post

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

Share this post


: post
Share on other sites

Posted · Report post

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...)

Share this post


: post
Share on other sites

Posted · Report post

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

Merci.

Share this post


: post
Share on other sites

Posted · Report post

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

Share this post


: post
Share on other sites

Posted · Report post

Bonjour,

 

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

 

Gilles

Share this post


: post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now

Twitter Advisto ecommerce

Facebook PEEL Shopping