Page 1 sur 1
Probleme Warning: in_array() [function.in-array]
Posté : 06 mars 2012, 05:26
par freanky
Voila, j'ais fais acquisition d'un serveur jeux que mon ami possédais. Tout fonctionnais parfaitement. Pour des raison X j'ais changer d'Hébergeur. J'ais reussi a transferer tout mes database et tout. Changer les info de connection database. Sauf que présentement la page affiche mais indique cette erreur en haut:
Code : Tout sélectionner
Warning: in_array() [function.in-array]: Wrong datatype for second argument in /home/jailbreak/domains/jailbreakqc.net/public_html/rules/header.php on line 15
Vous pouvez visualiser cette erreur via ce lien
http://jailbreakqc.net/rules/
Je comprend pas le pourquoi, sur mon header.php j'ais une info de database. tout est rentrer parfaitement.
J'ais aseiller comme host: jailbreakqc.net & localhost. toujours la meme chose
Si vous pouvez m'aidez s'il vous plaît
ps: désoler pour les fautes
Re: Probleme Warning: in_array() [function.in-array]
Posté : 06 mars 2012, 10:07
par moogli
salut,
sans code on ne peux pas t'aider, mais clairement tu utilise (ligne 15 de header.php) la fonction
in_array et le second argument n'est pas un tableau.
il faut donc que tu regarde pourquoi ce n'est pas le cas et la ben on ne peux pas le faire à ta place sans code
pour les bases du débogage =>
http://www.phpdebutant.org/article52.php
@+
Re: Probleme Warning: in_array() [function.in-array]
Posté : 06 mars 2012, 16:21
par freanky
Merci moogli,
Mais comme cité plus haut, j'ais reçu le tout comme sa. Sachant qui travaillait bien. Et sourtout sachant que je ne mis connait pas enormement en php ou autre.
Celas pourrais aider?
Code : Tout sélectionner
mysql_connect(LIEN, USERNAME, PASSWORD) or die(mysql_error());
mysql_select_db(DATABASE) or die(mysql_error());
$allowed_groups = array(1, 2);
$can_see = FALSE;
foreach ($allowed_groups as $allowed)
if (in_array($allowed, $user_info['groups']))
{
$can_see = TRUE;
break;
}
Sachant que la ligne 15 est:
if (in_array($allowed, $user_info['groups']))
Re: Probleme Warning: in_array() [function.in-array]
Posté : 07 mars 2012, 00:14
par moogli
tu peux poster les 20 1ère lignes (avec la balise bbcode : php

) histoire d'y voir plus claire, il faut vérifier ce que contient $user_info['groups']) (qui devrait être un tableau mais qui ne semble pas l'être

)
si tu ajoute : var_dump( $user_info['groups'])); a la ligne avant le foreach ça donne quoi à l'écran ?
@+
Re: Probleme Warning: in_array() [function.in-array]
Posté : 07 mars 2012, 04:17
par freanky
avec la ligne que tu ma dit:
Parse error: syntax error, unexpected ')' in /home/jailbreak/domains/jailbreakqc.net/public_html/rules/header.php on line 14
<?php
define('LIEN', 'jailbreakqc.net');
define('USERNAME', '*********');
define('PASSWORD', '********');
define('DATABASE', '********');
mysql_connect(LIEN, USERNAME, PASSWORD) or die(mysql_error());
mysql_select_db(DATABASE) or die(mysql_error());
$allowed_groups = array(1, 2);
$can_see = FALSE;
foreach ($allowed_groups as $allowed)
if (in_array($allowed, $user_info['groups']))
{
$can_see = TRUE;
break;
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
Re: Probleme Warning: in_array() [function.in-array]
Posté : 07 mars 2012, 11:36
par sirakawa
et si tu ajoutes :
var_dump ( $user_info['groups']);
à la ligne avant le foreach ça donne quoi à l'écran ?
et quand tu as une erreur unexpected ) ...., pense à compter les parenthèses:
( ( (a +(b-c) /d) * u) -z)
1,2, 3.....4....3...2....1....0
Re: Probleme Warning: in_array() [function.in-array]
Posté : 07 mars 2012, 16:23
par freanky
l'erreur a changer et avec un ''NULL'' en haut
NULL
Warning: in_array() [function.in-array]: Wrong datatype for second argument in /home/jailbreak/domains/jailbreakqc.net/public_html/rules/header.php on line 16
Warning: in_array() [function.in-array]: Wrong datatype for second argument in /home/jailbreak/domains/jailbreakqc.net/public_html/rules/header.php on line 16
Re: Probleme Warning: in_array() [function.in-array]
Posté : 07 mars 2012, 16:27
par xTG
Ton $user_info il vient d'où ?
Car là à priori je dirai qu'il n'existe pas c'est ça qui ne va pas...
Re: Probleme Warning: in_array() [function.in-array]
Posté : 07 mars 2012, 18:43
par freanky
j'en n'Est aucune idée, tout ce que je sais c'est que sur l'ancient site il marche #1 et pas sur lui :O meme si je le fais connecter a la base de donner de l'ancient
Re: Probleme Warning: in_array() [function.in-array]
Posté : 07 mars 2012, 19:42
par xTG
Donc à priori je dirai que c'est juste un problème de configuration.
Sur ton ancien hébergeur l'erreur était présente, mais la configuration était telle qu'elle n'affichait pas les erreurs PHP.
Erreur de conception du code donc.
Dans le header avant les boucles rajoute ce code pour régler le souci :
if( !isSet($user_info['groups']) )
$user_info['groups'] = array();
Cela permettra de créer la variable si elle n'existe pas.
Re: Probleme Warning: in_array() [function.in-array]
Posté : 07 mars 2012, 22:24
par freanky
avant la boucle? tu veux dire avant le probleme ?
Re: Probleme Warning: in_array() [function.in-array]
Posté : 07 mars 2012, 23:48
par xTG
Oui c'est justement pour éviter le message d'erreur en cas d'inexistence de la variable.

Re: Probleme Warning: in_array() [function.in-array]
Posté : 08 mars 2012, 01:37
par freanky
xTG merci beaucoup pour ton aide, problème résolu
