PDA

View Full Version : Vediamo chi ci riesce


Fenomeno85
25-11-2005, 17:03
Allora ho il seguente problema che non riesco a risolvere:

- ho un form il quale rinvia i dati alla stessa pagina e fin qui nessun problema
- adesso io devo riuscire a inviare i dati che ho preso ed ho elaboraro ad un'altra pagina che mi crea un grafico, e che venga quindi visualizzato.

if (isset($var)){
//elaboro $var
>> echo "<img src=\"guida_gd/grafico.php?var=\".$var>";
}
else{
//form per prendere i dati
}


come diavolo faccio a far passare i valori nel grafico? ho provato di tutto ma nulla non riesco a passarli

~§~ Sempre E Solo Lei ~§~

kk3z
25-11-2005, 17:13
Puoi utilizzare l'array $_SESSION: prima del tuo codice in entrambi i file fai una session_start(), nel file che riceve i dati del form crei la variabile globale facendo $_SESSION['tua_variabile']; e la vai a richiamare nel file grafico.php.

Adesso non mi ricordo se $_SESSION vale anche in diverse pagine...

pinok
25-11-2005, 17:14
Mi sa che i tempi di elaborazione coincidono, per cui non è detto che il php dell'immagine sia eseguito dopo quello della pagina.
Prova a mettere l'immagine in un iframe per vedere se in questo modo forzi l'ordine di esecuzione: prima la pagina, poi il php dell'iframe.

Fenomeno85
25-11-2005, 17:21
e cercare di fare uno sleep? non mi cambia nulla?

perchè a vedere da come si comporta il grafico i valori son tutti nulli

http://www.fenomeno85.altervista.org/pag.php?pag=test_plot.php

~§~ Sempre E Solo Lei ~§~

kk3z
25-11-2005, 17:22
Ma secondo me non si può proprio richiamare un file php in quel modo... neanche facendo un include. Almeno mi ricordo che il php di altervista non lo permetteva... forse c'è un'opzione per attivarlo :wtf:

O forse sto dicendo cavolate. :D

Fenomeno85
25-11-2005, 17:23
richiamare richiama soltanto non passa :muro:

~§~ Sempre E Solo Lei ~§~

kk3z
25-11-2005, 17:25
Appunto intendo: non puoi passare variabili in quel modo a un file incluso tramite include() nè a un file incluso tramite immagine.

Fenomeno85
25-11-2005, 17:31
Appunto intendo: non puoi passare variabili in quel modo a un file incluso tramite include() nè a un file incluso tramite immagine.

quindi come diavolo posso fare?

~§~ Sempre E Solo Lei ~§~

beppegrillo
25-11-2005, 17:37
richiamare richiama soltanto non passa :muro:

~§~ Sempre E Solo Lei ~§~
Ma quando li passi devi verichiare che sia settata la variabile
$_GET["mia_var"] non la variabilie $mia_var, da cambiare eventualmente con POST se usi quello.

Fenomeno85
25-11-2005, 17:40
Ma quando li passi devi verichiare che sia settata la variabile
$_GET["mia_var"] non la variabilie $mia_var, da cambiare eventualmente con POST se usi quello.

nella pagina quando richiamo lo faccio per forza ... non nel grafico però .. aspetto che provo a vedere.

~§~ Sempre E Solo Lei ~§~

kk3z
25-11-2005, 17:41
quindi come diavolo posso fare?

Hai provato quello che ti ho detto al mio primo post?

beppegrillo
25-11-2005, 17:42
Adesso non mi ricordo se $_SESSION vale anche in diverse pagine...
Si vale anche in pagine diverse.

Fenomeno85
25-11-2005, 17:46
mi sa proprio che son io che sto sbagliando a inviare i dati :wtf:


$indi ="guida_gd/grafico.php?var=".$var;
require ($indi);


nel file ho messo


print_r ($var);


errore che esce è:

Fatal error: main(): Failed opening required 'guida_gd/grafico.php?var=Array' (include_path='.:') in /membri2/fenomeno85/day/test_plot.php on line 16

quindi come faccio a passare l'array?


~§~ Sempre E Solo Lei ~§~

Fenomeno85
25-11-2005, 17:50
Hai provato quello che ti ho detto al mio primo post?

sto provando adesso

~§~ Sempre E Solo Lei ~§~

beppegrillo
25-11-2005, 17:50
Assicurati che il path del file che includi sia corretto.

