Avatar billede deadkennedy Nybegynder
26. juli 2006 - 02:40 Der er 11 kommentarer og
1 løsning

Åbning af eksakt adresse

Goddag.

Jeg er i færd med omkonstruktion af et download system, der skal ende som et funktionsdygtigt linksystem.
Jeg er desværre stødt ind i et lille problem, og vil sætte meget stor pris på dets løsning!

Linkets adresse samt beskrivelse, er tilføjet via én bestemt side. Den side jeg nedenstående omtaler, er siden der fremviser links;

- Når jeg benytter følgende linie, der oprindeligt tilhørte et download system - åbner systemet ikke den eksakt angivende adresse, den åbner den dertilhørende side, efterfulgt af det aktuelle link. Dvs. Hvis siden hvorpå dette system tilføjes hedder www.123.dk, oprettes linket således: http://www.123.dk/www.AktueltLink.dk
Jeg ønsker selvfølgelig at den udelukkende skal linke den aktuelle adresse, og vil blive utrolig glad hvis dette kan løses.

Jeg benytter følgende linie:
echo "<p><b><a href=\"$row[url]\">$row[navn]</a>:</b><br>$row[text]";

På forhånd mange tak!
- Informer mig venligst hvis pointfragivelsen er for lav.
Avatar billede thesurfer Nybegynder
26. juli 2006 - 02:45 #1
Du laver et lille check, mellem form-submit og databasen:

Dvs:
1) Form-submit
2) Check om inputtet fra brugeren indeholder "http", hvis ikke: tilføj det
3) Indsæt data i databasen
Avatar billede thesurfer Nybegynder
26. juli 2006 - 03:02 #2
Eksempel:

<?php
$url = 'www.AktueltLink.dk'; // simulering af aflæsning af form-felt til url

$pos = stripos($url, 'http://');

if ($pos === false) $url = 'http://' . $url;
echo "urlen er nu: " . $url;
?>
Avatar billede thesurfer Nybegynder
26. juli 2006 - 03:03 #3
Jeg smider lige et svar.
Avatar billede deadkennedy Nybegynder
26. juli 2006 - 03:15 #4
Tak, men jeg tror du har misforstået det.

Mit ønske er bare, at den linkangivelse, udelukkende skal sende brugeren videre til det aktuelle link.
Avatar billede deadkennedy Nybegynder
26. juli 2006 - 03:17 #5
Eller- Skal siges at jeg ikke mestrer php til fulde, det kan godt være det du siger er sandt- kan det indsættes som echo?
Avatar billede gizmo-gizmo Nybegynder
26. juli 2006 - 10:26 #6
Jeg forstår det heller ikke rigtigt, deadkennedy. Jeg er selvfølgelig også lidt fatsvag, men kan du prøve igen? :-)
Avatar billede mcgoat Nybegynder
26. juli 2006 - 10:32 #7
forstår heller ikke helt hvad du mener... men tror det er:

Hvis jeg på min hjemmeside http://www.minside.dk laver et link der refererer til "www.gnu.dk så vil den på nogle servere åbne dette: http://www.minside.dk/www.gnu.dk

Det er fordi www.gnu.dk skal se sådan ud i link: http://www.gnu.dk
Avatar billede thesurfer Nybegynder
26. juli 2006 - 11:40 #8
Hvor "kommer" adressen fra?:
1) En eller anden skriver en adresse, i et inputfelt i en form
2) Formen submittes og adressen sendes til serveren, hvor PHP bearbejder dataene.
3) PHP smider dataene i databasen

Fejlen opstår fordi der ikke er kontrol, mellem punkt 3 og punkt 4.

Min kontrol skal sættes ind i mellem punkt 3 og punkt 4.

Du har garanteret noget i stil med $_POST['feltnavn'].. Det svarer til "$url" i mit eksempel.

Husk at erstatte "feltnavn" med navnet på feltet i din form:

<?php
$url = $_POST['feltnavn'];

$pos = stripos($url, 'http://');

if ($pos === false) $url = 'http://' . $url;
echo "urlen er nu: " . $url;

// DU SKAL SÅ INDSÆTTE DATA I DATABASEN VED BRUG AF $URL OG *IKKE* $_POST!
?>
Avatar billede thesurfer Nybegynder
26. juli 2006 - 11:43 #9
Med andre ord:

I stedet for indsætte "http://", hver eneste gang der er et link på vej *UD* af databasen, indsætter du "http://" på vej *IND*.

Så skal du ikke tænkte på det mere.

Var det forståeligt?
Avatar billede thesurfer Nybegynder
26. juli 2006 - 11:46 #10
Hvordan ser din SQL sætning ud, der indsætter linket i databasen?

Mht 26/07-2006 11:43:03:
Det ville være fjollet at lave en funktion, der indsætter "http://", når du udskriver/echo adressen fra databasen.
Så er det meget bedre, at rette det på vej ind.

Man skulle måske checke for "http://" og "ftp://", hvis du nu skulle finde på at indsætte en FTP adresse, i stedet for en HTTP adresse..
Avatar billede deadkennedy Nybegynder
26. juli 2006 - 21:21 #11
Mange tak!
- Er positivt overrasket over alle disse besvarelser.
Jeg takker specielt for de fuldendte koder der blev leveret, frem for blot forklaringer.
- Systemet fungerer nu!
Avatar billede thesurfer Nybegynder
26. juli 2006 - 21:28 #12
Takker for points :-)
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