Avatar billede jonasst Nybegynder
29. februar 2004 - 21:20 Der er 14 kommentarer

Hvordan håndtere jeg sendte variabler?

I min programl.php sender jeg følgende variabler til min bestil.php
<a href='bestil.php?id=$id&Titel=$titel'>

I min bestil.php vil jeg gerne have $titel vist i echo men hvordan? Lige nu virker den kun hvis jeg skriver den i starten af betil.php som kommer her:

<?php
if ($submit):

if (($antal=="") or ($navn=="") or ($email=="")) {
echo("Felterne antal, navn og email skal udfyldes! Gå tilbage og prøv igen");
exit();
}
$db = mysql_connect("", "", "");
mysql_select_db("",$db);

$sql = "INSERT INTO Reservationer SET
        Antal='$antal',
        Navn='$navn',
        Email='$email',
        ForestillingID='$id'";
       
if(@mysql_query($sql)) {       
echo("Du har nu bestilt $antal biletter");
} else {
echo("Der sket en fejl! Du har ikke bestilt nogen billetter pr&oslash;v igen: " .
mysql_error() . "");
}
?>
Avatar billede jakoba Nybegynder
29. februar 2004 - 21:38 #1
de værdier du sender med i adressn ankommer som get-parametre.

i gamle versioner af php betyder det at de direkte bliver lavet om til variable med det navn der fulgte med.  ?param=123456  bliver til en variabel  $param  med værdien 123456

i nyere php versioner bliver de lagt i et aray, eksemplet ovenfor bliver til arraycellen  $_GET['param'] mde den værdi.

så hvis du vil have noget der virker allevegne bør du foroven i dit script skrive noget i retning af

if ( !isset( $param ) ) {  // hvis ikke det hele er iorden allerede
    if ( isset( $_GET['param'] ) ) {  // hvis den ankom på den nye måde
        $param = $_GET['param'];      // så hent værdien derfra
    }
    if ( !isset( $param ) ) {  // hvis der slet ikke var nogen url-parameter
        $param = "default";    // så giv den en default værdi
    }
}
// og herefter kan du så stole på at $param indeholder den givne værdi hvis der var en, og default-værdien hvis der ikke var en.
Avatar billede jakoba Nybegynder
29. februar 2004 - 21:41 #2
I praksis kan du lave det meget enklere for du ved jo hvilken version af php du har. Du skal blot være opmærksom på at du måske skal rette hvis en dag du vil flytte.
Avatar billede jonasst Nybegynder
29. februar 2004 - 22:01 #3
Tak for det meget udførlige svar. Men mit problem er at jeg i ovenstående fil ikke kan få den sendte variable vist i mit echo formodentlig fordi variablen går tabt når jeg laver kaldet $sql
Avatar billede erikjacobsen Ekspert
29. februar 2004 - 22:03 #4
Hvis du vil have $navn ($_GET['navn']) med over skal du angive den i url-en i dit <a>-tag
Avatar billede jonasst Nybegynder
29. februar 2004 - 22:06 #5
Faktisk et genrelt PHP problem jeg har. Jeg kan godt lave de funktioner jeg vil hver for sig men problemerne opstår når jeg vil lave multi purpose sider
Avatar billede jonasst Nybegynder
29. februar 2004 - 22:10 #6
aha dvs når jeg sender<a href='bestil.php?id=$id&titel=$titel'>
skal der i bestil.php
stå echo("($_GET['$titel'])");
Avatar billede erikjacobsen Ekspert
29. februar 2004 - 22:13 #7
Næsten:  echo($_GET['titel']);
Avatar billede erikjacobsen Ekspert
29. februar 2004 - 22:14 #8
Og i dit spørgsmål er $submit heller ikke defineret.
Avatar billede jonasst Nybegynder
29. februar 2004 - 22:28 #9
DOUGH det vil bare ikke virke jeg skriver  echo($_GET['titel']); får ingen fejl men heller ikke noget ekko - aha selvfølgelig DOUGH DOUGH DOUGH der er jo fordi at variablerne forsvinder når jeg trykker på submit i min form
<form action="<?=$PHP_SELF?>" method="post">
Avatar billede jonasst Nybegynder
29. februar 2004 - 22:53 #10
Stort tak for hjælpen gider i smide et par svar?
Avatar billede jakoba Nybegynder
29. februar 2004 - 23:01 #11
Når det ikke hjalp skal der da ikke svares. Kan du lægge et link til den side der driller så vi kan se hvad der foregår ?
Avatar billede erikjacobsen Ekspert
29. februar 2004 - 23:07 #12
Tak, jeg samler ikke point. Bliv hellere ved med at spørge til du har 100% styr på det.
Vis evt. hvad du gør nu - vi har måske forbedringsforslag.
Avatar billede jonasst Nybegynder
01. marts 2004 - 09:19 #13
Det virker jo sådan set fint problemet var bare at værdieren gik tabt når jeg trykker submiti min form. Det medfører jo at siden bliver loadet igen "<?=$PHP_SELF?>" men uden variablerne. Så jeg har tænkt på om jeg så ikke bare skal lave nogle usynlige felter i min form så variablerne ikke forsvinder eller måske en session?

Hvordan kan man hente flere variabler med ($_GET['']); har prøvet ($_GET['var1, var2']); men det virker ikke hvad er syntaksen?
Avatar billede jakoba Nybegynder
01. marts 2004 - 16:59 #14
$_GET er et array. hver par af af namvn og værdi får en celle i det array
        ?var1=42&var2=olsen
bliver til
  $_GET['var1'] med værdien 42
  $_GET['var2'] med værdien 'olsen'
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