Avatar billede zehrid Nybegynder
04. april 2005 - 12:28 Der er 12 kommentarer og
1 løsning

overførslen af variabler

på siden index.php skriver jeg bl.a.:

print '<a href="'.$PHP_SELF.'?anlaegsomraadeid='.$session_current.'"onClick="window.open(\'delomraade_tilfoej.php?anlaegsomraadeid='.$session_current.'\', \'slet3\', \'height=250, width=350, resizable=yes, scrollbars\');"><b>Nyt delområde</b></a></td></tr>';


på siden delomraade_tilfoej.php skriver jeg:

<form action="<?php echo $PHP_SELF; ?>" enctype="multipart/form-data" name="enform" method="post">
      <td><b>Navn</b></td>
      <td><input type="text" name="nydelomraade"></td>
      </tr>  .........................
........
if($submit) {

    if (isset($nydelomraade) && $nydelomraade != '')
    {
          $db->Query("INSERT INTO delomraade (navn,anlaegsomraadeid) VALUES ('$nydelomraade','$anlaegsomraadeid')");
          $id = mysql_insert_id();......................
..........

alligevel kan jeg ikke får """anlaegsomraadeid"""" til at være det samme som """""""".$session_current."""""" fra index.php siden.....

Hvordan kan det være ??
Avatar billede barklund Nybegynder
04. april 2005 - 12:31 #1
Damn, der er mange quotes?

Hvad er dit problem helt præcist? Det i databasen indsatte $anlaegsomraadeid er forkert? Men skal du ikke også hente værdierne fra $_POST og $_GET som:

$db->Query("INSERT INTO delomraade (navn,anlaegsomraadeid) VALUES ('$_POST[nydelomraade]','$_GET[anlaegsomraadeid]')");

:)
Avatar billede zehrid Nybegynder
04. april 2005 - 12:58 #2
hej. ja problemet er at indsatte $anlaegsomraadeid i databasen... jeg har prøvet med:
$db->Query("INSERT INTO delomraade (navn,anlaegsomraadeid) VALUES ('$HTTP_POST_VARS[nydelomraade]','$HTTP_GET_VARS[anlaegsomraadeid]')");
men virker stadigvæk ikke :( $nydelomraade virker fint.
Avatar billede barklund Nybegynder
04. april 2005 - 13:06 #3
HTTP_POST/GET_VARS er også noget PHP3 snask - det bruger du vel ikke?

Prøv engang i din popup først at se, hvilken URL den har fået - er delomraade_tilfoej.php?anlaegsomraadeid='.$session_current rigtigt overført?

Prøv så i popupen at se efter du har submittet din formular - findes værdien stadig i url'en?
Avatar billede zehrid Nybegynder
04. april 2005 - 13:14 #4
jeg jeg bruger php3 stadigvæk da applikationen er lavet i php3 :) for million milliardår siden

.../html/fejloversigt/delomraade_tilfoej.php?anlaegsomraadeid=7... det er min url i pop-up'en..dvs. den er overført.. og når jeg  submitter formularen.. så bliver min variabel ikke gemt i databasen. altså, variablen $anlaegsomraadeid for en standardværdi som er 0 :(
Avatar billede barklund Nybegynder
04. april 2005 - 13:43 #5
Prøv engang efter din formular er submittet at lave en var_dump($SERVER['QUERY_STRING']); exit; Bare for at se, om variablen nu ligger der som den skal.
Avatar billede zehrid Nybegynder
04. april 2005 - 14:21 #6
ved hjælp af phpmyadmin kan jeg se at formularen er submittet. der er altså tilføjet en ny række i tabellen delomraade med navn: det som er indtastet i textboxen og med en standardværdi :/ for $anlaegsomraadeid :/
Avatar billede barklund Nybegynder
04. april 2005 - 14:27 #7
Ja, men så er vi jo lige ned til at finde ud af, om anlaegsomraadeid bliver overført i url'en til den side, der behandler formular data. Ellers tilføj den til din formular som en hidden input øverst i din form:

<form action="<?php echo $PHP_SELF; ?>" enctype="multipart/form-data" name="enform" method="post">
  <input type="hidden" name="anlaegsomraadeid" value="<?php echo $HTTP_GET_VARS['anlaegsomraadeid']?>" />
...

Og se, om den så ikke kommer med videre.

--
Morten Barklund
Avatar billede zehrid Nybegynder
04. april 2005 - 14:50 #8
nu virker den! :) altså ved at tilføje formularen en hidden input. hvordan kan det væe? :) burde den ikke virke uden? btw. register_globals er sæt til ON
Avatar billede barklund Nybegynder
04. april 2005 - 14:55 #9
Problemet lå nok i, at din GET-variabel ikke røg med til siden efter din formular blev submittet - men jeg skal ikke kunne sige hvorfor.
Avatar billede barklund Nybegynder
04. april 2005 - 14:55 #10
Og et svar :)
Avatar billede zehrid Nybegynder
04. april 2005 - 15:01 #11
hvis jeg f.eks. skirver <?php print 'anlægsområdenr.: '; print $HTTP_GET_VARS['anlaegsomraadeid']; ?> så virker den fint uden hidden input.. meget mærkeligt synes jeg. men ok den virker med hidden input!
Avatar billede barklund Nybegynder
04. april 2005 - 15:02 #12
Tark for points :)
Avatar billede zehrid Nybegynder
04. april 2005 - 15:10 #13
.. mange tak også herfra :)
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester