Page 1 sur 1

Warning: Illegal string offset PHP5_4

Posté : 18 oct. 2012, 16:52
par DEVILLERS 22
Bonjour à tous,
Alors voilà, je suis en train de réaliser un mini réseau social. Le problème est qu'il m'affiche deux erreurs lorsque je veux consulter mes invitations Warning: Illegal string offset 'pseudo_exp' in /homez.541/testdrup/www/pages/invitations.php on line 18 et /homez.541/testdrup/www/pages/invitations.php on line 16
r'height='100'width='100'alt='avatar'>

invitations.php
<?php
include('functions/membre.func.php');
include('body/header.php');
include('body/menu.php');

?>
<h3>Vos invitations</h3>
<?php
$invitations = recup_invitations();

  if($invitations == true)
  {
      foreach($invitations as $invitation)
	  {
	    ?>
		   <img src='avatar/<?php echo $invitation['avatar'];?>'height='100'width='100'alt='avatar'>
		   <div class='error'>
		<?php echo $invitation['pseudo_exp'];?>a voulu vous ajouter comme ami(e)<br />
		 <a href=''>Accepter </a><a href=''>Refuser</a>
		 </div>
		 <?php
	  }
  
  }else{
     ?>
	    <div class='error'>Vous n'avez pas d'invitations
	 <?php
  }
  
?>
invitations.func.php
<?php
//la fonction qui va récupérer les invitations
function recup_invitations()
{
  $query = mysql_query("
  SELECT pseudo_exp,date_invitation,active,avatar
  FROM amis
  INNER JOIN utilisateurs ON utilisateurs.pseudo = amis.pseudo_exp
  WHERE pseudo_dest = '{$_SESSION['pseudo']}'
  ORDER BY date_invitation DESC
  ");
  
  $results = array();
  while($row = mysql_fetch_assoc($query))
  {
    $results[] = rows;
	
  }
  return $results;

}

Re: Warning: Illegal string offset PHP5_4

Posté : 18 oct. 2012, 18:39
par DEVILLERS 22
oupps j'ai oublié le $ dans: $results[] = $rows;
Cette fois-ci lorsque je clique sur invitation j'ai l'avatar qui s'affiche mais pas le pseudo_exp.

Re: Warning: Illegal string offset PHP5_4

Posté : 18 oct. 2012, 19:21
par asf21
Hello.
Cherche à quoi correspond pseudo_exp dans ta bdd et corriges ta requête en conséquence.

Re: Warning: Illegal string offset PHP5_4

Posté : 18 oct. 2012, 19:52
par DEVILLERS 22
Le pseudo_exp est celui qui invite voilà ce que j'ai sous les yeux: TABLE: amis
Nom des champs et (type): id_invitation int(11)
pseudo_exp varchar(100)
pseudo_dest varchar(100)
date_invitation datetime
date_confirmation datetime
active tinyint(1)

Re: Warning: Illegal string offset PHP5_4

Posté : 18 oct. 2012, 19:55
par asf21
C'est après avoir cliqué ou avant de cliquer, l'avatar apparait?

Re: Warning: Illegal string offset PHP5_4

Posté : 18 oct. 2012, 20:07
par DEVILLERS 22
C'est après avoir cliqué, l'avatar ne s'affiche pas non plus.
Cordialement moi j'habite pas loin je suis de Besançon.

Re: Warning: Illegal string offset PHP5_4

Posté : 18 oct. 2012, 20:17
par asf21
Donc, il y aurait une coquille soit sur ta bdd, soit...???
On a bien la requête
SELECT pseudo_exp,date_invitation,active,avatar
FROM amis

et l'affichage $invitation['pseudo_exp']...
Si $invitation['avatar'] s'affiche, donc $invitation['pseudo_exp'] devrait s'afficher aussi! Là y'a un truc. :shock:

Re: Warning: Illegal string offset PHP5_4

Posté : 18 oct. 2012, 20:46
par DEVILLERS 22
Ok merci je vais regarder tout ça merci.

Re: Warning: Illegal string offset PHP5_4

Posté : 18 oct. 2012, 21:20
par Aureusms
Il va falloir apprendre à tester vos variables avant de les afficher les enfants... Ralala faut tout leur dire...
En plus empty() est parfait pour cela car cette fonction test si la variable existe ET si elle n'est pas nulle (ou =0)

Re: Warning: Illegal string offset PHP5_4

Posté : 19 oct. 2012, 10:34
par DEVILLERS 22
Bonjour,
Voici ce que j'ai fait un print_r(recup_invitations()); le problème est qu'il me renvoi sur la page vos invitations Array ( [0] => ) alors que je devrais avoir Array ( [0] => Array([pesudo_exp]=>Moi[date_invitation]=>2012-19-10 10:30:00 [active] => 0 [avatar] => 12345.jpg))
invitations.php
<?php
include('functions/membre.func.php');
include('body/header.php');
include('body/menu.php');

?>
<h3>Vos invitations</h3>
<?php
print_r(recup_invitations());
 
?>

Re: Warning: Illegal string offset PHP5_4

Posté : 19 oct. 2012, 12:49
par moogli
Salut,


Tu as quoi ton tableau normalement ?

Plutôt que de t'emmerder a grand coup de print/ var_dump utilise un débogguer (xdebug ou celui de zend).

Tu travaillera beaucoup simplement et efficacement (un point d'arrêt sur la ligne du return et tu pourra voir ce que ton script retourne.

@+

Re: Warning: Illegal string offset PHP5_4

Posté : 19 oct. 2012, 13:57
par DEVILLERS 22
Je vais essayer ça; merci.

Re: Warning: Illegal string offset PHP5_4

Posté : 19 oct. 2012, 17:15
par DEVILLERS 22
Ca y est j'ai trouvé et ce grace à vous dans le fichier invitations.func.php =>$results[] = rows; remplacé par $results[] = $row;
et fermeture balise php. Erreur de débutant quoi. :oops: