/ Forside/ Teknologi / Udvikling / PHP / Spørgsmål
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
Dobbelt submit
Fra : vildmeddans
Vist : 362 gange
20 point
Dato : 04-05-05 10:07

Jeg skal tilpasse til script, hvor data bliver skrevet/gemt i en fil. Siden har en masse inputfelter som brugeren skriver deres data i, men nu er det blevet tilpasset, så en del af felter kan udregne deres værdi ud fra nogle parametre, så brugeren ikke skal udfylde ca. 120 input-celler, men kan slippe med f.eks. 24. Når brugeren så trykker gem, skal data gemmes i filen. Problemet er at udregningen først sker, når siden skal vises, og det betyder at datafilen ikke indeholder de nyligt udregnede værdier, men de gamle undtaget indhold af manuelt indtastede felter.

Trykker brugeren gem igen, så vil datafilen indeholde de helt rigtige data. Men det er jo ikke holdbart at brugeren skal trykke gem 2 gange, før alle de rigtige værdier er gemt. Så jeg skal lige have lidt guddommelig vejledning til en løsning.

 
 
Kommentar
Fra : rfh


Dato : 04-05-05 13:00

Sæt en variable når der gemmes data i file og spørg om den er sat, hvis den er sat så kald en funktion eller redirekt til et andet script, måske derefter tilbage igen !!


Kommentar
Fra : vildmeddans


Dato : 04-05-05 15:50

Det skal jeg nok lgie have lidt hjælp til, da jeg har forsøgt det, dog uden held.

Kommentar
Fra : TeWeE


Dato : 04-05-05 16:27

Jeg er ikke helt sikker på hvad du mener, men det jeg forstår så retter den først filen til når den er blevet vist og bliver gemt igen?

Hvis dette er tilfældet, så må det den gør når filen bliver vist, bare blive gjort når man gemmer første gang?

Kan vi evt. det scriptet? Så kan vi hjælpe med idéer, for jeg er lidt lost på hvad du mener :)

Kommentar
Fra : Angband


Dato : 05-05-05 13:36

php ligger på din server og ikke på din brugers pc, så derfor skal brugeren submitte for at sende data til serveren og få et html output...

Du kan løse dit problem med at bruge JavaScript da det ligger på brugerens pc.

Kommentar
Fra : Angband


Dato : 05-05-05 13:47

p.s. altså lave input felternes udregninger med javascript og når brugeren så submitter gemmer du filen med php.

jeg kan ikke javaScript, men prøv http://www.w3schools.com/js/default.asp ellers så spørg på kandu's javascript forum

Og husk lige Java og Javascripts er ikke det samme

Kommentar
Fra : vildmeddans


Dato : 06-05-05 08:19

Angband -> Ja, det har jeg også overvejet, problemet ligger i at der sådan set kun er gem knappen, og at brugeren ikke vil kunne nøjes med, at man lige skal fjerne fokus fra en input for at få foretaget beregningen. Altså det jeg mener er at jeg jo skal have en handling, onChange........ for at få lavet udregningen, inden der submittes. Men måske har du en god løsning, som jeg lige har overset.

Scriptet, eller det relevante af scriptet, kommer hurtigst muligt.

Kommentar
Fra : vildmeddans


Dato : 06-05-05 08:33

Her er hele <div> som skaber outputtet (til skærm samt udregning)

<div style="clear:left;">
<b>Kostpristabel hovedrammer og gavlrammer (Felt 343)</b><br>
<table>
<tr><th rowspan="2">Spændvidde</th><th rowspan="2">Vægt</th>

<?php
   for ($i = 1; $i <= count($KORROSIONKLASSE); $i++) {
      echo "<th colspan=\"".count($typer)."\">$KORROSIONKLASSE[$i]</th>";
   }
?>

</tr>
<tr>

<?php
   for ($i = 0; $i < count($KORROSIONKLASSE); $i++) {
      reset($typer);
      while(list(,$val) = each($typer)) {
         echo "<th>$val</th>\n";
      }
   }
?>

</tr>


<?php

   for ($j = 1; $j <= count($kostpristabel); $j++) {
   $mld = 1;
      echo "<tr>\n";
      echo "<td>".$kostpristabel[$j]['spaendvidde']."</td>\n";
      echo "<td>".$kostpristabel[$j]['vaegt']."</td>\n";
      $antaltyper = count($typer);
      
      for ($i=1; $i<=($antaltyper*count($KORROSIONKLASSE)); $i++) {
         $modulus = $i % $antaltyper;
         if ($modulus==0){
            $modulus=$antaltyper;
         }
         if($i>$antaltyper) {
            $standard = number_format($TILLAEGOVERFLADE[$mld] + $KOSTPRIS1[$j][$modulus], 2, '.', '');
            echo "<td><input class=\"small\" type=\"text\" name=\"kost1[$j][$i]\" value=\"".$standard."\"></td>\n";
            if($modulus==$antaltyper){
               $mld++;
            }
         } else {
            echo "<td><input class=\"small\" type=\"text\" name=\"kost1[$j][$i]\" value=\"".$KOSTPRIS1[$j][$i]."\" onChange=\"beregn();\"></td>\n";
            if($modulus==$antaltyper){
               $mld++;
            }
         }
      }
      echo "</tr>\n";
   }
?>

</table>
</div>

