Problema Session

  • Creatore Discussione Creatore Discussione Emix
  • Data di inizio Data di inizio

Emix

Utente Attivo
15 Feb 2010
596
0
16
Ciao a tutti,
ho creato tre pagine "concatenate" nel senso che, la prima effettua una ricerca in un DB e passa in sessione quello che trova, premendo continua si va alla seconda pagina, qui si inseriscono dei codici barcode, ed altre info e poi si arriva alla terza pagina che raccoglie le informazioni delle due e crea un pdf...Fin qui tutto ok, ma le informazioni si perdono strada facendo.....

Questa è la prima pagina :

PHP:
<?php
session_start();
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Documento senza titolo</title>
</head>
<body bgcolor="#000000">
<table>
<form action="<?= $_SERVER['PHP_SELF'] ?>" method="post">
<tr>
<td>
<td><input type="text" placeholder="Cerca cliente" name="cerca_cliente" id="cerca_cliente" size="10" value=""></td> 
<td><input type="submit" name="cerca" id="cerca" value="Cerca"></td></tr></table>
<br />
<?php
include('connect.php');
if(isset($_POST['cerca'])) {
$cerca=$_POST['cerca_cliente'];
$querycliente = "SELECT * FROM clienti WHERE ragione LIKE '%$cerca%'";
$result=mysql_query($querycliente) or die (mysql_error());
while ($righe = mysql_fetch_array($result)) {
echo '
<p><table align=center" border="1">
<tr align="center">
<td width="130px">' . '
<p><b><font color="blue"> Ragione Sociale </font></b></p>
<td width="130px">' , '
<p><b><font color="blue"> Indirizzo </font></b></p>
<td width="130px">', '
<p><b><font color="blue"> Città </font></b></p>
<td width="130px">' , '
<p><b><font color="blue"> P.Iva </font></b></p>
<td width="130px">' , '
<p><b><font color="blue"> Telefono </font></b></p>
<td width="130px">' , '
<p><b><font color="blue"> Email </font></b></p>
<td width="130px">', '
<p><b><font color="blue"> Fax </font></b></p>
</tr>
<tr align="center">
<td width="130px"><font color="white">' . $righe['ragione'] . '</font></td>
<td width="130px"><font color="white">' . $righe['indirizzo'] . '</font></td> 
<td width="130px"><font color="white">' . $righe['citta'] . '</font></td>
<td width="130px"><font color="white">' . $righe['piva'] . '</font></td>
<td width="130px"><font color="white">' . $righe['telefono'] . '</font></td>
<td width="130px"><font color="white">' . $righe['mail'] . '</font></td>
<td width="130px"><font color="white">' . $righe['fax'] . '</font></td>
</tr></table>';
$_SESSION['piva']=$righe['piva'];
$_SESSION['ragione']=$righe['ragione'];
$_SESSION['indirizzo']=$righe['indirizzo'];
$_SESSION['citta']=$righe['citta'];
$_SESSION['telefono']=$righe['telefono'];
$_SESSION['cap']=$righe['cap'];
$_SESSION['provincia']=$righe['provincia'];

}
?>
<b><font color="#FFFFFF">Scegli la sede di appartenenza:</font></b><br />
<br />
<select name="sedi" id="sedi" >
<?php
$piva=$_SESSION['piva'];
echo '<br>';
$querysedi = 'SELECT * FROM sedi WHERE piva='.$piva.'';
$resultsedi=mysql_query($querysedi) or die (mysql_error());
while ($righesedi = mysql_fetch_array($resultsedi)) {
   echo'<option value="'.$righesedi['id'].'">'.$righesedi['id'].' - '.$righesedi['ubicazione'].'';
  }
  ?>
  	</option></select>
    <?php
}
?>
<br /><br />
<form action="altervista2.php" method="post">
<input type="submit" name="Avanti" onclick= "this.form.action='/pdf/altervista2.php'" value="Continua">
<?php
$_SESSION['piva']=$righe['piva'];
$_SESSION['ragione']=$righe['ragione'];
$_SESSION['indirizzo']=$righe['indirizzo'];
$_SESSION['citta']=$righe['citta'];
$_SESSION['telefono']=$righe['telefono'];
$_SESSION['cap']=$righe['cap'];
$_SESSION['provincia']=$righe['provincia'];
$_SESSION['provinciasede']=$righesedi['provincia'];
$_SESSION['cittasede']=$righesedi['citta'];
$_SESSION['ubicazione']=$righesedi['ubicazione'];
$_SESSION['capsede']=$righesedi['cap'];
?>
</form>
</body>
</html>

Da questa pagina si arriva alla seconda che interpreta altre istruzioni e ne genera altre, portando avanti le informazioni della prima :

PHP:
<?php
session_start();
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Documento senza titolo</title>
</head>
<body bgcolor="#000000">
<table>
<form action="<?= $_SERVER['PHP_SELF'] ?>" method="post">
<tr>
<td>
<td><input type="text" placeholder="Cerca cliente" name="cerca_cliente" id="cerca_cliente" size="10" value=""></td> 
<td><input type="submit" name="cerca" id="cerca" value="Cerca"></td></tr></table>
<br />
<?php
include('connect.php');
if(isset($_POST['cerca'])) {
$cerca=$_POST['cerca_cliente'];
$querycliente = "SELECT * FROM clienti WHERE ragione LIKE '%$cerca%'";
$result=mysql_query($querycliente) or die (mysql_error());
while ($righe = mysql_fetch_array($result)) {
echo '
<p><table align=center" border="1">
<tr align="center">
<td width="130px">' . '
<p><b><font color="blue"> Ragione Sociale </font></b></p>
<td width="130px">' , '
<p><b><font color="blue"> Indirizzo </font></b></p>
<td width="130px">', '
<p><b><font color="blue"> Città </font></b></p>
<td width="130px">' , '
<p><b><font color="blue"> P.Iva </font></b></p>
<td width="130px">' , '
<p><b><font color="blue"> Telefono </font></b></p>
<td width="130px">' , '
<p><b><font color="blue"> Email </font></b></p>
<td width="130px">', '
<p><b><font color="blue"> Fax </font></b></p>
</tr>
<tr align="center">
<td width="130px"><font color="white">' . $righe['ragione'] . '</font></td>
<td width="130px"><font color="white">' . $righe['indirizzo'] . '</font></td> 
<td width="130px"><font color="white">' . $righe['citta'] . '</font></td>
<td width="130px"><font color="white">' . $righe['piva'] . '</font></td>
<td width="130px"><font color="white">' . $righe['telefono'] . '</font></td>
<td width="130px"><font color="white">' . $righe['mail'] . '</font></td>
<td width="130px"><font color="white">' . $righe['fax'] . '</font></td>
</tr></table>';
$_SESSION['piva']=$righe['piva'];
$_SESSION['ragione']=$righe['ragione'];
$_SESSION['indirizzo']=$righe['indirizzo'];
$_SESSION['citta']=$righe['citta'];
$_SESSION['telefono']=$righe['telefono'];
$_SESSION['cap']=$righe['cap'];
$_SESSION['provincia']=$righe['provincia'];

}
?>
<b><font color="#FFFFFF">Scegli la sede di appartenenza:</font></b><br />
<br />
<select name="sedi" id="sedi" >
<?php
$piva=$_SESSION['piva'];
echo '<br>';
$querysedi = 'SELECT * FROM sedi WHERE piva='.$piva.'';
$resultsedi=mysql_query($querysedi) or die (mysql_error());
while ($righesedi = mysql_fetch_array($resultsedi)) {
   echo'<option value="'.$righesedi['id'].'">'.$righesedi['id'].' - '.$righesedi['ubicazione'].'';
  }
  ?>
  	</option></select>
    <?php
}
?>
<br /><br />
<form action="altervista2.php" method="post">
<input type="submit" name="Avanti" onclick= "this.form.action='/pdf/altervista2.php'" value="Continua">
<?php
$_SESSION['piva']=$righe['piva'];
$_SESSION['ragione']=$righe['ragione'];
$_SESSION['indirizzo']=$righe['indirizzo'];
$_SESSION['citta']=$righe['citta'];
$_SESSION['telefono']=$righe['telefono'];
$_SESSION['cap']=$righe['cap'];
$_SESSION['provincia']=$righe['provincia'];
$_SESSION['provinciasede']=$righesedi['provincia'];
$_SESSION['cittasede']=$righesedi['citta'];
$_SESSION['ubicazione']=$righesedi['ubicazione'];
$_SESSION['capsede']=$righesedi['cap'];
?>
</form>
</body>
</html>

