Avatar billede xbobby Nybegynder
06. oktober 2004 - 14:10 Der er 25 kommentarer og
1 løsning

Først request anden gang

Hej med jer

Jeg har en side, som bliver genbrugt, så alt kode kun er på en side, og hver gang der klikkes på et link eller en dropdown, så er det den samme side der vises igen, blot med noget nyt indhold i variablerne - fint nok.

Men når jeg kommer ind på side første gang, vil jeg gerne have at min reguest sætning er skjult.

requsten ser sådan ud <?php $gallery = $_REQUEST["dropdown"]; ?>

Hvordan gør jeg?

Hvad siger eksperterne? :-)
Avatar billede bojo Nybegynder
06. oktober 2004 - 14:52 #1
laver en cookie
Avatar billede xbobby Nybegynder
06. oktober 2004 - 15:03 #2
Jeg forstår godt din tanke, men nej jeg vil hellere lave det med en if et eller andet, som jeg har set, men bare ikke kan huske.

Problemet med cookie er at hvis folk har slået den fra, så vil siden ikke virker og den dutter ikke, selv om du har ret at det kunne være en måde at løse det på :-)
Men tak for buddet :-)
Avatar billede hmortensen Nybegynder
06. oktober 2004 - 15:18 #3
Jeg tror ikke jeg helt er med.
Er det hvis $_REQUEST["dropdown"] ikke er sat, så skal den ikke køre linie ?
Avatar billede bojo Nybegynder
06. oktober 2004 - 15:21 #4
er 1. og 2. gang i samme session er i dag og i morgen?

Hvis i samme session så kan du vel lave en session variabel og tjekke på den
Avatar billede bojo Nybegynder
06. oktober 2004 - 15:29 #5
jeg har aldrig leget med session før, men dette virker

session_start();
if ($HTTP_SESSION_VARS['dav'] != 1)
  echo "dav";
$HTTP_SESSION_VARS['dav'] = 1;
Avatar billede bojo Nybegynder
06. oktober 2004 - 15:34 #6
denne er vel bedre

    session_start();
    $id = session_id();
    if ($HTTP_SESSION_VARS['$id'] != 1)
        echo "dav";
    $HTTP_SESSION_VARS['$id'] = 1;
Avatar billede xbobby Nybegynder
06. oktober 2004 - 15:39 #7
Hej Hindu
Når jeg kommer ind på min side, så har jeg endnu ikke klikket på links eller dropdown på min side. Men i samme øjeblik at jeg gør det sender jeg en variabel i rumben af linket. F.eks "Masterside.php?value=titel". I det øjeblik jeg klikker på linket bliver siden opdateret og den størder på request der hedder:
$variabel = $_GET['value'];

Problemet er inden at jeg har klikket på dette link, så ligger før nævnte request der jo, fordi jeg laver alle ting på den samme side, og alt efter hvilken value der overføres henter jeg så forskellige oplysninger fra databasen.

Kort og godt $variabel = $_GET['value']; må ikke være synlig første gang du kommer ind på siden.

Til bojo
1 og 2 gang er den samme dag
Avatar billede bojo Nybegynder
06. oktober 2004 - 15:42 #8
så er det if( isset($titel) )
Avatar billede xbobby Nybegynder
06. oktober 2004 - 15:54 #9
Hej bojo
Den sidste du skriver om (15.42), hvordan vil du skrive det:

at hvis $titel eksisterer skal den udføre det der kommer lige efter "if" og "else" skal den udføre noget andet?

How to do that og hvad betyder det der isset?
Avatar billede bojo Nybegynder
06. oktober 2004 - 16:01 #10
hov, jeg lavede en fejl

if( isset($value) ) { // hvis $value er sat
      header("Location: ""Masterside.php?value=titel"); // nej, vis samme side med value sat

}
Avatar billede bojo Nybegynder
06. oktober 2004 - 16:05 #11
hov - sorry - kommentar var rigtig, men ikke kode.