Og kodestumpen (en anden side), som gemmer data.

   $KOSTPRIS1 = array();'."\n";   
   for ($i=1; $i<=8; $i++) {
      $res .= '$KOSTPRIS1['.$i.'] ='." array('0";
      for($j=1; $j<=(count($PRODUKTIONSMETODE)*count($KORROSIONKLASSE)); $j++) {
         $res .= "','";
         if ($_POST['kost1'][$i][$j] == '') $res .= '0';
         else $res .= str_replace(",", ".", $_POST['kost1'][$i][$j]);
      }
      $res .= "');\n\n";
   }
   
   $res .= '$KOSTPRIS2 = array();'."\n";   
   for ($i=1; $i<=8; $i++) {
      $res .= '$KOSTPRIS2['.$i.'] ='." array('0";
      for($j=1; $j<=(count($PRODUKTIONSMETODE)*count($KORROSIONKLASSE)); $j++) {
         $res .= "','";
         if ($_POST['kost2'][$i][$j] == '') $res .= '0';
         else $res .= str_replace(",", ".", $_POST['kost2'][$i][$j]);
      }
      $res .= "');\n\n";
   }

.
.//Der er 2 mere KOSTPRIS3 og 4, men de er helt ens med de 2 foregående.
.


Kommentar
Fra : TeWeE


Dato : 06-05-05 14:59

Forstår ikke helt hvad det er du vil? Det er også lidt svært at se hvad der skal ske når vi kun kan se en lille del af koden jo.. Vi kan jo ikke se alle de input felter der er før, hvilket gør at vi ikke kan se hvad der står i de variabler du bruger...

Det du spørger om at hjælp til at submitte 2 ting på en gang, men kan ikke engang finde en eneste submit i den kode her.

Kommentar
Fra : ancom


Dato : 07-05-05 14:39

Jeg er også enig i at dit spørgsmål er meget tvetydigt og svært at finde ud af.
Var det ikke en ide hvis du startede helt forfra med at give os en kopi af hele koden (evt uden personlige data og lignende) og et link hvor vi kan se den i funktion. Det er meget svært for os at forstå problemet hvis ikke vi kan se problemet i funktion

Kommentar
Fra : vildmeddans


Dato : 09-05-05 08:21

I kan da godt får hele koden, men jeg kan desværre ikke give jer et link, da det kører på et internt system, og der ikke er adgang hertil ude fra.

<?php
   include('../static/afsnit9.php');
   include('../static/afsnit3.php');

   //$typer = Array("CRB", "IPE", "Robot");
   $typer = $PRODUKTIONSMETODE;

   $kostpristabel = Array();
   $kostpristabel[1][spaendvidde] = "0-11,3";
   $kostpristabel[2][spaendvidde] = "11,3-13,3";
   $kostpristabel[3][spaendvidde] = "13,3-15,3";
   $kostpristabel[4][spaendvidde] = "15,3-17,3";
   $kostpristabel[5][spaendvidde] = "17,3-19,3";
   $kostpristabel[6][spaendvidde] = "19,3-21,3";
   $kostpristabel[7][spaendvidde] = "21,3-23,3";
   $kostpristabel[8][spaendvidde] = "23,3-";
   $kostpristabel[1][vaegt] = "0-560";
   $kostpristabel[2][vaegt] = "560-720";
   $kostpristabel[3][vaegt] = "720-860";
   $kostpristabel[4][vaegt] = "860-1035";
   $kostpristabel[5][vaegt] = "1035-1160";
   $kostpristabel[6][vaegt] = "1160-1350";
   $kostpristabel[7][vaegt] = "1350-1530";
   $kostpristabel[8][vaegt] = "1530-";

?>

<h2>Kalkulation</h2>

<form action="kalkulation_process.php" method="post" name="ds" id="ds" style="display:inline;">
<div>
<div>
<b>Procent-satser for hovedrammer (Felt 343)</b><br>
<table border="0">
   <tr>
      <th colspan="2" align="center">Symmetrisk</th>
      <th colspan="2" align="center">Asymmetrisk</th>
      <th colspan="2" align="center">Pulttag</th>
      <th rowspan="2" align="center">Gitter</th>
   </tr>
   
   <tr>
      <?php for($i=0; $i<count($PROCENTSATSER); $i++) {?>
         <th align="center" width="40px"> < <?php echo $PROCENTSATSER[$i][1];?></th>
         <th align="center" width="40px"> > <?php echo $PROCENTSATSER[$i][2];?></th>
      <? }?>
   </tr>

   <tr>
      <?php for($i=1; $i<=count($PROCENTSATSER); $i++) {?>
         <td>
            <input class="small" style="width:30px;" type="text" name="procentsats[<?php echo $i;?>][1]" value="<?php echo str_replace(',', '.', $PROCENTSATS[$i][1]); ?>">%
         </td>
         <td>
            <input class="small" style="width:30px;" type="text" name="procentsats[<?php echo $i;?>][2]" value="<?php echo $PROCENTSATS[$i][2]; ?>">%
         </td>
      <? }?>
      <td><input class="small" style="width:20px;" type="text" name="procentsats[<?PHP echo count($PROCENTSATSER)+1;?>][1]" value="<?php echo $PROCENTSATS[count($PROCENTSATSER)+1][1]; ?>">%</td>
   </tr>

</table>
</div>

