Stampare due variabili da due pagine differenti in una terza pagina

icnarfx7

Nuovo Utente
25 Mar 2012
3
0
0
Vi saluto,
Sono Gabriela
Chiedo scusa, forse non scrivo molto bene – non sono italiana. Spero sollo di farmi capire.
La spiegazione potrebbe essere un po lunga ma strettamente necessaria.

Ho un problema con tre pagine che si aprono in tre iframe (ognuna nel suo iframe) su la stessa pagina.
Le pagine sono: tabella1.htm, tabela2.htm, total.php
A questi pagine corrispondono le pagine php: tabella1.php e tabella2.php che restituiscono i risultati di alcuni calcoli con delle variabili immesse nelle pagine htm dal utente.
Due risultati restituiti nelle pagine php devono essere visualizzate nella pagina total.php e poi fare vedere il loro prodotto.

Per capire meglio:
Nel file tabella1.htm:
HTML:
<form name="tab1" id="tab1" method="post" action="tabella1.php">

1. l’utente inserisce in un campo imput un valore:
HTML:
<input name="buc_1" type="text" id="buc_1" value="" />

2. Io ho inserito in un altro campo imput un altro valore:
HTML:
<input name="pret_1" type="text" id="pret_1" value="100.00" />

Il form tab1 finisce con un pulsante:
HTML:
<input type="submit" name="calculeaza" id="calculeaza" value="Calculează" onclick="function product ();"/>
</form>

Nel file tabella2.htm:
HTML:
<form name="tab2" id="tab2" method="post" action="tabella2.php">

1. l’utente inserisce in un campo imput un altro suo valore:
HTML:
<input name="buc_2" type="text" id="buc_2" value="" />

2. Io ho inserito in un altro campo imput un secondo valore:
HTML:
<input name="pret_2" type="text" id="pret_2" value="200.00" />

Il form tab2 finisce con un pulsante:
HTML:
<input type="submit" name="calculeaza" id="calculeaza" value="Calculează" onclick="function product ();"/>
</form>

Con il file tabella1.php restituisco:

1.) Il primo valore immesso dal utente :
PHP:
<?php 
$buc_1 = $_POST['buc_1']; 
$var=fopen("testo.txt", "w+"); 
fwrite($var, $buc_1); 
fclose($var); 
echo  $buc_1;
 ?>

2.) Il primo valore immesso da me:
PHP:
<?php 
$pret_1 = $_POST['pret_1']; 
$var=fopen("preturi.txt", "r"); 
fwrite($var, $pret_1); 
fclose($var); 
echo $pret_1; 
?>

3.) Prodotto:
PHP:
<? php
$buc_1 = $_POST['buc_1']; 
$pret_1 = $_POST['pret_1']; 
$t1 = ($buc_1 * $pret_1); 
if ($t1 > "0") { echo $t1; } 
?>


Con il file tabella2.php restituisco:

1.) Il secondo valore immesso dal utente:
PHP:
<?php 
$buc_2= $_POST['buc_2'];  
$var=fopen("testo.txt", "w+"); 
fwrite($var, $buc_2);
fclose($var); 
echo  $buc_2; 
?>

2.) Il secondo valore immesso da me:
PHP:
<?php 
$pret_2 = $_POST['pret_2']; 
$var=fopen("preturi.txt", "r"); 
fwrite($var, $pret_2); 
fclose($var); echo $pret_2; 
?>

3.) Prodotto:
PHP:
<? php
$buc_2 = $_POST['buc_2']; 
$pret_2 = $_POST['pret_2']; 
$t2 = ($buc_2 * $pret_2); 
if ($t2 > "0") { echo $t2; } 
?>

Fino qui tutto bene. Ma avrei bisogno stampare e poi sommare le due variabili $t1 e $t2 nella pagina total.php (la pagina che dovrebbe comparire nel terzo iframe della stesa pagina).

Qua il link con i tre frame: http://www.pentruminenatura.com/probe/pagini_test/ipreturi_g.htm

Le due tabelle erano inizialmente in un solo file e non era bisogno di fare tutto questo. Pero non potevo caricare sul server il file php. Si caricava spezzato.
Questo si puo vedere su questo link:

http://www.pentruminenatura.com/probe/pagini_test/ipreturi1.htm

Se i link non funziona da prima ricaricate la pagina utilizzando la freccia del browser.
Provate a immettere qualche valore nella colona Buc e premete il pulsante Calculeaza (che ha il significato di invia o calcola). Vedrete che nel file di risposta manca un pezzo della seconda tabella.
Se qualcuno puo darmi una soluzione li sarei grato.
Appena ho cominciato imparare php (lo faccio da sola), non ho tanta esperienza. Non so ancora niente di MySQL. Se esisterebbe una soluzione solo con php... sarebbe perfetto.
Grazie mille in anticipo.

Buona giornata a tutti!
 
ciao
benvenuta nel forum
prova in questa maniera
tabella1.php: prodotto
PHP:
<?php
session_start();//attenzione deve essere la prima riga della pagina prima di qualsiasi altre cosa
$buc_1 = $_POST['buc_1'];  
$pret_1 = $_POST['pret_1'];  
$t1 = ($buc_1 * $pret_1);  
if ($t1 > "0"){
	$_SESSION['t1']=$t1;
	echo $t1; }  
?>
tabella2.php: prodotto
PHP:
<?php 
session_start();//attenzione deve....
$buc_2 = $_POST['buc_2'];  
$pret_2 = $_POST['pret_2'];  
$t2 = ($buc_2 * $pret_2);  
if ($t2 > "0") {
	$_SESSION['t2']=$t2;
	echo $t2;
}  
?>
totali.php
PHP:
<?php
session_start();//attenzione deve....
$totale=$_SESSION['t1']+$_SESSION['t2'];
echo $totale;
?>
p.s.
non suddivedere (se è nella stessa pagina) il codice in spezzoni
 
Salve,
Pe la prima cosa, devo ringraziare Borgo per la risposta.
La seconda, devo dire che qualcosa ho ottenuto utilizando la variabile $_SESSION, pero, penso che non va bene per numeri.
La pagina total.php conserva il valore e questa non va bene, poi il calcolo e errato.

Sia non e questa la soluzione per le miei tabelle, sia non ho capito io bene come si fa.

So che c'e un altro modo, per quello che voglio fare pero, in questo momento non so come fare.
So solo teoreticamente ma praticamente no.

Nelle pagine tabella1.php e tabella2.php visualizzo a video i risultati e allo stesso tempo creo due form con action='total.php' e con tutti i campi type='hidden' e il pulsante per confermare i dati a video. Si tratta di creare due form nascosti: uno nella pagina tabella1.php e un altro nella pagina tabella2.php

Quando si premi il pulsante non si fa altro che inviare il form alla seconda pagina di elaborazione - total.php - con tutte le sue variabili in formato $_POST.

Le variabili che vengono stampati a video nella pagina total.php devono essere posti nella stessa pagina in quel form nascosto.
Ma come si fa?
Poi, nella pagina total.php come devo scrivere per visualizzare le stese variabili e utilizarle per fare un altro calcolo? In questa pagina devo visualizzare le variabili da due paggine diverse (tabella1.php e tabella2.php). Non so nemmeno se e possibile fare cosi.

Forse con questo metodo il valore non si conserva piu nella pagina total.php e forse il risultato restituito non sarebbe errato.

Ma ora non saprei come scrivere la sintassi, collocare i form nascosti nelle pagine.

C'e ancora tanto, tanto da imparare.

Non e che abbandono il problema. Devo trovare la soluzione.
Ma probabilmente mi mancano molti informazioni che devo imparare.

Se qualcuno ha tempo per pensare a questo problema e puo fornire qualche indizio, non sarebbe male.

Grazie ancora per la precedente risposta perche ho imparato da voi una cosa nuova per me.

Cari saluti a tutti!

Ps: Devo aggiungere qualche parola perche il mesaggio era tropo corto. Ecco gia fatto!
A presto.
 
Ci sono 7 file:
1: ipreturi_g.htm (questo contieni i tre iframe e si apre primo)
2 e 3: ipreturi1_1.htm e ipreturi1_2.htm (questi si aprono in due iframe nella pagina di sopra e contengono le tabelle dove l’utente immette i dati)
4 e 5: tpreturi1_1.php e tpreturi1_2.php (questi stampano a video tutto quello che c’e nelle 2 e 3, in piu fa un calcolo – il totale sulle colonne)
6: total.htm (e un file che si interpone tra 3-4 e l’ultimo, per dare la possibilita al cliente di inserire i dati nelle tabelle)
7: total_tva.php – l’ultimo (e il file che raccoglie le variabili da 3 e 4 e che stampa a video il prodotto con una costante )