if( !isset($value) ) { // hvis $value er sat
      header("Location: ""Masterside.php?value=titel"); // nej, vis samme side med value sat

}
Avatar billede bojo Nybegynder
06. oktober 2004 - 16:07 #12
jeg har vist en dårlig dag i dag, halvdelen af det jeg laver går i ged, så se bort fra den forkerte halvdel, tak  :-)
Avatar billede bojo Nybegynder
06. oktober 2004 - 17:01 #13
hov så ikke hele spørgsmålet

isset er til at teste om en variabel er sat, du sætter variablen $value til "titel" ved at kalde scriptet med ?value=titel, derfor svarer isset($value) False første gang men True resten. Det medfører dog et problem hvis folk gemmer link til siden er det jo http://...........?value=titel de gemmer og dermed har du problemet igen. Jeg ville nok lave denne hvis:

session_start();
    $id = session_id();
    if ($HTTP_SESSION_VARS['$id'] != 1) {
        $HTTP_SESSION_VARS['$id'] = 1;
        header("Location: ""Masterside.php?value=titel");
    }


På den måde gør det ikke noget at de gemmer den med ?value=titel
Avatar billede hmortensen Nybegynder
06. oktober 2004 - 17:08 #14
Kan du ikke bare bruge:
if (isset($_GET["value"]))
$variabel = $_GET["value"];
Avatar billede bojo Nybegynder
06. oktober 2004 - 17:11 #15
giver det ikke samme problem ved gemte links?
Avatar billede hmortensen Nybegynder
06. oktober 2004 - 17:14 #16
bojo, problem ? Hvis jeg bookmarker en side, vil jeg da også gerne til præcis den side igen, og ikke forsiden
Avatar billede xbobby Nybegynder
06. oktober 2004 - 17:22 #17
til bojo (svar 17.01)

Jeg får følgende fejlmeddelse ved dine kode:
Parse error: parse error, unexpected T_CONSTANT_ENCAPSED_STRING
Avatar billede xbobby Nybegynder
06. oktober 2004 - 17:24 #18
til hindu (svar 17.08)
Din kode skjuler requsten, nu mangler jeg blot "else",
kan du lave sådan en?
Avatar billede hmortensen Nybegynder
06. oktober 2004 - 17:26 #19
if (isset($_GET["value"])) {
$variabel = $_GET["value"];
} else {
//Din kode
}
Avatar billede bojo Nybegynder
06. oktober 2004 - 17:32 #20
hindu_skp < nej netop, men hvis han, som jeg har forstået det, IKKE vil have at man kommer der


session_start();
    $id = session_id();
    if ($HTTP_SESSION_VARS['$id'] != 1) {
        $HTTP_SESSION_VARS['$id'] = 1;
        header("Location: Masterside.php?value=titel");
    }

atter en dumme fejl, der var dobbelt " - tror snart jeg burde gå i seng :-)
Avatar billede xbobby Nybegynder
06. oktober 2004 - 17:42 #21
Til Hindu din kode (svar 17.26) fungerer perfekt, så for rigtigt svar er de 30 point dine, men da jeg syntes at bojo har langt en fabelagtig indsats for dagen, forhøjer jeg de 30 point med 30 mere, så der er 30 til jer begge, smid et svar hindu_skp og bojo - og tak for hjælpen fra en glad xbobby :-)
Avatar billede hmortensen Nybegynder
06. oktober 2004 - 17:44 #22
Det var så lidt.
Du behøver ikke smide flere poiont i for min skyld.

bojo, gå i seng :P
Avatar billede xbobby Nybegynder
06. oktober 2004 - 17:54 #23
Til hindu:
De 3o ekstra point er til bojo - ikke til dig :-)
hindu, gå i seng :P :-)
Avatar billede bojo Nybegynder
06. oktober 2004 - 17:55 #24
nej nej - 0 point uden løsning, tag dem selv
Avatar billede hmortensen Nybegynder
06. oktober 2004 - 17:55 #25
Mente bare at du godt kunne dele de 30, istedet for at smide flere i samlet :)
Avatar billede xbobby Nybegynder
06. oktober 2004 - 18:00 #26
Okay bobo - det styrer du selv - så smider jeg de 30 af sted til hindu.

Tak for hjælpen det har I gjort godt begge to :-)
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