<div>
<b>Procent-satser for ekstra rammer (Felt 355, 367 og 390)</b><br>
<table border="0">
   <tr>
      <th colspan="2" align="center">Felt 355</th>
      <th colspan="2" align="center">Felt 367</th>
      <th colspan="2" align="center">Felt 390</th>
   </tr>
   <tr>
      <?php for($i=0; $i<count($PROCENTSATSER2); $i++) {?>
         <th align="center" width="40px"> < <?php echo $PROCENTSATSER2[$i][1];?></th>
         <th align="center" width="40px"> > <?php echo $PROCENTSATSER2[$i][2];?></th>
      <? }?>
   </tr>

   <tr>
      <?php for($i=0; $i<count($PROCENTSATSER2); $i++) {?>
         <td>
            <input class="small" style="width:30px;" type="text" name="procentsats2[<?php echo $i;?>][1]" value="<?php echo $PROCENTSATS2[$i][1]; ?>">%
         </td>
         <td>
            <input class="small" style="width:30px;" type="text" name="procentsats2[<?php echo $i;?>][2]" value="<?php echo $PROCENTSATS2[$i][2]; ?>">%
         </td>
      <? }?>
   </tr>

</table>
</div>
<br>
<div>
<b>F<sub>yd</sub> (Felt 240)</b><br>
<table border="0">
   <tr>
      <th align="center">Lav</th>
      <th align="center">Normal</th>
      <th align="center">Høj</th>
   </tr>
   <tr>
      <td align="center"><input class="small" type="text" name="" value=""></td>
      <td align="center"><input class="small" type="text" name="" value=""></td>
      <td align="center"><input class="small" type="text" name="" value=""></td>
   </tr>
</table>
</div>
<br>
<div class="left">
<b>Kostpris</b><br>
<table><tr><td>
Kørsel:</td><td><input class="small" type="text" name="kostpris_koersel" value="<?php echo $KOSTPRIS_KOERSEL; ?>">
</td></tr><tr><td>
Ekstern fragt:</td><td><input class="small" type="text" name="kostpris_ekstern_fragt" value="<?php echo $KOSTPRIS_EKSTERN_FRAGT; ?>"><br>
</td></tr><tr><td>
Montage stål:</td><td><input class="small" type="text" name="kostpris_montage_staal" value="<?php echo $KOSTPRIS_MONTAGE_STAAL; ?>"><br>
</td></tr><tr><td>
Ekstern kran:</td><td><input class="small" type="text" name="kostpris_ekstern_kran" value="<?php echo $KOSTPRIS_EKSTERN_KRAN; ?>"><br>
</td></tr><tr><td>
Montage sigma:</td><td><input class="small" type="text" name="kostpris_montage_sigma" value="<?php echo $KOSTPRIS_MONTAGE_SIGMA; ?>"><br>
</td></tr></table>
</div>
<div class="left">
<b>Rør</b><br>
<table>
<tr><th>Type</th><th>Kg/m</th></tr>

<?php   
   $maxkey = 0;
   while (list($key,$val) = each($PIPE)) {
      if ($key > $maxkey) $maxkey = $key;
      echo "<tr>\n";
      echo "<td><input class=\"small\" type=\"text\" name=\"pipe[$key]\" value=\"$val\"></td>\n";
      echo "<td><input class=\"small\" type=\"text\" name=\"pipe2[$key]\" value=\"$PIPE2[$key]\"></td>\n";
      echo "</tr>\n";
   }
?>

<tr>
<td><input class="small" type="text" name="pipe[<?php echo ++$maxkey; ?>]" value=""></td>
<td><input class="small" type="text" name="pipe2[<?php echo $maxkey; ?>]" value=""></td>
</tr>
</table>
<b>Faktor: </b><input class="small" type="text" name="kipningsfaktor" value="<?php echo $KIPNINGSFAKTOR; ?>">
</div>

<div class="left">
<b>Valuta</b><br>
<table>
<tr><th>Valuta</th><th>Kurs</th></tr>

<?php   
   $maxkey = 0;
   while (list($key,$val) = each($VALUTA)) {
      if ($key > $maxkey) $maxkey = $key;
      echo "<tr>\n";
      echo "<td><input class=\"small\" type=\"text\" name=\"valuta[$key]\" value=\"$val\"></td>\n";
      echo "<td><input class=\"small\" type=\"text\" name=\"valuta2[$key]\" value=\"$VALUTA2[$key]\"></td>\n";
      echo "</tr>\n";
   }
?>

<tr>
<td><input class="small" type="text" name="valuta[<?php echo ++$maxkey; ?>]" value=""></td>
<td><input class="small" type="text" name="valuta2[<?php echo $maxkey; ?>]" value="<?php echo $VALUTA2[$key]; ?>"></td>
</tr>
</table>
</div>

<div class="left">
<b>Portoverliggere</b><br>
<table>
<tr><th>Type</th><th>Kg/m</th><th>kr./kg</th></tr>

<?php
   $maxkey = 0;
   while (list($key,$val) = each($DIM)) {
      if ($key > $maxkey) $maxkey = $key;
      echo "<tr>\n";
      echo "<td><input class=\"small\" type=\"text\" name=\"dim[$key][type]\" value=\"".$val['type']."\"></td>\n";
      echo "<td><input class=\"small\" type=\"text\" name=\"dim[$key][kgm]\" value=\"".$val['kgm']."\"></td>\n";
      echo "<td><input class=\"small\" type=\"text\" name=\"dim[$key][krkg]\" value=\"".$val['krkg']."\"></td>\n";
      echo "</tr>\n";
   }
