14. april 2007 - 16:09Der er
13 kommentarer og 1 løsning
Overfør variabel til næste side(r)
Jeg stillede forleden et spørgsmål om overførsel af variabler mellem forskellige formularer i forskellige filer. Jeg prøver at uddybe spørgsmålet lidt: Jeg vil sende oplysningen om hvilket felt der er afkrydset i min checkbox videre. Af hensyn til resten af programmet kan jeg ikke bruge action i form-linien. Det er formentlig ikke mulig, at bruge en link til at løse problemet?
Her er et udsnit af programmet: <html> <head> </head> <body> <form action="" method="post" name=""> <?php $sql="select sn,data from $branch order by sn"; $result=mysql_query($sql,$connection) or die(mysql_error()); while($row=mysql_fetch_array($result)) { ?> <tr> <td width="37" align="center"> <input type="checkbox" name="ref[]" value="<?php echo $row["sn"]; ?>"></td> <?php } ?> <input type="checkbox" name="ref[]" value="<?php echo $row["sn"]; ?>"> <input type="hidden" name="ids" value=<?php echo $ids; ?>; <input type="submit" name="editor" value="editor" /> <?php if(isset($_POST['editor'])) { if ( count( $_POST['ref'] ) > 0 ) { $ids = join( ",", $_POST['ref'] ); } } ?> </form> </body> </html>
Jeg kan se at resulatet er OK i denne del (ved hjælp af echo-linier). Problemet er at få ført værdierne videre.
Jeg så godt dit tidligere spørgsmål og jeg forstår stadig ikke helt hvad du gerne vil...
Du har vist en form herover. I den form viser du nogle informationer du henter fra en database. Fint nok, det virker. Så vil du sende formen og så siger du at du ikke kan bruge action="et eller andet"...
Hvor sender du formen hen ? Hvordan ser koden ud på den side du sender til ? Hvad skal der ske på den side du sender til ?
Side 2 er en php-fil med en editor, hvor man skal indtaste sine tekstdata. Ved at sende $ids oplysningen hertil, bliver der holdt styr på, hvilket punkt der blev valgt i chekboxen. Jeg sender derefter resultatet af editor-indtastningen videre til side3, hvor jeg vil lægge oplysningerne i en fil med et navn, der indeholder oplysningen om hvilket punkt, der blev valgt i checkboxen. f.eks nyfil + $ids.php. Så egentlig skal der ikke ske noget fra side1 til side2 - andet end oplysningen skal sendes videre til side3.
Side to indeholder udover en videre form, nogle <input type="hidden" name="navn_på_dem_fra_fil_1" value="<?php echo $_POST['navn_på_dem_fra_fil_1']; ?>" />
Altså et skjult input pr. felt/checkbox/osv i filerne før...
Det burde gøre det..
EX: <?php $sql="select sn,data from $branch order by sn"; $result=mysql_query($sql,$connection) or die(mysql_error()); while($row=mysql_fetch_array($result)) { ?> <input type="hidden" name="ref[]" value="<?php echo $_POST["ref[]"]; ?>"> //Du ved nok bedre selv hvordan det ser ud ;) -og ved godt jeg skriver en php-kommentar i html ;) <?php } ?> <input type="hidden" name="ids" value="<?php echo $_POST['ids']; ?>" /> <input type="hidden" name="editor" value="<?php echo $_POST['editor']; ?>" />
Noget i den stil ... Så ligger de gemt på side 2 selvom de blev indtastet på side 1 ... uden det skal lagres osv...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.