Avatar billede tlunde Nybegynder
19. oktober 2005 - 11:48 Der er 21 kommentarer og
1 løsning

Anbefal side til en ven.

Hejsa,
Jeg står og skal bruge et lille script, hvor man kan sende den aktuelle side til en ven, altså den skal sende linket på den side man befinder sig på i en mail, til en email adresse man selv taster ind + et besked felt...

Hvordan sætter jeg lige det sammen? Det er specielt det der med at finde ud af at hente linket på den side man er på lige nu...

Mvh.
Thomas
Avatar billede jaw Nybegynder
19. oktober 2005 - 12:05 #1
Linket må du kunne få ved:
echo $_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
Avatar billede tlunde Nybegynder
19. oktober 2005 - 12:20 #2
Ja, det var mest af alt det jeg var ude efter, hvordan man får hevet url'en ned i en mail...
Avatar billede Slettet bruger
19. oktober 2005 - 12:40 #3
mail("din@modtager.dk", "Emne", "Hej Hans!\n\nBesøg denne side:\n".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'], "From: din@afsender.dk");
Avatar billede espersen Novice
19. oktober 2005 - 12:50 #4
Avatar billede tlunde Nybegynder
19. oktober 2005 - 13:53 #5
Har lavet mailenkoden sådan her:

<?
if ($action=="send"){
mail("$email_1","Anbefalet side...","

$tekst

Se følgende side: '.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']';

","from: $email_2");
}
?>

Men den siger fejl ved:
Se følgende side: '.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']';

Er det skrevet forkert?

Og hvordan sender jeg personen videre til en ny side, efter mailen er sendt, så man kan få en besked om at beskeden er sendt? Måske noget ala:

if ($action=="besked_sendt"){
}
Avatar billede Slettet bruger
19. oktober 2005 - 13:54 #6
1.
Hvilken fejlmeddelelse får du ?

2.
Du sider videre ved at bruge header().
www.php.net/header.
Avatar billede jaw Nybegynder
19. oktober 2005 - 13:54 #7
Ved ikke om du har noget i $tekst? Ellers:

<?
if ($action=="send"){
mail("$email_1","Anbefalet side...",
"Se følgende side: ".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']"
,"from: ".$email_2);
}
header("Location: side.php");
?>
Avatar billede tlunde Nybegynder
19. oktober 2005 - 13:57 #8
i stedet for at sende videre til en ny side, efter mailen er sendt, kan jeg så godt bare skrive:
header("Location: side.php?action=besked_sendt");
Avatar billede Slettet bruger
19. oktober 2005 - 14:00 #9
ja
Avatar billede tlunde Nybegynder
19. oktober 2005 - 14:01 #10
en lille fejl: Parse error: parse error, unexpected T_CONSTANT_ENCAPSED_STRING

<?
if ($action=="send"){
mail("$email_1","Anbefalet side...",
"Se følgende side: ".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']"
,"from: ".$email_2);
}
header("Location: side.php");
?>
Avatar billede jaw Nybegynder
19. oktober 2005 - 15:23 #11
<?
if ($action=="send"){
mail("$email_1","Anbefalet side...",
"Se følgende side: ".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']
,"from: ".$email_2);
}
header("Location: side.php");
?>
Avatar billede tlunde Nybegynder
20. oktober 2005 - 13:49 #12
Tænkte lige på en ting...

Den side hvor linket er til "send til en ven", det er det link den skal tage med. Men når man så trykker på linket til "send til en ven", så er det jo den sidstes link der blvier sendt med, ik??

Så tænkte på, om kan kunne smide den aktuelle URL med i en variabel til den side, hvor "send til en ven" formen er, så den sender den rigtige URL med??
Avatar billede jaw Nybegynder
20. oktober 2005 - 19:15 #13
Du kan jo lave linket som f.eks.:

send_mail.php?side=".$_SERVER['REQUEST_URI']

Og så smide $_SERVER['HTTP_HOST'] foran på den anden side...
Avatar billede tlunde Nybegynder
20. oktober 2005 - 19:32 #14
hvad mener du med at smide det foran?
Avatar billede tlunde Nybegynder
20. oktober 2005 - 19:37 #15
Og det virker ikke ved bare at skrive:
../send_ven.php?url=".$_SERVER['REQUEST_URI']

Den tager ikke url'en med...
Avatar billede jaw Nybegynder
20. oktober 2005 - 19:48 #16
Det kommer jo så lidt an på hvordan du gør det... Hvordan gør du det?

echo "<a href='side.php?url=".$_SERVER['REQUEST_URI']."'>hshs</a>";
Avatar billede tlunde Nybegynder
20. oktober 2005 - 20:10 #17
Når jeg trykker på følgende link:
http://www.selvhjaelp.dk/send_ven.php?url=www.selvhjaelp.dk/soeg/organisationsliste.php

Så kommer denne fejl:

Parse error: parse error, unexpected T_STRING in /hotel/selvhjaelp_dk/WWW/send_ven.php on line 8

Og her er de 11 første linier af send_ven.php
<?
include("config.php");
?>
<?
if ($action=="send"){
mail("$email_1","Anbefalet side...",
"Se følgende side: $url
,"from: ".$email_2);
header("Location: send_ven.php?action=besked_sendt");
}
?>
Avatar billede jaw Nybegynder
20. oktober 2005 - 20:16 #18
Det er fordi du roder lidt rundt i det:

mail("$email_1","Anbefalet side...", "Se følgende side: ".$_GET['url'], "from: ".$email_2);

Og måske, du skal køre en url_encode() omkring når du smider det i adresselinien, så er du sikker på ikke at få nogen fejl. Altså:

side.php?url=".url_encode($_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'])
Avatar billede tlunde Nybegynder
20. oktober 2005 - 20:25 #19
Mit link ser pt. sådan her ud:
<? echo "<a href='../send_ven.php?url=".url_encode($_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'])"'>Send til en ven</a>"; ?>

Men kommer med denne fejl:
Parse error: parse error, unexpected T_CONSTANT_ENCAPSED_STRING, expecting ',' or ';' in /hotel/selvhjaelp_dk/WWW/soeg/_menu.php on line 55

Kan ikke lige se hvor tegnet skal ind...
Avatar billede jaw Nybegynder
20. oktober 2005 - 20:27 #20
<? echo "<a href='../send_ven.php?url=".url_encode($_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'])."'>Send til en ven</a>"; ?>

(Har også rettet til urlencode() - det var min fejl!).
Avatar billede tlunde Nybegynder
21. oktober 2005 - 14:54 #21
Det hele virker som det skal nu, smider du et svar jaw??
Avatar billede jaw Nybegynder
21. oktober 2005 - 14:55 #22
Gør jeg da selvfølgelig gerne :)
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