?>
<tr>
<td><input class="small" type="text" name="dim[<?php echo ++$maxkey; ?>][type]" value=""></td>
<td><input class="small" type="text" name="dim[<?php echo $maxkey; ?>][kgm]" value=""></td>
<td><input class="small" type="text" name="dim[<?php echo $maxkey; ?>][krkg]" value=""></td>
</tr>

</table>
</div>

<div class="left">
<b>Sokkeljern</b><br>
<table>
<tr><th>Type</th><th>Kg/stk.</th><th>Kostpris/stk.</th></tr>

<?php
   $maxkey = 0;
   while (list($key,$val) = each($DIM2)) {
      if ($key > $maxkey) $maxkey = $key;
      echo "<tr>\n";
      echo "<td><input class=\"small\" type=\"text\" name=\"dim2[$key][type]\" value=\"".$val['type']."\"></td>\n";
      echo "<td><input class=\"small\" type=\"text\" name=\"dim2[$key][kgstk]\" value=\"".$val['kgstk']."\"></td>\n";
      echo "<td><input class=\"small\" type=\"text\" name=\"dim2[$key][krstk]\" value=\"".$val['krstk']."\"></td>\n";
      echo "</tr>\n";
   }
?>

<tr>
<td><input class="small" type="text" name="dim2[<?php echo ++$maxkey; ?>][type]" value=""></td>
<td><input class="small" type="text" name="dim2[<?php echo $maxkey; ?>][kgm]" value=""></td>
<td><input class="small" type="text" name="dim2[<?php echo $maxkey; ?>][krstk]" value=""></td>
</tr>

</table>
</div>
<div>
<b>Skydedøre</b><br>
<table>
<tr><th>
Kostpris:</th></tr><tr><td><input class="small" type="text" name="kostpris_skydedoere" value="<?php echo $KOSTPRIS_SKYDEDOERE; ?>">
</td></tr></table>
</div>
<div>
<input type="submit" name="gem" value="gem" size="10" class="submit">
</div>
</div>

<div style="clear:left;">
<b>Kostpristabel hovedrammer og gavlrammer (Felt 343)</b><br>
<table>
<tr><th rowspan="2">Spændvidde</th><th rowspan="2">Vægt</th>

<?php
   for ($i = 1; $i <= count($KORROSIONKLASSE); $i++) {
      echo "<th colspan=\"".count($typer)."\">$KORROSIONKLASSE[$i]</th>";
   }
?>

</tr>
<tr>

<?php
   for ($i = 0; $i < count($KORROSIONKLASSE); $i++) {
      reset($typer);
      while(list(,$val) = each($typer)) {
         echo "<th>$val</th>\n";
      }
   }
?>

</tr>


<?php

   for ($j = 1; $j <= count($kostpristabel); $j++) {
   $mld = 1;
      echo "<tr>\n";
      echo "<td>".$kostpristabel[$j]['spaendvidde']."</td>\n";
      echo "<td>".$kostpristabel[$j]['vaegt']."</td>\n";
      $antaltyper = count($typer);
      
      for ($i=1; $i<=($antaltyper*count($KORROSIONKLASSE)); $i++) {
         $modulus = $i % $antaltyper;
         if ($modulus==0){
            $modulus=$antaltyper;
         }
         if($i>$antaltyper) {
            $standard = number_format($TILLAEGOVERFLADE[$mld] + $KOSTPRIS1[$j][$modulus], 2, '.', '');
            echo "<td><input class=\"small\" type=\"text\" name=\"kost1[$j][$i]\" value=\"".$standard."\"></td>\n";
            if($modulus==$antaltyper){
               $mld++;
            }
         } else {
            echo "<td><input class=\"small\" type=\"text\" name=\"kost1[$j][$i]\" value=\"".$KOSTPRIS1[$j][$i]."\" onChange=\"beregn();\"></td>\n";
            if($modulus==$antaltyper){
               $mld++;
            }
         }
      }
      echo "</tr>\n";
   }
?>

</table>
</div>

<div>
<b>Kostpristabel IPE-søjler (Felt 395)</b><br>
<table>
<tr><th rowspan="2">Spændvidde</th><th rowspan="2">Vægt</th>

<?php
   for ($i = 1; $i <= count($KORROSIONKLASSE); $i++) {
      echo "<th colspan=\"".count($typer)."\">$KORROSIONKLASSE[$i]</th>";
   }
?>

</tr>
<tr>

<?php
   reset($typer);
   for ($i = 0; $i < count($KORROSIONKLASSE); $i++) {
      reset($typer);
      while(list(,$val) = each($typer)) {
         echo "<th>$val</th>\n";
      }
   }
?>

</tr>

<?php
   for ($j = 1; $j <= count($kostpristabel); $j++) {
   $mld = 1;
      echo "<tr>\n";
      echo "<td>".$kostpristabel[$j]['spaendvidde']."</td>\n";
      echo "<td>".$kostpristabel[$j]['vaegt']."</td>\n";
      $antaltyper = count($typer);
      
      for ($i=1; $i<=($antaltyper*count($KORROSIONKLASSE)); $i++) {
         $modulus = $i % $antaltyper;
         if ($modulus==0){
            $modulus=$antaltyper;
         }
         if($i>$antaltyper) {
            $standard = number_format($TILLAEGOVERFLADE[$mld] + $KOSTPRIS2[$j][$modulus], 2, '.', '');
            echo "<td><input class=\"small\" type=\"text\" name=\"kost2[$j][$i]\" value=\"".$standard."\"></td>\n";
            if($modulus==$antaltyper){
               $mld++;
            }
         } else {
            echo "<td><input class=\"small\" type=\"text\" name=\"kost2[$j][$i]\" value=\"".$KOSTPRIS2[$j][$i]."\"></td>\n";
            if($modulus==$antaltyper){
               $mld++;
            }
         }
      }
      echo "</tr>\n";
   }
