Un pb avec le "Call-time pass-by-reference" du générateur de form avec MySQL

dryat120 Messages postés 3 Date d'inscription lundi 27 avril 2009 Statut Membre Dernière intervention 9 mai 2009 - 9 mai 2009 à 16:26
nautilus99 Messages postés 661 Date d'inscription vendredi 26 septembre 2008 Statut Membre Dernière intervention 18 septembre 2009 - 14 mai 2009 à 01:10
Bonjour,

J'ai un problème avec le passage de références en php, j'obtiens une erreur de la famille de "Call-time pass-by-reference" avec cette source.

Voici le code, comment pourrais-je adapter le code à PHP 5 (wampserver 2).

La function
function reorg_table(&$form_gen){

    $temp=array();
    $form_gen['the_key'] =  $form_gen['is_key'][0];
    $form_gen['the_princip'] = $form_gen['is_princip'][0];

    $form_gen=reorg_check(&$form_gen,'is_hidden');
    $form_gen=reorg_check(&$form_gen,'is_protected');
    $form_gen=reorg_check(&$form_gen,'is_date');
....

et plus des
function init_fonction(&$form_gen){
    $form_gen['new']="\n\n\n".'
et des    
if ($form_gen['the_key']==$form_gen['i']) {

Qui me retournent des erreurs.

Programme fait en 2004,
http://www.phpcs.com/codes/GENERATEUR-FORMULAIRE-PARTIR-MYSQL_22453.aspx)

Sur des forums, on me dit de retirer les '&' mais cela ne marche pas.

D'avance merci. Je suis intéressé par ce générateur et il n'est pas maintenu.

Dryat120

1 réponse

nautilus99 Messages postés 661 Date d'inscription vendredi 26 septembre 2008 Statut Membre Dernière intervention 18 septembre 2009 1
14 mai 2009 à 01:10
Bonsoir,

Call-time pass-by-reference est déprécié depyuis longtemps, et sur les PHP récents, il est désactivé par défaut, d'où l'erreur.

le passage par référence doit se faire dans les déclarations de fonctions et non plus lors de l'appel.
Syntaxe actuelle:

public function maFonction( &$params_ref )

et l'appel se fait sans le &

Donc toute sle sfonctions qui lancent des appels par référence doivent être modifiées pour indiquer les variables passant par référence.
0
Rejoignez-nous