15. november 2003 - 15:59
Der er
27 kommentarer og 1 løsning
Få variabel ind i en URL.
<form method='POST' action='login_success.php?action=AddDevice&device=<? $type ?>'> <select size='1'> <option>Choose device</option>´ <? #ikke done $query = "SELECT device_type FROM devices"; $result = mysql_query($query); while($row = mysql_fetch_array($result)) { $type = $row['device_type']; print " <option>$type</option> "; } ?> </select> <input type='submit' value='Add device' name='submit' class='inputbutton'> </form> Idéen med det er, at option skal udskrives en gang for hver værdi den bliver trukket ud, det virker sådan set også fint nok. Er der fx 2 værdien der hedder "hej" og "davs" Kommer den til at stå som en option. Men når jeg vælger det, så ved action='login_success.php?action=AddDevice&device=<? $type ?>'>, ikke hvilken værdi der er valgt, hvordan er det lige jeg får $type derop?
Annonceindlæg tema
Cloud & AI
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
Slettet bruger
15. november 2003 - 16:03
#1
Det er vist: <?= $type ?>
15. november 2003 - 16:08
#2
action='login_success.php?action=AddDevice&device=<?=$type?>'> Prøv det!?
15. november 2003 - 16:15
#3
Er allerede prøvet. Virker heller ikke.
15. november 2003 - 16:19
#4
<form method='POST' action='login_success.php?action=AddDevice&device=<?=$type?>'> <select size='1'> <option>Choose device</option> <? $query = "SELECT device_type FROM devices"; $result = mysql_query($query); while($row = mysql_fetch_array($result)) { $type = $row['device_type']; print "<option>$type</option>"; } ?> </select> <input type='submit' value='Add device' name='submit' class='inputbutton'> </form> Virker det ikke ?
15. november 2003 - 16:21
#5
Prøv også: <form method='get' action='login_success.php?action=AddDevice&device=<?=$type?>'> <select size='1'> <option>Choose device</option> <? $query = "SELECT device_type FROM devices"; $result = mysql_query($query); while($row = mysql_fetch_array($result)) { $type = $row['device_type']; print "<option>$type</option>"; } ?> </select> <input type='submit' value='Add device' name='submit' class='inputbutton'> </form>
15. november 2003 - 22:42
#6
Du kan lave 'hidden' fields i din formular i stedet: <input type="hidden" name="action" value="AddDevice"> <input type="hidden" name="device" value="<?php echo $type?>">
16. november 2003 - 14:19
#7
tjens: virkede heller ikke.
16. november 2003 - 14:21
#8
human > hidden-felter vil jo være at finde i $_POST-array'et, hvis du benytter method="post"...
16. november 2003 - 14:32
#9
Så hvordan er det du siger det skal se ud?
16. november 2003 - 15:49
#10
Måden jeg forsøger at gøre det på er sådan her: <form method='POST' action='login_success.php?action=AddDevice&device=<?= $type ?>'> <select size='1'> <option>Choose device</option>´ <? #ikke done $query = "SELECT device_type FROM devices"; $result = mysql_query($query); while($row = mysql_fetch_array($result)) { $type = $row['device_type']; print " <option>$type</option> "; } ?> </select> <input type='submit' value='Add device' name='submit' class='inputbutton'> </form> <? if(isset($_GET['device']) && $_GET['device'] == 'X8') { } Hvor X8 er værdien af et af felterne der kan vælges i option. Jeg kender altid værdien af felterne. Men det virker åbenbart ikke, hvordan skal det så se ud?
16. november 2003 - 16:16
#11
Ja, det tror jeg godt jeg kan hjælpe med. Lige 2 sek.
16. november 2003 - 16:38
#12
Du kan give select et navn: <select size='1' name='valg'> og option en value: <option value='$type'>$type</option> submit kan du lige fjerne mellemrum: <input type='submit' value='AddDevice' name='submit' class='inputbutton'> og action: <form method='POST' action='login_success.php'>
16. november 2003 - 16:43
#13
Så kan du hente værdien i login_success.php' med: if (isset($_POST['submit'] && $_POST['submit'] == "AddDevice") { $type = $_POST['valg']; }
16. november 2003 - 16:59
#14
Virker ikke. Hvis jeg gør sådan her: <form method='POST' action='login_success.php'> <select size='1' name="choose"> <option>Choose device</option> <? $query = "SELECT device_type FROM devices"; $result = mysql_query($query); while($row = mysql_fetch_array($result)) { $type = $row['device_type']; print " <option value='$type'>$type</option> "; } ?> </select> <input type='submit' value='AddDevice' name='submit' class='inputbutton'> </form> <? if(isset($_POST['submit']) && $_POST['submit'] == "AddDevice") { $type = $_POST['valg']; //Her bliver der vist en form } Så går den tilbage til login_success.php og der bliver ikke vist noget. Måske skal det siges, at dropdown'en er på login_success.php. Så der bliver aldrig skiftet side som sådan.
16. november 2003 - 17:00
#15
2 sec. Har lige set en fejl fra min side.
16. november 2003 - 17:04
#16
Nu har du jo ændret select navnet til: 'choose', så det skal være: $type = $_POST['choose'];
16. november 2003 - 17:05
#17
Yea, det jeg lige så. Men selvom jeg ændrede det tilbage så det var valg begge steder, går den tilbage til login_success.php.
16. november 2003 - 17:10
#18
men 'login_success.php' er jo osse din action, så det er vel meningen. Måske du skulle ændre opbugning til: <? if(isset($_POST['submit']) && $_POST['submit'] == "AddDevice") { $type = $_POST['valg']; //Her bliver der vist en form } else { ?> <form method='POST' action='login_success.php'> <select size='1' name="choose"> <option>Choose device</option> <? $query = "SELECT device_type FROM devices"; $result = mysql_query($query); while($row = mysql_fetch_array($result)) { $type = $row['device_type']; print " <option value='$type'>$type</option> "; } ?> </select> <input type='submit' value='AddDevice' name='submit' class='inputbutton'> </form> <? } ?>
16. november 2003 - 17:11
#19
selvfølgelig med choose = valg
16. november 2003 - 17:11
#20
Kigger på det.
16. november 2003 - 20:28
#21
Det virker sådan set, men hvis der er andre resultater end X8, så kommer formen alligevel udskrevet. Det skal være sådan, hvis du vælger andet end X8, så bliver der ikke vist noget.
16. november 2003 - 20:34
#22
Så kunne du bytte: if(isset($_POST['submit']) && $_POST['submit'] == "AddDevice") { ud med: if(isset($_POST['valg']) && $_POST['valg'] == "X8") {
16. november 2003 - 20:55
#23
Men hvad skal der egentlig så ske, hvis man vælger noget andet?
17. november 2003 - 09:06
#24
PÅ det tidspunkt hvor der bliver mulighed for at vælge noget andet, skal der bare vises en anden form. Gør mig bare klar til den tid :o)
17. november 2003 - 18:34
#25
Ok, kan du få det til at fungere?
18. november 2003 - 08:25
#26
Det kigger jeg på senere i dag. SKal lige have adgang til min egen comp først.
22. november 2003 - 13:35
#27
Smid et svar detox :)
23. november 2003 - 00:11
#28
Jeps c",)
Vi tilbyder markedets bedste kurser inden for webudvikling