?>

</table>
</div>

<div>
<b>Kostpristabel U-Søjler</b><br>
<table>
<tr>

<?php
   for ($i = 1; $i <= count($KORROSIONKLASSE); $i++) {
      echo "<th colspan=\"".count($typer)."\">$KORROSIONKLASSE[$i]</th>";
   }
?>
</tr>
<tr>

<?php
   for ($i = 0; $i < count($KORROSIONKLASSE); $i++) {
      reset($typer);
      while(list(,$val) = each($typer)) {
         echo "<th>$val</th>\n";
      }
   }
?>

</tr>

<tr>

<?php

   $mld = 1;
   $antaltyper = count($typer);
   $j = 1;
   for ($i=1; $i<=($antaltyper*count($KORROSIONKLASSE)); $i++) {
      $modulus = $i % $antaltyper;
      if ($modulus==0){
         $modulus=$antaltyper;
      }
      if($i>$antaltyper) {
         $standard = number_format($TILLAEGOVERFLADE[$mld] + $KOSTPRIS4[$j][$modulus], 2, '.', '');
         echo "<td><input class=\"small\" type=\"text\" name=\"kost4[$j][$i]\" value=\"".$standard."\"></td>\n";
         if($modulus==$antaltyper){
            $mld++;
         }
      } else {
         echo "<td><input class=\"small\" type=\"text\" name=\"kost4[$j][$i]\" value=\"".$KOSTPRIS4[$j][$i]."\"></td>\n";
         if($modulus==$antaltyper){
            $mld++;
         }
      }
   }
?>

</tr>
</table>
</div>

<div class="left" style="width:300px;">
<b>Tillægspris HEA-søjler incl. skrottillæg</b><br>
<table>
<tr>

<?php
   reset($typer);
   foreach ($typer as $val) {
      echo "<th>$val</th>\n";
   }
?>

</tr>
<tr>

<?php
   for ($i=1; $i <= count($typer); $i++) {
      echo "<td><input class=\"small\" type=\"text\" name=\"tillaegHEA[$i]\" value=\"".$TILLAEGHEA[$i]."\"></td>\n";
   }
?>

</tr>
</table>
</div>

<div class="left" style="width:300px;">
<b>Tillægspris HEB-søjler incl. skrottillæg</b><br>
<table>
<tr>

<?php
   reset($typer);
   foreach ($typer as $val) {
      echo "<th>$val</th>\n";
   }
?>

</tr>

<?php
   for ($i=1; $i <= count($typer); $i++) {
      echo "<td><input class=\"small\" type=\"text\" name=\"tillaegHEB[$i]\" value=\"".$TILLAEGHEB[$i]."\"></td>\n";
   }
?>

</table>
</div>
<div>
<b>Faktor: </b><input type="text" name="faktor" class="small" value="<?php echo $FAKTOR; ?>">
</div>
<div style="clear:left;">
<b>Kostpristabel Vindkryds</b><br>
<table>
<tr>

<?php
   for ($i = 1; $i <= count($KORROSIONKLASSE); $i++) {
      echo "<th colspan=\"".count($typer)."\">$KORROSIONKLASSE[$i]</th>";
   }
?>

</tr>
<tr>

<?php
   for ($i = 0; $i < count($KORROSIONKLASSE); $i++) {
      reset($typer);
      while(list(,$val) = each($typer)) {
         echo "<th>$val</th>\n";
      }
   }
?>

</tr>
<tr>

<?php
   $mld = 1;
   $antaltyper = count($typer);
   $j = 1;
   for ($i=1; $i<=($antaltyper*count($KORROSIONKLASSE)); $i++) {
      $modulus = $i % $antaltyper;
      if ($modulus==0){
         $modulus=$antaltyper;
      }
      if($i>$antaltyper) {
         $standard = number_format($TILLAEGOVERFLADE[$mld] + $KOSTPRIS3[$j][$modulus], 2, '.', '');
         echo "<td><input class=\"small\" type=\"text\" name=\"kost3[$j][$i]\" value=\"".$standard."\"></td>\n";
         if($modulus==$antaltyper){
            $mld++;
         }
      } else {
         echo "<td><input class=\"small\" type=\"text\" name=\"kost3[$j][$i]\" value=\"".$KOSTPRIS3[$j][$i]."\"></td>\n";
         if($modulus==$antaltyper){
            $mld++;
         }
      }
   }
?>

</tr>
</table>
<b>IPE</b><br>
<table>
<tr><td>Wy (10x3)</td><td>Profil</td><td>Kg/m</td></tr>
<?php   
   $maxkey = 0;
   while (list($key,$val) = each($IPE)) {
      if ($key > $maxkey) $maxkey = $key;
?>
<tr>
<td><input type="text" name="ipe[<?php echo $key; ?>][wy]" value="<?php echo $val[wy]; ?>"></td>
<td><input type="text" name="ipe[<?php echo $key; ?>][profil]" value="<?php echo $val[profil]; ?>"></td>
<td><input type="text" name="ipe[<?php echo $key; ?>][kg]" value="<?php echo $val[kg]; ?>"></td>
</tr>
<?php } ?>
<td><input type="text" name="ipe[<?php echo ++$maxkey; ?>][wy]" value=""></td>
<td><input type="text" name="ipe[<?php echo $maxkey; ?>][profil]" value=""></td>
<td><input type="text" name="ipe[<?php echo $maxkey; ?>][kg]" value=""></td>
</table>
<br>

<b>HEA</b><br>
<table>
<tr><td>Wy (10x3)</td><td>Profil</td><td>Kg/m</td></tr>
<?php   
   $maxkey = 0;
   while (list($key,$val) = each($HEA)) {
      if ($key > $maxkey) $maxkey = $key;
?>
<tr>
<td><input type="text" name="hea[<?php echo $key; ?>][wy]" value="<?php echo $val[wy]; ?>"></td>
<td><input type="text" name="hea[<?php echo $key; ?>][profil]" value="<?php echo $val[profil]; ?>"></td>
<td><input type="text" name="hea[<?php echo $key; ?>][kg]" value="<?php echo $val[kg]; ?>"></td>
</tr>
<?php } ?>
<td><input type="text" name="hea[<?php echo ++$maxkey; ?>][wy]" value=""></td>
<td><input type="text" name="hea[<?php echo $maxkey; ?>][profil]" value=""></td>
<td><input type="text" name="hea[<?php echo $maxkey; ?>][kg]" value=""></td>
</table>
<br>

<b>HEB</b><br>
<table>
<tr><td>Wy (10x3)</td><td>Profil</td><td>Kg/m</td></tr>
<?php   
   $maxkey = 0;
   while (list($key,$val) = each($HEB)) {
      if ($key > $maxkey) $maxkey = $key;
?>
<tr>
<td><input type="text" name="heb[<?php echo $key; ?>][wy]" value="<?php echo $val[wy]; ?>"></td>
<td><input type="text" name="heb[<?php echo $key; ?>][profil]" value="<?php echo $val[profil]; ?>"></td>
<td><input type="text" name="heb[<?php echo $key; ?>][kg]" value="<?php echo $val[kg]; ?>"></td>
</tr>
<?php } ?>
<td><input type="text" name="heb[<?php echo ++$maxkey; ?>][wy]" value=""></td>
<td><input type="text" name="heb[<?php echo $maxkey; ?>][profil]" value=""></td>
<td><input type="text" name="heb[<?php echo $maxkey; ?>][kg]" value=""></td>
</table>
<br>

<b>U</b><br>
<table>
<tr><td>Wy (10x3)</td><td>Profil</td><td>Kg/m</td></tr>
<?php   
   $maxkey = 0;
   while (list($key,$val) = each($U)) {
      if ($key > $maxkey) $maxkey = $key;
?>
<tr>
<td><input type="text" name="u[<?php echo $key; ?>][wy]" value="<?php echo $val[wy]; ?>"></td>
<td><input type="text" name="u[<?php echo $key; ?>][profil]" value="<?php echo $val[profil]; ?>"></td>
<td><input type="text" name="u[<?php echo $key; ?>][kg]" value="<?php echo $val[kg]; ?>"></td>
</tr>
<?php } ?>
<td><input type="text" name="u[<?php echo ++$maxkey; ?>][wy]" value=""></td>
<td><input type="text" name="u[<?php echo $maxkey; ?>][profil]" value=""></td>
<td><input type="text" name="u[<?php echo $maxkey; ?>][kg]" value=""></td>
</table>
<p>
<b>Forudsætninger og forbehold</b><br>
<textarea cols="40" rows="5" name="standardforbehold">
<?php echo $STANDARDFORBEHOLD; ?>
</textarea>
</p>
</div>
</form>


og koden fra kalkulation_process, som sørger for at gemme data.