Al inizio era cosi come ho spiegato nel precedente messaggio.
Dopo alcune modifiche, sono riuscita a fare funzionare e non mi da piu errore come prima.
Pero ci sono qualche problema, che se posso eliminare, andrebbe molto bene.

Ecco i problemmi:
1 Il calcolo si fa solo se si immette almeno una cifra nella collona Buc in entrambe le tabelle.
2 Se per caso voglio fare il calcolo immettendo dati solo in una tabela il calcolo non si fa.
3 Se voglio ripetere il calcolo utilizzando altri numeri, il calcolo si fa solo se immetto numeri in entrambe le tabelle e se immetto solo in una tabella si stampa a video il risultato precedente.
4 Se si puo cancellare i valori stampati a video quado voglio tornare per fare un altro calcolo e se si puo fare il calcolo anche immettendo i valori solo in una tabella.... queste sono i problemi rimaste da risolvere.
Fino qui ho spiegato .

Le tabelle possono essere visualizzate qui: http://www.pentruminenatura.com/probe/pagini_test/ipreturi_g.htm

Ora cerco di redare un po di codice dove ho evidenziato i elementi che interessano:
Ho scoperto che tutto cio che ho evidenziato non riesco rendere evidente nel messaggio. Alora ho salvato il messagio in formato htm e si trova caricato come allegato. Non so bene come funzionano i allegati ma penso che possono essere scaricati in qualche modo.

Pag 1: ipreturi_g.htm (la pagina principale)
HTML:
//il primo iframe
<iframe src="total.htm" name="total" id="total" scrolling="auto" height="50" width="956" frameborder="0" align="middle">
Non è possibile visualizzare questo perché il tuo browser non supporta gli iframe.
</iframe>

//il secondo iframe
<iframe src="ipreturi1_1.htm" name="tabel_1" id="tabel_1" scrolling="auto" height="3500" width="650" frameborder="0" align="middle">
Non è possibile visualizzare questo perché il tuo browser non supporta gli iframe.
</iframe>

//il terzo iframe
<iframe src="ipreturi1_2.htm" name="tabel_2" id="tabel_2" scrolling="auto" height="3500" width="650" frameborder="0" align="middle">
Non è possibile visualizzare questo perché il tuo browser non supporta gli iframe.
</iframe>

Pag 2: ipreturi1_1.htm (i - inserimento dati nella tabella 1)
HTML:
//inizio del form
<form name="tabel1" id="tabel1" method="post" action="tpreturi1_1.php" >

//una tabella con delle celle; riporto qui solo due rigghe, ognuna con due  celle che interessano 
   		 //la prima riga
<input name="pret_1" type="text" id="pret_1" value="295.00" size="5" class="obis" />

<input name="buc_1" type="text" id="buc_1" value="" size="2" class="obis" maxlength="2" title="Pentru un calcul corect, introduce-ţi doar numere întregi, de maxim 2 cifre." autocomplete="off" />
                //la seconda riga
<input name="pret_3" type="text" id="pret_3" value="160.00" size="5" class="obis" />
<input name="buc_3" type="text" id="buc_3" value="" size="2" class="obis" maxlength="2" title="Pentru un calcul corect, introduce-ţi doar numere întregi, de maxim 2 cifre." autocomplete="off" />
//il pulsante invia
<input type="submit" name="calculeaza2" id="calculeaza2" style="color:#4c7200" value="Calculează" onclick="function product ();" title="Calculează totalul produselor alese d-vs. " />
//il pulsante di ressetare
<input type="reset" name="reset2" id="reset2" style="color:#4c7200" value="Resetează" title="Dacă a-ţi gresit resetaţi pagina aici şi reluaţi operaţiunea." />
//fine del form
</form>

Pag 3: ipreturi1_2.htm (i - inserimento dati nella tabella 2)
Rasomiglia con la pag 2.
HTML:
//inizio del form
<form name="tabel2" id="tabel2" method="post" action="tpreturi1_2.php">
//una tabella con delle celle; riporto qui solo due rigghe, ognuna con due  celle che interessano 
                //la prima riga 
<input name="pret_121" type="text" id="pret_121" value="29.64" size="5" class="obis" />

<input name="buc_121" type="text" id="buc_121" value="" size="2" class="obis" maxlength="2" title="Pentru un calcul corect, introduce-ţi doar numere întregi, de maxim 2 cifre." autocomplete="off" />
   		//la seconda riga