E per finire si arriva alla pagina che interpreta le altre e crea il pdf:

PHP:
<?php
session_start();
define('FPDF_FONTPATH','font/');
require ('ddt_pdf.php');
include('connect.php');
    // $_SESSION['causale']=$causale;
	// $_SESSION['colli']=$colli;
	// $_SESSION['porto']=$porto;
	// $_SESSION['note']=$note;
if(isset($_POST['creapdf'])){
	$barcode=$_POST['barcodeart_vecchi'];
    $descrizione = $_POST['descrizione'];
	$quantita=$_POST['quantita'];
	$fornitore=$_POST['fornitore'];
	$codice=$_POST['codice'];
	$um=$_POST['UM'];
	$reparto=$_POST['reparto'];
    $prezzo = $_POST['prezzo'];
	$scontoperc=$_POST['scontoperc'];
    $scontoval=$_POST['scontoval'];
    $prezzosconto=$_POST['prezzosconto'];
	$causale=$_POST['causale'];
	$colli=$_POST['colli'];
	$porto=$_POST['porto'];
	$note=$_POST['note'];
	$vettore=$_POST['vettore'];
	$_SESSION['vettore']=$vettore;
	$_SESSION['causale']=$causale;
	$_SESSION['colli']=$colli;
    $_SESSION['porto']=$porto;
	$_SESSION['note']=$note;
    $_POST['piva']=$piva;
    $_POST['ragione']=$ragione;
    $_POST['indirizzo']=$indirizzo;
    $_POST['citta']=$citta;
    $_POST['telefono']=$telefono;
    $_POST['cap']=$cap;
    $_POST['provincia']=$provincia;
    $_POST['provinciasede']=$provinciasede;
    $_POST['cittasede']=$cittasede;
    $_POST['ubicazione']=$ubicazione;
    $_POST['capsede']=$capsede;
$message = "";
$border = "0";
	//provo in pfd
	$pdf = new INVOICE( 'P', 'mm', 'A4' );
	$pdf->Open();
	$pdf->AddPage();
	if( file_exists ( "$image_dir/esteso.txt" ))
		$pdf->SetLogo('images/logo.png',1);
	else {
		$pdf->SetLogo('images/logo.png');
	}
	$query = mysql_query("SELECT * FROM ddt ");
	$rows = mysql_fetch_array($query);
	$_SESSION['numero']=$rows['numero_doc'];
	//$_SESSION['anno']=$rows['anno'];
	$numero=$_SESSION['numero']+1;
	$anno=2013;
	$pdf->fact_dev( "DDT ",$numero,$anno); // // Label and number of invoice/estimate
	$pdf->addDate(date("d/m/Y"));
	$numeropagina=1;
	$pdf->addPageNumber($numeropagina);
	$pdf->addClient($ref);
	//$querydestinatario = mysql_query("SELECT * FROM clienti WHERE id='4' ");
	//$righe = mysql_fetch_array($querydestinatario);
	//$ragione=$righe['ragione'];
	//$ragione2=$righe['ragione2'];
	//$indirizzo=$righe['indirizzo'];
	//$cap=$righe['cap'];
	//$citta=$righe['citta'];
	//$pr=$righe['provincia'];
	//$piva=$righe['piva'];
	//if ($ragione2 == ""){
	//$pdf->addClientAdresse( 
	  //            $ragione."\n".
        //          $indirizzo."\n" .
          //        $cap."-".$citta." (".$pr.")\n".
			//	  "P.Iva ".$piva."\n"
				//  );	
	//}else{
	$pdf->addClientAdresse( 
	              $ragione."\n".
                  $indirizzo."\n" .
                  $cap."-".$citta." (".$pr.")\n".
				  "P.Iva ".$piva."\n".
				  "Tel ".$telefono."\n"
				  );	
	$pdf->addClientDest($re1);
	$pdf->addClientAdresseDest(
	$ubicazione."\n" .
    $capsede."-".$cittasede." (".$provinciasede.")\n"
	);  
	$pdf->addReglement($causale);
	$cols=array( REFERENCE    => 30,
                 DESCRIPTION  => 130, 
				 TOT_ART      => 15,
	             QUANTITY     => 15);
	$pdf->addCols( $cols);
	$cols=array( REFERENCE    => "L",
	             DESCRIPTION  => "L",
				 TOT_ART      => "C",
		         QUANTITY     => "C");
	$pdf->addLineFormat($cols);
	$y= 102;
	$size=0; // dummy value
	$tot_prods = array();
	$conta=count($barcode);
	$i = 0;
do {
	$line = array(      REFERENCE    => $codice[$i],
					    DESCRIPTION  => $descrizione[$i],
					    TOT_ART      => $um[$i],
					    QUANTITY     => $quantita[$i]); //codice IVA 
		$size = $pdf->addLine( $y, $line );
		$y   += $size;
	    $y   += $size;
		
	$altezza[$i]=$pdf->GetY();
	if ($altezza[$i] > 240){
		$pdf->addsegue($segue);
	//$pdf->SetAutoPageBreak(true,20);
	$pdf->AddPage();
	$pdf->SetLogo('images/logo.png');
	$pdf->addSociete( "La Via dell'Anima di Deborah Di Stefano",
                  "Via Lucio Papirio, 12\n" .
                  "00175 - ROMA\n".
				  "P.Iva 10649631008\n".
				  "C.F. DSTDRH72S54M088M\n" .
                  "Tel/Fax 06.71586477\n" .
				  "Email: [email protected]\n"
				  );
	$query = mysql_query("SELECT * FROM ddt ");
	$rows = mysql_fetch_array($query);
	$_SESSION['numero']=$rows['numero_doc'];
	//$_SESSION['anno']=$rows['anno'];
	$numero=$_SESSION['numero']+1;
	$anno=2013;
	$pdf->fact_dev( "DDT ",$numero,$anno); // // Label and number of invoice/estimate
	$pdf->addDate(date("d/m/Y"));
	$numeropagina=$numeropagina+1;
	$pdf->addPageNumber($numeropagina);
	$pdf->addClient($ref);
	//$querydestinatario = mysql_query("SELECT * FROM clienti WHERE id='4' ");
	//$righe = mysql_fetch_array($querydestinatario);
	//$ragione=$righe['ragione'];
	//$ragione2=$righe['ragione2'];
	//$indirizzo=$righe['indirizzo'];
	//$cap=$righe['cap'];
	//$citta=$righe['citta'];
	//$pr=$righe['provincia'];
	//$piva=$righe['piva'];
	//if ($ragione2 == ""){
	              $pdf->addClientAdresse( 
	              $ragione."\n".
                  $indirizzo."\n" .
                  $cap."-".$citta." (".$pr.")\n".
				  "P.Iva ".$piva."\n".
				  "Tel ".$telefono."\n"
				  );	
	$pdf->addClientDest($re1);
	$pdf->addClientAdresseDest(
	$ubicazione."\n" .
    $capsede."-".$cittasede." (".$provinciasede.")\n"
	);
	//}else{
	//$pdf->addClientAdresse( 
	  //            $ragione."\n".
		//		  $ragione2."\n".
        //          $indirizzo."\n" .
        //          $cap."-".$citta." (".$pr.")\n".
		//		  "P.Iva ".$piva."\n"
		//		  );	
	//}	 
	$pdf->addReglement($causale);
	$cols=array( REFERENCE    => 30,
                 DESCRIPTION  => 130, 
				 TOT_ART      => 15,
	             QUANTITY     => 15);
	$pdf->addCols( $cols);
	$cols=array( REFERENCE    => "L",
	             DESCRIPTION  => "L",
				 TOT_ART      => "C",
		         QUANTITY     => "C"); 
				 $i++;
				 $y=102;
				 $size=0; // dummy value
	             $tot_prods = array();
				 } else {
					 $i++;
					 }
                         }while ($i <= $conta) ;                                
	$pdf->addCadreTVAs();
	$params  = array();
	$pdf->addTVAs( $params, $tab_tva, $tot_prods);
	$pdf->addCadreEurosFrancs(); //conversione euro-franchi
    $footerMsg="NOTE: Qui ci vanno tutte le note che vogliamo";
	$pdf->SetFooterMsg($note);
	//$pdf->Output('doc.pdf','F');
	//header("Location: doc.pdf");
	$pdf->Output();
	}
?>

Ma nell'ultimo si perdono le informazioni della prima... quindi non riesco più a prendere il "destinatario"..
Mi sapete dire il motivo?
Ho anche provato tramite $_POST e campo hidden nella pagina intermedia ma niente... Nella seconda pagina se "stampo a video" la sessione la vedo correttamente...
 

Discussioni simili