Passage de variable dans une image dynamique
pontarose
Messages postés
151
Statut
Membre
-
Dalida Messages postés 7114 Date d'inscription Statut Contributeur Dernière intervention -
Dalida Messages postés 7114 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
après installation de la librairie gd, je veux créer une image dynamique générée par un fichier php dans une page html, de cette manière :
print("<img src=‘image.php’>") ; (C'est le fichier .php qui crée l'image)
Cela fonctionne, mais le problème c'est que je veux passer une variable (en fait un tableau) au fichier image.php.
Le code marche quand j'ai aucune variable à passer dans le fichier image.php, (j’ai bien mon image généré) mais malheureusement le passage de variable ne passe pas lorsque je fait ceci:
print(<img src=‘image.php?tab=<? php echo $_SESSION[‘tab’];?> ’>”);
il s’affiche un carré vide.
Dans image.php, je récupère mon tableau comme ceci :
$tab=$_SESSION[‘tab’];
Peut-on m'aider svp
après installation de la librairie gd, je veux créer une image dynamique générée par un fichier php dans une page html, de cette manière :
print("<img src=‘image.php’>") ; (C'est le fichier .php qui crée l'image)
Cela fonctionne, mais le problème c'est que je veux passer une variable (en fait un tableau) au fichier image.php.
Le code marche quand j'ai aucune variable à passer dans le fichier image.php, (j’ai bien mon image généré) mais malheureusement le passage de variable ne passe pas lorsque je fait ceci:
print(<img src=‘image.php?tab=<? php echo $_SESSION[‘tab’];?> ’>”);
il s’affiche un carré vide.
Dans image.php, je récupère mon tableau comme ceci :
$tab=$_SESSION[‘tab’];
Peut-on m'aider svp
A voir également:
- Passage de variable dans une image dynamique
- Tableau croisé dynamique - Guide
- Passage qwerty azerty - Guide
- Légender une image - Guide
- Image iso - Guide
- Exemple tableau croisé dynamique télécharger - Télécharger - Tableur
5 réponses
Salut,
Il est impossible de passer un tableau comme ça.
Mais tu peux utiliser serialize pour le transformer afin de le transférer et unserialize pour le remettre sous forme de tableau sur l'autre page.
Il est impossible de passer un tableau comme ça.
Mais tu peux utiliser serialize pour le transformer afin de le transférer et unserialize pour le remettre sous forme de tableau sur l'autre page.
Non, il est impossible de passer un tableau en paramètre d'une page à une autre.
Après, là, je ne vois pas trop ce que tu veux faire avec
Après, là, je ne vois pas trop ce que tu veux faire avec
print("<img src=‘image.php’>")
salut,
tu ne nous dis pas tout !
si tu veux récupérer ton tableau comme ça :
pas besoin de passer le tableau dans l'URL…
tu stockes dans la variable de session et tu récupères dans la variable de session.
au pire tu pourrai l'écrire dans un fichier texte et juste transmettre le nom du fichier par URL mais je ne trouve pas ça très propre.
et pour serialize() regarde le manuel, il me semble qu'il ne faut pas l'utiliser dans une URL.
tu ne nous dis pas tout !
si tu veux récupérer ton tableau comme ça :
$tab=$_SESSION[‘tab’];
pas besoin de passer le tableau dans l'URL…
tu stockes dans la variable de session et tu récupères dans la variable de session.
au pire tu pourrai l'écrire dans un fichier texte et juste transmettre le nom du fichier par URL mais je ne trouve pas ça très propre.
et pour serialize() regarde le manuel, il me semble qu'il ne faut pas l'utiliser dans une URL.
Merci de ta réponse.
Oui je vois bien comment passer un tableau d'une page à une autre via les sessions.
Je veux je veux passer un tableau au fichier image.php. ce fichier étant celui qui crée l'image (car je veux créer une image dynamique générée par un fichier php dans une page html, de cette manière)
Je met un bout de code pour me faire comprendre.
Soit
SCRIPT a.php
<?php
session_start();
if(isset($_SESSION['user_login']))
{
$user_login=$_SESSION['user_login'] ;
print("You are logged as <b>$user_login</b><br><br>");
}
else
{
header ("Location: form_identification.html");
}
?>
<?php
//j'en viens à l'essentiel
$tableau=array();
for($i=0; $i<count($essai); $i++)
{
array_push($tableau,"".$essai[$i][0]."" "".$essai[$i][1]."" "".$essai[$i][2]."" "".$essai[$i][3]."")
}
$_SESSIONS['tableau']=$tableau;
print("<img src='image.php?'>"); //ceci afin d'intégrer une image dans une page HTML
?>
SCRIPT image.php
//ce script permet de générer mon image. (des rectangles (içi 2) leur nombre correspond au nombre d'éléments dans mon tableau (içi $rectangle) et au dessus de chaque rectangle j'inscrit le nom de l'élément (içi element1 et element2)
<?php
session_start();
if(isset($_SESSION['user_login']))
{
$user_login=$_SESSION['user_login'] ;
print("You are logged as <b>$user_login</b><br><br>");
}
else
{
header ("Location: form_identification.html");
}
?>
<?php
$x = 210;
$y = 120;
$im = imagecreatetruecolor ($x,$y) or die ("Impossible de crée un flux d'image GD");
//CREATION DES VARIABLES COULEURS
$vert = imagecolorallocate ($im, 0, 255, 0);
$gris = imagecolorallocate ($im, 91,91 ,91 );
$rectangle=array("element1","element2");
$barreLargeur = (int)(($x-35)/(1.5*count($subunit)+0.5));
for ($i=0; $i<count($element); $i++)
{
$x = 10+(int)($barreLargeur*(0.5+$i*1.5));
$barreHauteur = 30;
imagefilledrectangle($im,
$x,
$y-60-$barreHauteur,
$x+$barreLargeur,
$y-60,
$vert);
//permet d'écrire le nom des sous-unité juste au-dessus
imagestring ($im, $titre_police, $x, $y-63-$barreHauteur-10, $element[$i], $gris);
}
imagepng ($im);
?>
Dans cet example tout fonctionne,
ce que je veux c'est récupérer le tableau $tableau (du script a.php) dans image.php de manière à faire un autre schéma. Comment récupérer le tableau?
j'espère avoir tout dit etre clair...
Oui je vois bien comment passer un tableau d'une page à une autre via les sessions.
Je veux je veux passer un tableau au fichier image.php. ce fichier étant celui qui crée l'image (car je veux créer une image dynamique générée par un fichier php dans une page html, de cette manière)
Je met un bout de code pour me faire comprendre.
Soit
SCRIPT a.php
<?php
session_start();
if(isset($_SESSION['user_login']))
{
$user_login=$_SESSION['user_login'] ;
print("You are logged as <b>$user_login</b><br><br>");
}
else
{
header ("Location: form_identification.html");
}
?>
<?php
//j'en viens à l'essentiel
$tableau=array();
for($i=0; $i<count($essai); $i++)
{
array_push($tableau,"".$essai[$i][0]."" "".$essai[$i][1]."" "".$essai[$i][2]."" "".$essai[$i][3]."")
}
$_SESSIONS['tableau']=$tableau;
print("<img src='image.php?'>"); //ceci afin d'intégrer une image dans une page HTML
?>
SCRIPT image.php
//ce script permet de générer mon image. (des rectangles (içi 2) leur nombre correspond au nombre d'éléments dans mon tableau (içi $rectangle) et au dessus de chaque rectangle j'inscrit le nom de l'élément (içi element1 et element2)
<?php
session_start();
if(isset($_SESSION['user_login']))
{
$user_login=$_SESSION['user_login'] ;
print("You are logged as <b>$user_login</b><br><br>");
}
else
{
header ("Location: form_identification.html");
}
?>
<?php
$x = 210;
$y = 120;
$im = imagecreatetruecolor ($x,$y) or die ("Impossible de crée un flux d'image GD");
//CREATION DES VARIABLES COULEURS
$vert = imagecolorallocate ($im, 0, 255, 0);
$gris = imagecolorallocate ($im, 91,91 ,91 );
$rectangle=array("element1","element2");
$barreLargeur = (int)(($x-35)/(1.5*count($subunit)+0.5));
for ($i=0; $i<count($element); $i++)
{
$x = 10+(int)($barreLargeur*(0.5+$i*1.5));
$barreHauteur = 30;
imagefilledrectangle($im,
$x,
$y-60-$barreHauteur,
$x+$barreLargeur,
$y-60,
$vert);
//permet d'écrire le nom des sous-unité juste au-dessus
imagestring ($im, $titre_police, $x, $y-63-$barreHauteur-10, $element[$i], $gris);
}
imagepng ($im);
?>
Dans cet example tout fonctionne,
ce que je veux c'est récupérer le tableau $tableau (du script a.php) dans image.php de manière à faire un autre schéma. Comment récupérer le tableau?
j'espère avoir tout dit etre clair...
salut,
ce que je veux c'est récupérer le tableau $tableau (du script a.php) dans image.php de manière à faire un autre schéma. Comment récupérer le tableau?
en début de "image.php" tu démarres la session puis tu récupères la valeur après avoir testé si elle existe.
dis nous ce que ça donne !
-;o)
ce que je veux c'est récupérer le tableau $tableau (du script a.php) dans image.php de manière à faire un autre schéma. Comment récupérer le tableau?
en début de "image.php" tu démarres la session puis tu récupères la valeur après avoir testé si elle existe.
<?php session_start(); // si ce n'est pas déjà fait par ailleurs if(isset($_SESSION['tableau'])) $tableau = $_SESSION['tableau']; else // traitement d'erreur : pas de tableau ?>
dis nous ce que ça donne !
-;o)
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
pour débuguer tu peux écrire dans un fichier texte.
c'est pas très académique mais ça me dépanne souvent…
ob_start();
print_r($tableau);
file_put_contents('debug.log', ob_get_contents());
ob_end_flush();
c'est pas très académique mais ça me dépanne souvent…
je vais me documenter sur l'utilisation de serialize et unserialise.
mais il est possible de passer un tableau d'une page à l'autre ce n'est pas possible dans ce cas çi car on le fait une image? C'est ça?