<input name="pret_124" type="text" id="pret_124" value="80.50" size="5" class="obis" />
<input name="buc_124" type="text" id="buc_124" value="" size="2" class="obis" maxlength="2" title="Pentru un calcul corect, introduce-ţi doar numere întregi, de maxim 2 cifre." autocomplete="off"/>
//il pulsante invia
<input type="submit" name="calculeaza3" id="calculeaza3" style="color:#4c7200" value="Calculează" onclick="function product ();" title="Calculează totalul produselor alese d-vs. " />
//il pulsante di ressetare
<input type="reset" name="reset3" id="reset3" style="color:#4c7200" value="Resetează" title="Dacă a-ţi gresit resetaţi pagina aici şi reluaţi operaţiunea." />
//fine del form
</form>

Pag 4: tpreturi1_1.htm (recuperare e stampare a video le variabli dalla pag 2 – ipreturi1_1 e calcolo)
PHP:
<?php session_start();?>
//inizio del form
<form name="tabel1" id="tabel1">
		//nella prima riga
//recuperare e stampare a video la prima variabile (prima riga)
<?php $pret_1 = $_POST['pret_1']; $var=fopen("preturi.txt", "r"); fwrite($var, $pret_1); fclose($var); echo $pret_1; ?>
//recuperare e stampare a video la seconda variabile (prima riga)
<?php $buc_1 = $_POST['buc_1']; $var=fopen("testo.txt", "w+"); fwrite($var, $buc_1); fclose($var); echo "<div style=\"color: red;\"> $buc_1</div>"; ?>
//calcolare e stampare a video il prodotto delle due variabili (per la prima riga) 
<?php 
$buc_1 = $_POST['buc_1']; 
$pret_1 = $_POST['pret_1']; 
$t1 = ($buc_1 * $pret_1);
if ($t1 > "0") {	 
echo number_format ($t1, 2);}
?>
		//nella seconda riga
//recuperare la prima variabile (seconda riga)
<?php $pret_3 = $_POST['pret_3']; $var=fopen("preturi.txt", "r"); fwrite($var, $pret_3); fclose($var); echo $pret_3; ?>
//recuperare la seconda variabile (seconda riga)
<?php $buc_3 = $_POST['buc_3']; $var=fopen("testo.txt", "w+"); fwrite($var, $buc_3); fclose($var); echo  "<div style=\"color: red;\">$buc_3</div>"; ?>
//calcolare e stampare a video il prodotto delle due variabili (per la seconda riga) 
<?php  
$buc_3 = $_POST['buc_3']; 
$pret_3 = $_POST['pret_3']; 
$t3 = ($buc_3 * $pret_3);
 if ($t3 > "0") { 
echo  number_format ($t3, 2); } 
?>
//somare i due prodotti e stamparle a video (primo tottale)
<?php   
$buc_1 = $_POST['buc_1']; $pret_1 = $_POST['pret_1']; $t1 = ($buc_1 * $pret_1);
$buc_3 = $_POST['buc_3']; $pret_3 = $_POST['pret_3']; $t3 = ($buc_3 * $pret_3);
$tp1_pd = ($t1+$t3);
if ($tp1_pd > "0") {$_SESSION['tp1_pd'] = $tp1_pd;
		   echo number_format ($tp1_pd, 2); }
		   else{
			   echo "0";
			   }
		   ?>
// un bottone altro calcolo per tornare alla pagina precedente 
<a href="ipreturi1_1.htm" target="_self" onmouseover="cambia(calcul_nou1,'../img_flp/calcul_nou2.png')"  onmouseout="cambia(calcul_nou1,'../img_flp/calcul_nou1.png')">
          <img src="../img_flp/calcul_nou1.png" name="calcul_nou1" id="calcul_nou1" width="73" height="22" border="0" /></a>

// fine del form
</form>

Pag 5: tpreturi1_2.htm (recuperare e stampare a video le variabli dalla pag 3 – ipreturi1_2 e calcolo)
PHP:
<?php session_start();?>
//inizio del form
<form name="tabel2" id="tabel2">
		//nella prima riga
//recuperare e stampare a video la prima variabile (prima riga)
<?php $pret_121 = $_POST['pret_121']; $var=fopen("preturi.txt", "r"); fwrite($var, $pret_121); fclose($var); echo $pret_121; ?>
//recuperare e stampare a video la seconda variabile (prima riga)
<?php $buc_121 = $_POST['buc_121']; $var=fopen("testo.txt", "w+"); fwrite($var, $buc_121); fclose($var); echo "<div style=\"color: red;\"> $buc_121</div>"; ?>
//calcolare e stampare a video il prodotto delle due variabili (per la prima riga) 
<?php 
$buc_121 = $_POST['buc_121']; 
$pret_121 = $_POST['pret_121']; 
$t121 = ($buc_121 * $pret_121);
if ($t121 > "0") {	 
echo number_format ($t121, 2);}
?>
		//nella seconda riga