kk3z
25-11-2005, 17:52
Ah vedo adesso che SEI su altervista... da quello che so (dato che c'ho provato anch'io) non puoi proprio includere file in quel modo, vale allora il mio post sulle variabili globali visto che beppe ha confermato la validità :)

Fenomeno85
25-11-2005, 17:56
$_SESSION['$var'] = $var;
echo "<img src=\"http://fenomeno85.altervista.org/guida_gd/grafico.php\">";

nell'altro

nel file grafico.php

$uella = $_SESSION ['$var'];

ma nulla

~§~ Sempre E Solo Lei ~§~

kk3z
25-11-2005, 18:00
Se usi

$_SESSION ['$var']

nel file grafico.php è come se facessi

$_SESSION ['']

dato che $var non è definito nel file grafico.php.
Invece devi fare

$_SESSION ['nome_della_variabile']

e "nome_della_variabile" è una stringa che usi in entrambi i file

Fenomeno85
25-11-2005, 19:36
allora se faccio include e vedo cosa c'è in session nel file del grafico vedo le variabili.

Se faccio img nulla sto fetente non vede i dati.

Se adesso passo i dati direttamente al grafico questo li prende e traccia come è possibile vedere:

http://www.fenomeno85.altervista.org/pag.php?pag=test_plot.php

quindi qualcuno ha qualche soluzione?

L'unica cosa che devo ancora provare è con l'iframe che però non ho mai utilizzato e che quindi mi tocca andare a vedere.

~§~ Sempre E Solo Lei ~§~

pinok
25-11-2005, 23:47
allora se faccio include e vedo cosa c'è in session nel file del grafico vedo le variabili.

Se faccio img nulla sto fetente non vede i dati.

Se adesso passo i dati direttamente al grafico questo li prende e traccia come è possibile vedere:

http://www.fenomeno85.altervista.org/pag.php?pag=test_plot.php

quindi qualcuno ha qualche soluzione?

L'unica cosa che devo ancora provare è con l'iframe che però non ho mai utilizzato e che quindi mi tocca andare a vedere.

~§~ Sempre E Solo Lei ~§~

Come ti avevo detto subito, e come sembra che mi confermi, è un problema di consecutio temporum.
Se fai un include del codice PHP (come anche JSP) alla fine produci un unico file PHP che viene interpretato contemporaneamente, quindi non hai ancora i dati elaborati da dare in pasto all'include dell'immagine.
Se non vuoi usare l'iframe (che poi è una cavolata come sintassi) potresti pensare di usare i frames, magari anche con un unico frame dentro.
In questo modo metti nel codice che dichiara i frames tutto quanto esegue l'elaborazione e nel file (frame) che effettivamente visualizza la pagina l'immagine a runtime.

Tornando all'iframe basta che metti nel codice della pagina:

<iframe src="http://tuoHost.it/guida_gd/graficoDelay.php?var=\".$var>"; " width="300" height="300">
Contenuto alternativo per i browser che non leggono gli iframe.
</iframe>

In pratica ti ritagli uno spazio (qua di 300x300) nel quale renderizzi un'altra pagina HTML.
Non fare caso alla sintassi php, l'aggiusti tu ;)

graficoDelay.php serve solo per rimandare l'esecuzione dopo il caricamento della pagina principale e potrebbe contenere qualcosa del genere

<HTML>
<BODY>
<? echo "<img src=\"guida_gd/grafico.php?var=\".$var>"; ?>
</BODY>
</HTML>

SteR9
26-11-2005, 03:11
ma se fai

echo "<img src=\"guida_gd/grafico.php?var=\".$var>";

poi nella pagina grafico.php non ti vede la variabile? strano..

Fenomeno85
26-11-2005, 11:31
ma se fai

echo "<img src=\"guida_gd/grafico.php?var=\".$var>";

poi nella pagina grafico.php non ti vede la variabile? strano..

