---
title: "Svårt formulärtrubbel ?"
type: "forum-thread"
url: "https://www.webforum.nu/amne/html-css/71955-svårt-formulärtrubbel"
topic: "HTML & CSS"
topic_url: "https://www.webforum.nu/amne/html-css"
author: "Pellefant"
published: "2003-03-23T18:06:04.000Z"
updated: "2003-03-24T12:58:01.000Z"
replies: 14
views: 249
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/html-css/71955-svårt-formulärtrubbel"
---

# Svårt formulärtrubbel ?

## #1 — Pellefant, 2003-03-23T18:06Z

Hej! :)

Jag har detta  formulär som fungerar bra.

```php
<FORM METHOD="POST" ACTION="dlpage3.php?filename=<?echo $_GET['filename'];?>&programname=<?echo $_GET['programname'];?>&nam=<?echo $_POST["nam"];?>&company=<? echo $_POST["company"];?>&country=<? echo $_POST["country"];?>&email=<?echo  $_POST["email"];?>&phone=<?echo $_POST["phone"];?>"> 

<INPUT TYPE="text" maxlength="7" size="6"  NAME="serialnr" value=<?echo $serialnr?>> 
<INPUT TYPE="text" maxlength="4" size="6"  NAME="model" value=<?echo $model?>>
<INPUT TYPE="submit" value="Download 1">
</FORM>
```

 

Men....nu behöver jag lägga till en knapp till, som heter, "Download 2".

Fär båda knapparna behöver jag värdet från querystringen längst upp, måste denna flyttas ner till action nu i knappkoden?(jag vill väldigt gärna ha kvar querystringen på nästa sida)

På något sätt behöver jag skilja knapparna åt så att jag vet vilken som används(kanske kan lägga til ett värde till  i querystringen?).

Tacksam för hjälp.

(en del PHP är med, men det påverkar inte själva formulärfunktionen, så är du inte van med PHP kan du bortse från den koden bara)

Permalänk: https://www.webforum.nu/p/71955

## #2 — Matte, 2003-03-23T18:36Z

Du sätter lämligtvis olika name på knapparna:

```
<INPUT TYPE="submit" name="submit1" value="Download 1">
<INPUT TYPE="submit" name="submit2" value="Download 2">
```

 
Och sen på dlpage3.php

```
if (isset[$_POST['submit1']) {
  // Det som händer om man klickar på Download 1
}

if (isset[$_POST['submit2']) {
  // Det som händer om man klickar på Download 2
}
```

 
Det blev PHP-kod även i svaret.  :)

Permalänk: https://www.webforum.nu/p/986429

## #3 — Pellefant, 2003-03-23T18:51Z

Hej!

Tack. :)

Om jag inte vet namnet på knappen som trycks ned(det kan vara 14 olika namn varje gång, som läggs in med en PHP kod), kan namnet på knappen då tas fram på sida tre på något sätt.

Permalänk: https://www.webforum.nu/p/986439

## #4 — Matte, 2003-03-23T19:05Z

Nu är jag tveksam om jag förstår, eller rättare sagt jag förstår inte alls.

Är detta sida 1 eller sida 2?

På vilket sätt är namnet på knapparna okända för dig?

Du kan loopa igenom POST-variablerna eftersom de ligger en array:

```
foreach($_POST as $key => $val) {
   if ($key != "serialnr" && $key != "model") {
      Gör något med din okända knapp
   }
}
```

Permalänk: https://www.webforum.nu/p/986452

## #5 — Pellefant, 2003-03-23T19:16Z

Hej!   :)

Ursäkta att jag var oklar innan.

Koden som beskrivs i mitt första inlägg är den andra sidan.(dlpage2.php)

Knapparna handlar om att ladda ner ett av sju olika program. (när man kommer till sida två så vet man vilket program det gäller mha "programname" i querystringen)

De två knapparna handlar sedan om vilken version av programmet användaren vill ladda ner(det finns två versioner av varje program).