//recuperare la prima variabile (seconda riga)
<?php $pret_124 = $_POST['pret_124']; $var=fopen("preturi.txt", "r"); fwrite($var, $pret_124); fclose($var); echo $pret_124; ?>
//recuperare la seconda variabile (seconda riga)
<?php $buc_124 = $_POST['buc_124']; $var=fopen("testo.txt", "w+"); fwrite($var, $buc_124); fclose($var); echo  "<div style=\"color: red;\">$buc_124</div>"; ?>
//calcolare e stampare a video il prodotto delle due variabili (per la seconda riga) 
<?php  
$buc_124 = $_POST['buc_124']; 
$pret_124 = $_POST['pret_124']; 
$t124 = ($buc_124 * $pret_124);
 if ($t124 > "0") { 
echo  number_format ($t124, 2); } 
?>
//somare i due prodotti e stamparle a video (secondo tottale)
<?php   
$buc_121 = $_POST['buc_121']; $pret_121 = $_POST['pret_121']; $t121 = ($buc_121 * $pret_121);
$buc_124 = $_POST['buc_124']; $pret_124 = $_POST['pret_124']; $t3 = ($buc_124 * $pret_124);
$tp2_pd = ($t121+$t124);
if ($tp2_pd > "0") {$_SESSION['tp2_pd'] = $tp2_pd;
		   echo number_format ($tp2_pd, 2); }
		   else{
			   echo "0";
			   }
		   ?>
// un bottone altro calcolo per tornare alla pagina precedente
<a href="ipreturi1_2.htm" target="_self" onmouseover="cambia(calcul_nou1,'../img_flp/calcul_nou2.png')"  onmouseout="cambia(calcul_nou1,'../img_flp/calcul_nou1.png')">
          <img src="../img_flp/calcul_nou1.png" name="calcul_nou1" id="calcul_nou1" width="73" height="22" border="0" /></a>
//fine del form
</form>


Pag 6: total.htm (Tramite questo file si apre l’ultimo file che deve fare il totale delle due ultime variabili otenute nelle pagine 4 e 5.) – Contiene un form e un pulsante invia tramite quale si apre la pagina total_tva.php
HTML:
// inizio form
<form name="total_tva" id="total_tva" method="post" action="total_tva.php">
//pulsante invia
<input type="submit" name="calculeaza" id="calculeaza" style="color:#4c7200" value="Calculează totalul general" onclick="function product ();" title="Calculează totalul produselor alese d-vs din cele două tabele." />
//fine del form
</form>

Pag 7: total_tva.htm (racoglie le variabili da 3 e 4 e stampa a video il prodotto con una costante)

PHP:
<?php session_start();?>
// inizio form
<form name="total_tva" id="total_tva" >
//ho scritto questo cercando di fare funzionare immettendodati solo in una tabela ma non funziona
<?php
                    $ttva1_pd = $_SESSION['tp1_pd'];
	     	$ttva2_pd = $_SESSION['tp2_pd'];
	      	if ($ttva1_pd == "0" & $ttva2_pd > "0"){
		echo number_format (($ttva2_pd * 1.24), 2);}
		
		else if ($ttva1_pd > "0" & $ttva2_pd == "0"){
		echo number_format (($ttva1_pd * 1.24), 2);}
		
		else if ($ttva1_pd > "0" & $ttva2_pd > "0"){
		echo number_format ((($ttva1_pd  + $ttva2_pd )* 1.24), 2);}
		
		else if ($ttva1_pd == "0" & $ttva2_pd == "0"){
		echo "Alegeţi cel puţin un produs";}		
?>
// un bottone reset per tornare alla pagina precedente
<a href="total.htm" title="Dacă vreţi să efectuaţi un nou calcul, click aici!" target="_self" onmouseover="cambia(reset,'../img_flp/reset2.png')"  onmouseout="cambia(reset,'../img_flp/reset1.png')">
        <img src="../img_flp/reset1.png" width="73" height="22" border="0" name="reset" id="reset" /></a>

// fine del form
</form>
 

Discussioni simili