Martin: PERL->PHP->MySQL - Daten gehen unterwegs verloren

Beitrag lesen

TEXT kann ja nur 65565 Zeichen, wenn dein text länger ist, ist klar, wo der verloren geht.

Tja, aber das sind doch eben 63 kb, und ankommen tun nur ca. 5kb.

Allerdings wäre etwas relevanter(!) Code durchaus sinnvoll.

Na gut, hier ist der relevante Teil vom PERL-Script:

#############################################################################

PRINT SUCCESS PAGE

#############################################################################

&PrintHead;

if($FORM{'destnScript'}){
   $action = "$FORM{'destnScript'}"
  }

else{
   $action = $ENV{HTTP_REFERER};
  }

print qq~
  <form action="$action" method="post" name = "form1">
  <table align="center" width="500">
  <tr>
  <td><font face="Arial" size="2">The following files were successfully uploaded to<br>$dir: <br>
  If you see this for more than 10 seconds please press Submit.
  <p>
  ~;
  $i = 0;# M
  foreach(@success){
   $success[$i][1] = encode_base64($success[$i][1]); #M
   print qq~
   <input type=text name=$success[$i][0] value=$success[$i][1]><br>~; # M
   $i++; # M
  }

print "<input type=submit name=Submit value=Submit><br>";

while (($key, $value) = each(%passOnVariables)) {
    $value = encode_base64($value);
    print "<input type=hidden name=$key value='$value'><br>\n";
  }

if($fileExists){
   $fileExists = encode_base64($fileExists);
   print "<input type=hidden name=fileExists value='$fileExists'>"
  }

print qq~
  <input type="hidden" name="Submit" value="Submit">
  </font></td>
  </tr>
  </table>
  </form>
  <script type="text/javascript" language="Javascript">
  <!--
    document.form1.submit();
  -->
  </script>

<br>~;

#############################################################################

/PRINT SUCCESS PAGE

#############################################################################

Und das PHP-Script macht eigentlich nur:

if($update == "new"){
  $sql="INSERT INTO $table SET
  timestamp = NOW()
  ,enterdate = '$enteryear-$entermonth-$enterday $enterhour:$enterminute:00'
  ,jobauthor = '$jobauthor'
  ,jobname = '$jobname'
  ,type = '$type'
  ,size = '$size'
  ,quantity = '$quantity'
  ,eventlocation = '$eventlocation'
  ,eventdate = '$eventyear-$eventmonth-$eventday $eventhour:$eventminute:00'
  ,eventtitle = '$eventtitle'
  ,eventtheme = '$eventtheme'
  ,contentinfo = '$contentinfo'
  ,specialinfo = '$specialinfo'
  ,sponsors = '$sponsors'
  ,logos = '$logos'
  ,typeofprinting = '$typeofprinting'
  ,sides = '$sides'
  ,finishing = '$finishing'
  ,finishprintsize = '$finishprintsize'
  ,submitdate = '$submityear-$submitmonth-$submitday'
  ,proofdate = '$proofyear-$proofmonth-$proofday'
  ,duedate = '$dueyear-$duemonth-$dueday'
  ,receiveddate = '$receivedyear-$receivedmonth-$receivedday'
  ,status = '$status'
  ,filenamefront = '$FILE0'
  ,filenameback = '$FILE1'
  ,notes = '$notes'
  ,revision = '$revision'
  ,notified = '$notified'
  ,firstnameother = '$firstnameother'
  ,lastnameother = '$lastnameother'
  ,emailother = '$emailother'
  ";
  mysql_query($sql) or die("3rd query failed :".mysql_error());
 }

wobei $contentinfo und $specialinfo die Variablen sind, die nicht vollständig ankommen.

Gruß und Dank

Martin