no non le vede :(

ne con il session ne passandole

~§~ Sempre E Solo Lei ~§~

SteR9
26-11-2005, 11:37
strano.. io l'ho sempre usato.. ma come le richiami nel file grafico.php? fammi vedere un pezzettino di codice..

Fenomeno85
26-11-2005, 12:54
niente neanche con iframe :muro:

allora qui c'è la versione con iframe:

http://fenomeno85.altervista.org/pag.php?pag=test_plot2.php

come si vede nulla.

ma quando passo $var (N.B è un array) non è che ha problemi?

allora io faccio esattamente così:

file: test_plot2

$var = $_POST['a'];
if (isset($var)){
$_SESSION ['valori'] = $var;

print_r ($_SESSION ['valori']);

echo "<iframe src=\"guida_gd/graficoDelay.php?var=\".$var.\" width=\"415\" height=\"305\">
Contenuto alternativo per i browser che non leggono gli iframe.
</iframe>";
}


nel file graficoDelay c'è:


<HTML>
<BODY>
<? echo "<img src=\"http://fenomeno85.altervista.org/guida_gd/grafico2.php?var=\".$var.\">"; ?>
</BODY>
</HTML>


e per finire grafico2 lavoro direttamente sulla variabile.

Notare che ho messo a posto la sintassi di quando passo i dati ... $var.\">"; quando prima era $var>";

~§~ Sempre E Solo Lei ~§~

pinok
26-11-2005, 12:59
Hai provato, sempre usando gli iframe, a passare i valori tramite la sessione?
Può darsi che mi sbagli, ma se fai var=XXX, XXX deve essere un valore, non un array di valori.
A meno che non serializzi l'array, ad es. se ci sono coppie di valori (2 coordinate) del tipo

x1, y1
x2, y2

potresti riscriverlo così:

var=x1,y1,x2,y2

poi lo riassembli dall'altra parte.

Fenomeno85
26-11-2005, 13:02
ho provato a vedere con get che passa a una pagina di prova, ricomporre il tutto e ributtarlo nell'altra pagina il nulla.

~§~ Sempre E Solo Lei ~§~

pinok
26-11-2005, 13:04
niente neanche con iframe :muro:

allora qui c'è la versione con iframe:

http://fenomeno85.altervista.org/pag.php?pag=test_plot2.php

come si vede nulla.

ma quando passo $var (N.B è un array) non è che ha problemi?

E' ovvio che ha problemi !
Sono andato a vedere la pagina, ho messo dei valori e li ho inviati.
L'hai guardato il codice HTML della pagina con il grafico generato?

C'è scritto questo:
<iframe src="guida_gd/graficoDelay.php?var=".Array."

Quindi stai cercando di chiamare graficoDelay.php passandogli parametri sbagliati. Ci sono delle doppie virgolette di troppo e .Array. non significa nulla !

Prova a cambiare qualcosa.

Fenomeno85
26-11-2005, 13:07
ho provato a vedere se vede qualcosa la pagina del frame e nulla già lì non si vede l'array.

~§~ Sempre E Solo Lei ~§~

Fenomeno85
26-11-2005, 13:09
E' ovvio che ha problemi !
Sono andato a vedere la pagina, ho messo dei valori e li ho inviati.
L'hai guardato il codice HTML della pagina con il grafico generato?

C'è scritto questo:
<iframe src="guida_gd/graficoDelay.php?var=".Array."

Quindi stai cercando di chiamare graficoDelay.php passandogli parametri sbagliati. Ci sono delle doppie virgolette di troppo e .Array. non significa nulla !

Prova a cambiare qualcosa.

si quello l'ho notato :mbe: il problema è che cambio

~§~ Sempre E Solo Lei ~§~

Fenomeno85
26-11-2005, 13:37
ok forse funziona con una piccola modifica la serializzazione:D

~§~ Sempre E Solo Lei ~§~

pinok
26-11-2005, 13:49
ok forse funziona con una piccola modifica la serializzazione:D

~§~ Sempre E Solo Lei ~§~
:yeah: OK, si festeggia ;) :cincin:
Fammi sapere come và a finire !

Fenomeno85
26-11-2005, 14:05
:yeah: OK, si festeggia ;) :cincin:
Fammi sapere come và a finire !

allora guarda adesso il mio problema è dare in pasto il link che viene fuori alla img ho provato tutto ma nulla :muro:

http://www.fenomeno85.altervista.org/pag.php?pag=test_plot2.php

allora se prendi il link che compare nella pagina lo butti nel browser, compare il grafico.

~§~ Sempre E Solo Lei ~§~

Fenomeno85
26-11-2005, 14:09
:winner:

e funziona tuttooo :D

come son contento :D

http://www.fenomeno85.altervista.org/_altervista_ht/musica/22.gif

prossimo obbiettivo sarà permettere di visualizzare i diagrammi di bode e fase data una FdT :D

~§~ Sempre E Solo Lei ~§~