<?php
   include('../static/afsnit3.php');

   $res = '<?php
   # DO NOT EDIT THIS FILE MANUALLY !!!

   $KOSTPRIS_KOERSEL = '.str_replace(',','.',$_POST['kostpris_koersel']).';

   $KOSTPRIS_EKSTERN_FRAGT = '.str_replace(',','.',$_POST['kostpris_ekstern_fragt']).';

   $KOSTPRIS_MONTAGE_STAAL = '.str_replace(',','.',$_POST['kostpris_montage_staal']).';

   $KOSTPRIS_EKSTERN_KRAN = '.str_replace(',','.',$_POST['kostpris_ekstern_kran']).';

   $KOSTPRIS_MONTAGE_SIGMA = '.str_replace(',','.',$_POST['kostpris_montage_sigma']).';

   $KOSTPRIS_SKYDEDOERE = '.str_replace(',','.',$_POST['kostpris_skydedoere']).';

   $PIPE = array(
   ';   

   while (list($key,$val) = each($_POST['pipe'])) {
      if ($val) $res .= '   "'.$key.'" => "'.$val.'",'."\n";
   }
   $res .= '
   );

   $PIPE2 = array(
   ';   

   while (list($key,$val) = each($_POST['pipe2'])) {
      if ($val) $res .= '   "'.$key.'" => "'.$val.'",'."\n";
   }
   $res .= '
   );

   $KIPNINGSFAKTOR = '.str_replace(',','.',$_POST['kipningsfaktor']).';

   $VALUTA = array(
   ';   

   while (list($key,$val) = each($_POST['valuta'])) {
      if ($val) $res .= '   "'.$key.'" => "'.$val.'",'."\n";
   }
   $res .= '
   );

   $VALUTA2 = array(
   ';   

   while (list($key,$val) = each($_POST['valuta2'])) {
      if ($val) $res .= '   "'.$key.'" => "'.str_replace(',','.',$val).'",'."\n";
   }
   $res .= '
   );


   $PROCENTSATS = array();'."\n";
   while (list($key,$val) = each($_POST['procentsats'])) {
      $res .= '   $PROCENTSATS['.$key."][1] = '".$val[1]."';\n";
      $res .= '   $PROCENTSATS['.$key."][2] = '".$val[2]."';\n";
   }
   $res .= '

   $PROCENTSATS2 = array();'."\n";
   while (list($key,$val) = each($_POST['procentsats2'])) {
      $res .= '   $PROCENTSATS2['.$key."][1] = '".$val[1]."';\n";
      $res .= '   $PROCENTSATS2['.$key."][2] = '".$val[2]."';\n";
   }
   $res .= '


   $DIM = array();'."\n";
   while (list($key,$val) = each($_POST['dim'])) {
      if ($val[type] != '') {
         $res .= '   $DIM['.$key."][type] = '".$val[type]."';\n";
         $res .= '   $DIM['.$key."][kgm] = '".$val[kgm]."';\n";
         $res .= '   $DIM['.$key."][krkg] = '".$val[krkg]."';\n";
      }
   }
   
   $res .= '   $DIM2 = array();'."\n";
   while (list($key,$val) = each($_POST['dim2'])) {
      if ($val[type] != '') {
         $res .= '   $DIM2['.$key."][type] = '".$val[type]."';\n";
         $res .= '   $DIM2['.$key."][kgstk] = '".$val[kgstk]."';\n";
         $res .= '   $DIM2['.$key."][krstk] = '".$val[krstk]."';\n";
      }
   }

   $res .= '   $FAKTOR = '."'".$_POST['faktor']."';\n";
   
   $res .= '$STANDARDFORBEHOLD = ' . "'" . $_POST['standardforbehold'] . "';\n\n";

   $res .= '   

   $KOSTPRIS1 = array();'."\n";   
   for ($i=1; $i<=8; $i++) {
      $res .= '$KOSTPRIS1['.$i.'] ='." array('0";
      for($j=1; $j<=(count($PRODUKTIONSMETODE)*count($KORROSIONKLASSE)); $j++) {
         $res .= "','";
         if ($_POST['kost1'][$i][$j] == '') $res .= '0';
         else $res .= str_replace(",", ".", $_POST['kost1'][$i][$j]);
      }
      $res .= "');\n\n";
   }
   
   $res .= '$KOSTPRIS2 = array();'."\n";   
   for ($i=1; $i<=8; $i++) {
      $res .= '$KOSTPRIS2['.$i.'] ='." array('0";
      for($j=1; $j<=(count($PRODUKTIONSMETODE)*count($KORROSIONKLASSE)); $j++) {
         $res .= "','";
         if ($_POST['kost2'][$i][$j] == '') $res .= '0';
         else $res .= str_replace(",", ".", $_POST['kost2'][$i][$j]);
      }
      $res .= "');\n\n";
   }


   $i = 1;
   $res .= '$KOSTPRIS3 = array();'."\n";   
   $res .= '$KOSTPRIS3['.$i.'] ='." array('0";
   for($j=1; $j<=(count($PRODUKTIONSMETODE)*count($KORROSIONKLASSE)); $j++) {
      $res .= "','";
      if ($_POST['kost3'][$i][$j] == '') $res .= '0';
      else $res .= str_replace(",", ".", $_POST['kost3'][$i][$j]);
   }
   $res .= "');\n\n";

   
   $i = 1;
   $res .= '$KOSTPRIS4 = array();'."\n";   
   $res .= '$KOSTPRIS4['.$i.'] ='." array('0";
   for($j=1; $j<=(count($PRODUKTIONSMETODE)*count($KORROSIONKLASSE)); $j++) {
      $res .= "','";
      if ($_POST['kost4'][$i][$j] == '') $res .= '0';
      else $res .= str_replace(",", ".", $_POST['kost4'][$i][$j]);   
   }
   $res .= "');\n\n";

   
   $res .= '$TILLAEGHEA'." = array('0','" . implode("','", $_POST['tillaegHEA']) . "');\n\n";

   $res .= '$TILLAEGHEB'." = array('0','" . implode("','", $_POST['tillaegHEB']) . "');\n\n";

   $res .= '$IPE = array();'."\n";   
   while (list($key,$val) = each($_POST['ipe'])) {
      if ($val[profil] != "") {
         $res .= '   $IPE['.$key."][wy] = '".$val[wy]."';\n";
         $res .= '   $IPE['.$key."][profil] = '".$val[profil]."';\n";
         $res .= '   $IPE['.$key."][kg] = '".$val[kg]."';\n";
      }
   }
   $res .= "\n";

   $res .= '$HEA = array();'."\n";   
   while (list($key,$val) = each($_POST['hea'])) {
      if ($val[profil] != "") {
         $res .= '   $HEA['.$key."][wy] = '".$val[wy]."';\n";
         $res .= '   $HEA['.$key."][profil] = '".$val[profil]."';\n";
         $res .= '   $HEA['.$key."][kg] = '".$val[kg]."';\n";
      }
   }
   $res .= "\n";

   $res .= '$HEB = array();'."\n";   
   while (list($key,$val) = each($_POST['heb'])) {
      if ($val[profil] != "") {
         $res .= '   $HEB['.$key."][wy] = '".$val[wy]."';\n";
         $res .= '   $HEB['.$key."][profil] = '".$val[profil]."';\n";
         $res .= '   $HEB['.$key."][kg] = '".$val[kg]."';\n";
      }
   }
   $res .= "\n";

   $res .= '$U = array();'."\n";   
   while (list($key,$val) = each($_POST['u'])) {
      if ($val[profil] != "") {
         $res .= '   $U['.$key."][wy] = '".$val[wy]."';\n";
         $res .= '   $U['.$key."][profil] = '".$val[profil]."';\n";
         $res .= '   $U['.$key."][kg] = '".$val[kg]."';\n";
      }
   }
   $res .= "\n";
   $res .= '?>';

   # Update the file
   $fp = fopen('../static/afsnit9.php', "w");
   fputs($fp, $res);
   fclose($fp);

   header("Location: index.php?page=kalkulation");