Förstår inte din kod riktigt, knappen kommer bara ha ett namn(ett filnamn av 14 möjliga går det namnet att få fram enkelt? (eller måste jag loopa igenom alla 14 namnen och kolla om något stämmer?)

Permalänk: https://www.webforum.nu/p/986467

## #6 — Matte, 2003-03-23T19:30Z

Nu förstår jag inte problemet.

Filnamnet/programnamnet skickas ju med querystring, så det val du har att göra är ju version 1 eller 2.

Klickar man på 'submit1' så kommer variabel 'submit1' att skickas, men 'submit2' kommer inte att skickas, och viceversa.

Sen i skriptet kollar du bara av vilken av de två knapparna som trycktes på. Bara namnet på den det trycktes på skickades som variabel till skriptet, så det är bara att kolla vilken variabel som finns.

Permalänk: https://www.webforum.nu/p/986483

## #7 — Pellefant, 2003-03-23T19:38Z

Hej!

Tack för ditt engagemang. :)

Ursäkta en följdfråga, men hur får jag fram om submit1 eller submit2 tryckts på då? 

Jag är urkass på formulär och knappar....som du kanske märker.

Permalänk: https://www.webforum.nu/p/986487

## #8 — Matte, 2003-03-23T19:54Z

```
// Finns variabeln submit1
if (isset[$_POST['submit1']) {
  // Det som händer om man klickar på Download 1
}

// Finns variabeln submit2
if (isset[$_POST['submit2']) {
  // Det som händer om man klickar på Download 2
}
```

Permalänk: https://www.webforum.nu/p/986491

## #9 — Pellefant, 2003-03-23T21:52Z

\*Tack\* För all hjälp Matte.

Permalänk: https://www.webforum.nu/p/986571

## #10 — Pellefant, 2003-03-23T23:30Z

Hej! :)

Har testat nu, får inte andra knappen att fungera. :(

Såhär ser slutet av koden ut:

```
<TABLE>
<TR>
	<TD valign="top"><center>

<INPUT TYPE="submit" name="submit1" style="width: 300px;"  value="Download as alt1"></center>

</FORM></TD><td width="10"></td>
	<TD valign="top"><center>
	
<INPUT TYPE="submit" name="submit2" style="width: 200px;"  value="Download as alt2"></center>

</FORM></TD>
</TR>
</TABLE>
```

Permalänk: https://www.webforum.nu/p/986599

## #11 — elvelind, 2003-03-24T00:47Z

ta bort den första \</form\> taggen. antar att båda knapparna ska ligga inom samma form

Permalänk: https://www.webforum.nu/p/986613

## #12 — Pellefant, 2003-03-24T01:00Z

\*Tack\*

Permalänk: https://www.webforum.nu/p/986618

## #13 — Pellefant, 2003-03-24T01:07Z

Problemet fortsätter :(

```
if($_GET["programname"]=="program1"){ 
    $sub="QRYOPT"; 
	if (isset($_POST['submit1']))  { 
      $filename="agxfgy.zip"; 
       } 
	if (isset($_POST['submit2']))  {
      $filename="QRYOPT.SAV.zip"; 
    } 
}
```

Väljer jag knapp1, så funkar det,  $filename får värdet agxfgy.zip", väljer man knapp två så fås inte något variabelvärde.

Så jag testade att kasta om dem:

```
if($_GET["programname"]=="program1"){ 
    $sub="QRYOPT"; 
	if (isset($_POST['submit2']))  { 
      $filename="agxfgy.zip"; 
       } 
	if (isset($_POST['submit1']))  {
         $filename="QRYOPT.SAV.zip"; 
    } 
}
```

Och då får variabeln värdet "QRYOPT.SAV.zip", dvs knapp ett fungerar hur jag än gör, men får inte in något värde i $filename om man väljer knapp två. ;(

Permalänk: https://www.webforum.nu/p/986620

## #14 — Matte, 2003-03-24T06:38Z

Låter hur skumt som helst.
Det ska fungera. Endast namn och värde från den knapp man trycker på ska skickas.

Vi får göra lite felsökning.
I det skript som tar emot formuläret (sida 3) lägger du följande kod:

```
echo "<pre>";
print_r($_POST);
echo "</pre>";
exit;
```

 
Prova att klicka på vardera knappen, och visa här vad du får ut.

Permalänk: https://www.webforum.nu/p/986636

## #15 — Pellefant, 2003-03-24T12:58Z

Hej!  :)

Det fungerar nu, det var en if sats några rader ovanför som ställde till det sista felet,

Tack så hemst mycket för all hjälp Matte!!!

Permalänk: https://www.webforum.nu/p/989735

---

Tråden på webben: https://www.webforum.nu/amne/html-css/71955-svårt-formulärtrubbel
