Newsgroup: it.comp.www.php
Titolo: Ancora su Download+Email

Vorrei poter fare scaricare un catalogo dal mio sito. Il file sta in
una directory "dowload" di cui vengono visualizzati i contenuti e,
quando questo viene selezionato, deve comparire un form da compilare;
al click sul pulsante OK del form deve arrivare a me una email con i
dati lasciati nel form e al navigatore deve aprirsi la finestra con il
Salva. Inoltre vorrei dare la possibilità di fare un altro download
senza dover riscrivere i dati nel form (e avevo pensato a memorizzare
delle variabili di sessione).
Sono riuscito a far funzioanre una cosa del genere in locale
(winXp+EasyPhp), ma da www (openBsd+Apache2+Php4.2.3) non funziona.
Aiuti? Dove sbaglio?
Riporto gli script senza "fronzoli"di html:
x_down.php [elenco dei file nella dir]
<table>
<?php
     $cartella=opendir('download');
       while ($file=readdir($cartella)){
            $array_file[]=$file;
        }
         foreach($array_file as $file){
            if($file!=".." && $file!=".") {
            echo"<tr><td>";
            $dimensioni_file=filesize("download/".$file);
             echo"<a href='x_down_1.php?nome_file=$file'>$file</a>
             </td>
             <td>";
              echo(ceil($dimensioni_file / 1024))." Kb";
               echo"</td></tr>";
               }
            }
?></table>
x_down_1.php [form da compilare: non scrivo tutto l'html ma oltre al
Riferimento nella stessa modalità chiedo anche email, città, e
telefono]
<?php
 session_start();
 include"header.php";
?>
Download del catalogo <b><?php echo"$nome_file";?></b>.
<table><tr> 
   <td>&nbsp;</td>
   <td class="testo_std">Riferimento *</td>
   <td>&nbsp;</td>
   <td><input name="riferimento" type="text" class="form" value=<?php
echo"$riferimento";?>></td>
</tr>
x_down_2.php [qui registro i dati passati dal form, me li mando per
email e "punto" veso il x_down_3.php che servrà per il dowload]
<?php
session_start();
session_register("riferimento");
session_register("email");
session_register("telefono");
session_register("provenienza");
$riferimento=$_POST["riferimento"];
$email=$_POST["email"];
$telefono=$_POST["telefono"];
$provenienza=$_POST["provenienza"];
//EMAIL
$nome_file=$_POST["nomefile"];
$sito = "
www.xxx.it
";
$mailDa = "
in...@xxx.it
";
$to = "
miae...@miodominio.it
\n";
$subject = "Richiesta Catalogo $nome_file da $sito\n";
$body = "Un visitatore del sito <b>$sito</b> ha fatto il download del
catalogo <b>$nome_file</b>:<br>I dati lasciati sono i
seguenti<p><table bgcolor=\"#f0f0f0\" border=\"1\"
bordercolor=\"#ffffff\" cellpadding=\"5\" cellspacing=\"0\">";
$body .= "<tr><td><b>Nome :        </b></td><td>" .
trim(stripslashes($_POST["riferimento"])) . "</td></tr>";
$body .= "<tr><td><b>Email :       </b></td><td>" .
trim(stripslashes($_POST["email"])) . "</td></tr>";
$body .= "<tr><td><b>Tel / Fax :   </b></td><td>" .
trim(stripslashes($_POST["telefono"])) . "</td></tr>";
$body .= "<tr><td><b>Città :       </b></td><td>" .
trim(stripslashes($_POST["provenienza"])) . "</td></tr></table>\n";
$headers =  "From: Modulo $sito<$mailDa>\n";
$headers .= "Content-Type: text/html; charset=iso-8859-1\n";
if(@mail($to, $subject, $body, $headers)) {
?>
<link href="css/style.css" rel="stylesheet" type="text/css">
<?php
    echo "Download disponibile.<BR>";
    echo "<a href=\"javascript://\" onClick=\"window.close();\"
class=\"interno\">|&nbsp;CHIUDI&nbsp;|</a><BR>";
    echo "<a href=\"x_down.php\" class=\"interno\">|&nbsp;ALTRO
DOWNLOAD&nbsp;|</a>";
    echo "
        <script language=\"JavaScript\">
        <!--
          document.location.href
=\"x_down_3.php?nome_file=$nome_file\"
        //-->
      </script>
      ";
} else {
echo "Si sono verificati dei problemi.<br>Contattare l'amministratore
del sito";
}
?>
x_down_3.php 
<?php
header("content-type: Application/octet-stream");
header("content-disposition: attachment; filename=$nome_file");
header("content-description: Download Php");
header("content-lenght: $dimensioni_file");
readfile("download/".$nome_file);
?>
-- 
Se mi conosci lo sai...
Se 'un mi conosci... sai una se## chi so'!!

Aiuti? Dove sbaglio?
Era una stron##ta... sbagliavo a passare le variabili!!!