?>

Kommentar
Fra : TeWeE


Dato : 09-05-05 14:57

Okay.. Gider du udpege hvor den "dobbelt submit" skulle være, og hvor det skulle ske henne...

Kommentar
Fra : vildmeddans


Dato : 09-05-05 15:07

Der er kun en submit knap (<input type="submit" name="gem" value="gem" size="10" class="submit">). Problemet er at, når der ændres i de 3 første kolonner, og der trykkes gem.

Bliver alle data gemt, og så opstår problemet, idet de 3 første kolonner er med nye værdier, og de efterfølgende kolonner, er med de gamle værdier.

Når siden, så reloades, hvilket den gør, når den har gemt alt, så bliver de gamle værdier overskrevet med nye udregninger ud fra de nye værdier i de 3 første kolonner. Men for at få disse værdier gemt også, skal brugeren trykke gem igen, og det holder ikke.

Derfor skal jeg have hjælp til bare på en eller anden måde, have gemt alle data i et hug, om det på den ene eller anden måde, er hamrende ligegyldigt, bare det virker.

Kommentar
Fra : TeWeE


Dato : 09-05-05 15:28

Det første stykke af koden, hedder det index.php?page=kalkulation? Eller hvor sender den hen?
Jeg kan ikke helt se at når den er blevet sendt til den side som gemmer, hvor ryger den så hen?

Hvis det er tilbage til starten af koden (den første side), så er det jo bare at sende personen til den anden side en gang til, så når den så sender dig ned og gemmer dokumentet igen, så har den skrevet i en session at det er anden gang den er der..

<?
start_session();
$_SESSION[har_vaeret_her] == "ja";

if($_SESSION[har_vaeret_her == "ja") {
print "Du er færdig!";
} else {
//Gemmer data her
}
?>

Jeg ved ikke om det kan bruges, ellers så kan du jo gemme tingende i sessions, så har den dataerne uanset hvad, og så behøver du ikke submitte det igen hvis du bare skriver det rigtige data i...

(Er stadig lidt forvirret over din kodes opbygning)

Kommentar
Fra : vildmeddans


Dato : 10-05-05 08:15

Jeg vil give dig ret i at koden er lidt mærkeligt bygget op, men jeg kan desværre ikke sige hvorfor, da jeg er omkring nr 6. udvikler på projektet, og derfor ikke har nogen ide om de valg der er foretaget tidligere, og så fordi der intet dokumentation er...

Men jeg glemte nok lige det du påpeger. Deres er en index.php, som alle de andre sider kaldes i gennem denne. Index levere sådan set bare en generel top med en menu, og under den hentes så siden som kaldes via page-variablen. Så selve siden med beregningerne hedder kalkulation.php, men for at den skal virke efter hensigten skal den altså kaldes via index.php.

Jeg er umiddelbart mest hooked på de først session ide, for hvis jeg skal gemme alle værdier på side, så drejer det sig om lidt under 100 felter. Jeg tjekker lige på den første ide, om jeg kan få det til at virke.

Kommentar
Fra : vildmeddans


Dato : 10-05-05 08:24

Men der noget jeg ikke lige kan gennemskue.

Første gang man kommer ind på siden, fortager den et tjek på session. Den er ikke sat, så vi loader bare side. Nu ændrer vi så nogle værdier, og gemmer. På siden som gemmer sætte jeg session så den nu er sat, men jeg skal stadig væk have den til at loade siden og gemme på ny, for herefter at tømme sessionen. Hvordan gør jeg det?

Kommentar
Fra : vildmeddans


Dato : 23-05-05 08:47

Jeg har nu selv løst problemet. Hvordan lukker man dette spørgsmål?

Kommentar
Fra : rfh


Dato : 01-07-05 14:30

Du lukker ved at vælge en komentar, ude til højre trykker du på 'Accepter som svar',
hvis der ikke er nogle som passer, så må spørgsmål'et stå åbnen !!


Kommentar
Fra : vildmeddans


Dato : 06-07-05 09:15

Det vil sige, at man ikke kan lukke med sig egen løsning, idet jeg ikke kan vælge Accepter som svar, her på?

Du har følgende muligheder
Dette spørgsmål er blevet annulleret, det er derfor ikke muligt for at tilføje flere kommentarer.
Søg
Reklame
Statistik
Spørgsmål : 177435
Tips : 31962
Nyheder : 719565
Indlæg : 6407985
Brugere : 218879

Månedens bedste
Årets bedste
Sidste års bedste