marw_the_big_headed_rhino Skrevet 4. juli 2007 Skrevet 4. juli 2007 Lenge siden jeg har holdt på med dette... Men jeg har en adresse i adressefeltet mitt. Og jeg har et skript. Og jeg har en variabel i det skriptet som heter $htmlFile ... Hvordan skal jeg få $htmlFile til å bli satt lik webadradressen som er før skriptet blir kjørt? Dette er sikkert helt elementært, men nå er jeg trøtt :-) Hvis noen har noen gode råd og tips, er blir jeg glad!
jorgis Skrevet 4. juli 2007 Skrevet 4. juli 2007 $_SERVER er at array med variabler som webserveren og OSet allerede har definert for deg. Eksempel; echo 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['SCRIPT_NAME']; Er omtrent den enkleste måten å hente ut en full URL, og vil være greit nok i 95% av tilfellene. Legg likevel merke til at den har en del svakheter; * Den håndterer bare http://, og ikke andre protokoller som f.eks. https * Den tar ikke med request-variabler (art.php?artikkel=35 vil bli til bare art.php), dette kan løses med å legge til $_SERVER['QUERY_STRING']
marw_the_big_headed_rhino Skrevet 4. juli 2007 Forfatter Skrevet 4. juli 2007 (endret) <edit> Fungerer helt fint den </edit> Men har et problem til: Jeg har en hovedside, la oss kalle den server/hovedside.php Når jeg trykker på lenken som er nede i høyre hjørnet, skal den hente adressen til hovedvindu.php og lage pdf av den. hvis jeg legger echo 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['SCRIPT_NAME']; i skriptet, tar han kun vare på webadressen til pdf-creatoren min. Noen tips der? Endret 4. juli 2007 av bono_head
Gjest Slettet+142 Skrevet 4. juli 2007 Skrevet 4. juli 2007 Jeg hadde gjort dette: $webside = 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];
jorgis Skrevet 4. juli 2007 Skrevet 4. juli 2007 bono_head: Du er med andre ord på jakt etter forrige URL brukeren har besøkt? Brukeren er på hovedside.php og trykker på en link til pdf-creator.php (eksempel), og du er da på jakt etter hovedside.php? $_SERVER['HTTP_REFERER'] kan brukes, men husk at det er mulig å deaktivere referer-headerne, og det er veldig enkelt å forfalske en referer-header. Var jeg deg hadde jeg brukt en helt annen metode, som f.eks. å sende med url (eller mye bedre: artikkel-id el.l.) i GET til pdf-linken.
marw_the_big_headed_rhino Skrevet 4. juli 2007 Forfatter Skrevet 4. juli 2007 har du et eksempel på dette, jorgis?
marw_the_big_headed_rhino Skrevet 4. juli 2007 Forfatter Skrevet 4. juli 2007 (endret) det blir jo på samme webserver. Årsaken til at jeg er ute etter forrige url er at det er den jeg skal lage pdf av. Lagde en liten tegning i det excellente programmet paint for å vise. ]bilde[/url] Endret 4. juli 2007 av bono_head
jorgis Skrevet 4. juli 2007 Skrevet 4. juli 2007 Så hvorfor ikke la "Create PDF" linke til hovedside.php?create_pdf=true, f.eks? Så er det aldri noe rom for å manipulere hva som skal lages PDF av, og etter at pdf'en er laget og sendt avgårde, kan brukeren automatisk sendes tilbake til hovedside.php (selv om brukeren i realiteten aldri har forlatt hovedside.php). Da benytter du overnevnte (HTTP_HOST . REQUEST_URI) for å lage "Create PDF"-linken (bare sleng på ?create_pdf=true på slutten), og du slipper vanskeligheter med at ting kan manipuleres særlig mye. Om du er veldig paranoid kan du til og med hardkode inn PDF-linken.
Gjest Slettet+142 Skrevet 4. juli 2007 Skrevet 4. juli 2007 Side som inneholder PDF-knapp: ..... <a href="pdf.php">PDF Knapp</a> .... pdf.php: <?php $forrige_url = $_SERVER["HTTP_REFERER"]; echo 'Du kom ifra denne URL'en: <i>'.$forrige_url.'</i>'; ?> ... Om du ikke gjør som jorgis tipser, er vel det over eksempel på det forrige jorgis sa...
marw_the_big_headed_rhino Skrevet 4. juli 2007 Forfatter Skrevet 4. juli 2007 (endret) pdf.php:<?php$forrige_url = $_SERVER["HTTP_REFERER"];echo 'Du kom ifra denne URL'en: <i>'.$forrige_url.'</i>';?> Limte inn denne "$forrige_url = $_SERVER["HTTP_REFERER"];echo 'Du kom ifra denne URL'en: <i>'.$forrige_url.'</i>';" direkte i filen, og da fikk jeg: Parse error: syntax error, unexpected T_STRING, expecting ',' or ';' in /var/www/jhtml2pdf/testpdf.php on line 27 Endret 5. juli 2007 av bono_head
jorgis Skrevet 4. juli 2007 Skrevet 4. juli 2007 I en streng omsluttet av enkeltfnutter ( ' ) kan du ikke bruke enkeltfnutter (som i "URL'en"). Det korrekte skal være; <?php $forrige_url = $_SERVER["HTTP_REFERER"]; echo "Du kom ifra denne URL'en: <i>{$forrige_url}</i>"; ?>
Gjest Slettet+142 Skrevet 4. juli 2007 Skrevet 4. juli 2007 I en streng omsluttet av enkeltfnutter ( ' ) kan du ikke bruke enkeltfnutter (som i "URL'en"). Det korrekte skal være; 9001570[/snapback] Kremt, gikk litt fort i svingene der, ja
marw_the_big_headed_rhino Skrevet 4. juli 2007 Forfatter Skrevet 4. juli 2007 Så hvorfor ikke la "Create PDF" linke til hovedside.php?create_pdf=true, f.eks? Så er det aldri noe rom for å manipulere hva som skal lages PDF av, og etter at pdf'en er laget og sendt avgårde, kan brukeren automatisk sendes tilbake til hovedside.php (selv om brukeren i realiteten aldri har forlatt hovedside.php). Da benytter du overnevnte (HTTP_HOST . REQUEST_URI) for å lage "Create PDF"-linken (bare sleng på ?create_pdf=true på slutten), og du slipper vanskeligheter med at ting kan manipuleres særlig mye. Om du er veldig paranoid kan du til og med hardkode inn PDF-linken. 9001035[/snapback] Har du et eksempel til meg? Må prøve når jeg sitter foran laptopen i morgen tidlig...
jorgis Skrevet 4. juli 2007 Skrevet 4. juli 2007 (endret) hovedside.php <?php if (isset($_GET['create_pdf']) && $_GET['create_pdf'] == 'true') { // Lag PDF-versjon og vis den til bruker } // Resten av hovedside.php, inkludert Create PDF-linken din, som blir // $nåværende_side + "?create_pdf=true" Det finnes et utall andre måter å løse dette på, men dette var det første jeg kom på som en ålreit løsning. Kommer selvfølgelig an på hvordan resten av systemet ditt er satt sammen.. Endret 4. juli 2007 av jorgis
marw_the_big_headed_rhino Skrevet 5. juli 2007 Forfatter Skrevet 5. juli 2007 Nå er litt av problemet at jeg har 130 hovedsider (wrapper). Er det noen måte å appende dette til nettadressen? Tusen takk for hjelpen så langt!
Gjest Slettet+142 Skrevet 5. juli 2007 Skrevet 5. juli 2007 Du kan jo sette en variabel etter hvilken fil som lastes. Eller konstant. At du for eksempel kan ha i toppen av hver fil som skal inkluderes dette: define("SIDE", __FILE__); Eller misforstod jeg nå?
marw_the_big_headed_rhino Skrevet 5. juli 2007 Forfatter Skrevet 5. juli 2007 Har du noe eksempel på det? Jeg er usikker på hva du mener her med define("SIDE", _FILE_); HTTP_REFERER fungerer helt fint! Har et til spm i samme slengen: Skal lage en previous next. Adressen er 192.168./server/index.php?option=com_wrapper&Itemid=17 Er det noe lett måte å sjekke Itemid=et tall, og la previous være tall -1 og next være tall + 1?
Gjest Slettet+142 Skrevet 5. juli 2007 Skrevet 5. juli 2007 Jeg vet ikke helt hvordan systemet med alle disse "hovedsidene" dine er satt opp så kan ikke gi noe mer eksempel enn forslaget over. Men til det nye spørsmålet; is_numeric() Eksempel på bruk av is_numeric(): <?php $tall = 5; if( is_numeric($tall) ){ echo "{$tall} er et tall!"; }else{ echo "{$tall} er ikke et tall!"; } ?>
marw_the_big_headed_rhino Skrevet 5. juli 2007 Forfatter Skrevet 5. juli 2007 Tror spørsmålet går mer på hvordan skal jeg klare å få tak i de to-tre siste tallene i nett-adressen for å sjekke på ?
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå