Avatar billede bb_maze Nybegynder
31. august 2003 - 14:21 Der er 14 kommentarer og
1 løsning

Anbefal ven script

Hejsa!

Jeg søger et anbefal ven script... Jeg har siddet og kigget forskellige steder, bl.a. her på eksperten. Men problemet med dem jeg finder er at de kun sender ét link i emailen, og det link bestemmer man selv. Jeg vil ha så den sender linket til den site man er på LIGE NU...

Håber i forstår?

Og når i linker til store sites med en masse scripts som fx hotscripts.com så giv mig lige et helt præcist link...

På forhånd tak!

HYGGE
Avatar billede detox Nybegynder
31. august 2003 - 14:51 #1
Et link til den aktuelle side finder du fx med:

$link = "http://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
Avatar billede bb_maze Nybegynder
31. august 2003 - 17:26 #2
Jamen... Det virker vel ikke helt så? For det skal være så når man klikker på linket, så skal den går videre til en ny side, og det skal jo ikke være linket til den nye side den skal sende med i mailen, men til siden lige inden..

Jeg vil bruge det, så folk kan fortælle andre om fx en specifik artikel..

HYGGE
Avatar billede bb_maze Nybegynder
31. august 2003 - 17:28 #3
Det jeg mener kan ses her: http://www.jp.dk/sport/artikel:aid=1987696/

Oppe i toppen hvor der står 'tip en ven'

HYGGE
Avatar billede detox Nybegynder
31. august 2003 - 19:16 #4
Ok, her er et eksempel på hvordan det kan gøres. Jeg vil foreslå du bruger sessions, så hvis du ikke allerede har det, skal du allerførst på dine sider skrive:

<? session_start();?>

De sider hvor du vil have 'Tip en ven' link, skriver du:

$_SESSION['link'] = "http://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
echo "<b><a href=\"java script:void(0)\" onClick=\"window.open('modtag.php','send','width=460,height=320,menubar=no,scrollbars=yes')\">Tip en ven</a></b>";

Så laver du en php-fil; i dette tilfælde 'modtag.php':

<?
session_start();
?>
<html>
<head>
<title>Tip en ven</title>
<SCRIPT LANGUAGE="JavaScript" TYPE="text/javascript">

function confirm_submit()
{
  error = 0;

  placering=0;
  tekst=(document.tip_form.sender.value).toLowerCase();
  placering=tekst.indexOf("@");
  if(tekst ==""){
    alert ("Angiv en gyldig afsender-adresse");
    error = 1;
  } else {
    tegn=tekst.indexOf(" ");
    if(tegn!=-1){
      alert ("Angiv en gyldig afsender-adresse");
      error = 1;
    } else {
      if (tekst.indexOf("æ")!=-1 || tekst.indexOf("ø")!=-1 || tekst.indexOf("å")!=-1 ||
        tekst.indexOf("Æ")!=-1 || tekst.indexOf("Ø")!=-1 || tekst.indexOf("Å")!=-1 ||
        tekst.indexOf(";")!=-1 || tekst.indexOf(",")!=-1){
        alert ("Der er ulovlige tegn i adressen. Må ikke indeholde: æ ø å Æ Ø Å , ;");
        error = 1;
      }    else {
                if (placering<1 || tekst.length<=(placering+1)){
                    alert ("Angiv en gyldig afsender-adresse");
                    error = 1;
                }
            }
        }
    }

    placering=0;
  tekst=(document.tip_form.email.value).toLowerCase();
  placering=tekst.indexOf("@");
  if(tekst ==""){
    alert ("Angiv en gyldig modtager-adresse");
    error = 1;
  } else {
    tegn=tekst.indexOf(" ");
    if(tegn!=-1){
      alert ("Angiv en gyldig modtager-adresse");
      error = 1;
    } else {
      if (tekst.indexOf("æ")!=-1 || tekst.indexOf("ø")!=-1 || tekst.indexOf("å")!=-1 ||
        tekst.indexOf("Æ")!=-1 || tekst.indexOf("Ø")!=-1 || tekst.indexOf("Å")!=-1 ||
        tekst.indexOf(";")!=-1 || tekst.indexOf(",")!=-1){
        alert ("Der er ulovlige tegn i adressen. Må ikke indeholde: æ ø å Æ Ø Å , ;");
        error = 1;
      }    else {
                if (placering<1 || tekst.length<=(placering+1)){
                    alert ("Angiv en gyldig modtager-adresse");
                    error = 1;
                }
            }
        }
    }


    if(error == 0)
        window.close();
        document.tip_form.submit();
}


</SCRIPT>
</head>

<BODY bgcolor="#FFFFFF" topmargin="0" leftmargin="0">

        <table width="100%" border="0"><tr><td>&nbsp;&nbsp;</td><td>
<form name="tip_form" action="send.php" method="POST">
            <table border=0 cellspacing=0 cellpadding=0 align="center">
              <tr height="25"><td></td></tr>
                <tr>
                    <td><p><font size="-2" face="Verdana, Helvetica, Arial, sans-serif">Tip en ven</font></td>
                </tr>
                <tr>
                    <td>
                        <font size="-2" face="Verdana, Helvetica, Arial, sans-serif">
                        <b>Afsender</b> (Skriv din e-mail)<br>
                        <input type="text" name="sender" size="40" class="felt1"><p>
                        <b>Modtager</b> (Skriv modtagers e-mail)<br>
                        <input type="text" name="email" size="40" class="felt1"><p>
                        <b>Besked</b><br>
                        <textarea name="besked" cols="30" rows="3" class="felt1"></textarea><p>
                        <input type="button" onClick="confirm_submit()" Value="Send"></font>
                    <p>
                </tr>
            </table>
        </td>
        </tr>
        </table>
</form>
</body>
</html>

og til sidst en der hedder 'send.php':

<?
session_start();
if (isset($_POST['email'])) {
    $sender = $_POST['sender'];
    $email = $_POST['email'];
    $sub = 'Tip til link';
    $url = $_SESSION['link'];
    $besked = $_POST['besked']."\r\n".$url;
    $header = "From: ".$sender."\r\n";
    $header .= "Reply-To: ".$sender."\r\n";
    mail($email, $sub, $besked, $header);
    header ('Location: '.$url);
}
?>

Du kan selv udvide den med en besked om at linket er sendt og evt. yderligere oplysninger til modtageren etc.
Avatar billede bb_maze Nybegynder
31. august 2003 - 19:38 #5
Tak for hjælpen! Men der er bare lige et problem... Den kan ikke afsende mailen... Heh... Der sker ikke noget når jeg trykker send...

HYGGE
Avatar billede detox Nybegynder
31. august 2003 - 19:48 #6
Hmmm, det virker fint her. Har du ellers problemer med at bruge mail() funktionen?
Avatar billede bb_maze Nybegynder
31. august 2003 - 19:49 #7
Hmm... Det er nok min egen skyld.... Er ikke lige super hardcore til det php der... Men jeg har sat det ind i de filer som du sagde... Og ellers ik gjort noget...

HYGGE
Avatar billede detox Nybegynder
31. august 2003 - 20:02 #8
Er du sikker på du har udfyldt formen rigtigt inden du trykker send, for som jeg skrev har jeg ikke inkluderet nogen form for meddelelse til brugeren om at linket er sendt.
Avatar billede bb_maze Nybegynder
31. august 2003 - 20:06 #9
Ja, det vil jeg mene...... Jeg har bare fyret to mail adresser ind... Selvfølgelig to som virker...

HYGGE
Avatar billede detox Nybegynder
31. august 2003 - 20:17 #10
Jeg har prøvet at uploade det til mit webhotel og der må jeg erkende at det ikke fungerer. Pudsigt at det virker lokalt, det må jeg lige se på.
Avatar billede detox Nybegynder
31. august 2003 - 21:02 #11
Jeg har ændret lidt i modtag.php:

--------------------
<?
session_start();
?>
<html>
<head>
<title>Tip en ven</title>
<SCRIPT LANGUAGE="JavaScript" TYPE="text/javascript">

function confirm_submit()
{
  error = 0;

  placering=0;
  tekst=(document.tip_form.sender.value).toLowerCase();
  placering=tekst.indexOf("@");
  if(tekst ==""){
    alert ("Angiv en gyldig afsender-adresse");
    error = 1;
  } else {
    tegn=tekst.indexOf(" ");
    if(tegn!=-1){
      alert ("Angiv en gyldig afsender-adresse");
      error = 1;
    } else {
      if (tekst.indexOf("æ")!=-1 || tekst.indexOf("ø")!=-1 || tekst.indexOf("å")!=-1 ||
        tekst.indexOf("Æ")!=-1 || tekst.indexOf("Ø")!=-1 || tekst.indexOf("Å")!=-1 ||
        tekst.indexOf(";")!=-1 || tekst.indexOf(",")!=-1){
        alert ("Der er ulovlige tegn i adressen. Må ikke indeholde: æ ø å Æ Ø Å , ;");
        error = 1;
      }    else {
                if (placering<1 || tekst.length<=(placering+1)){
                    alert ("Angiv en gyldig afsender-adresse");
                    error = 1;
                }
            }
        }
    }

    placering=0;
  tekst=(document.tip_form.email.value).toLowerCase();
  placering=tekst.indexOf("@");
  if(tekst ==""){
    alert ("Angiv en gyldig modtager-adresse");
    error = 1;
  } else {
    tegn=tekst.indexOf(" ");
    if(tegn!=-1){
      alert ("Angiv en gyldig modtager-adresse");
      error = 1;
    } else {
      if (tekst.indexOf("æ")!=-1 || tekst.indexOf("ø")!=-1 || tekst.indexOf("å")!=-1 ||
        tekst.indexOf("Æ")!=-1 || tekst.indexOf("Ø")!=-1 || tekst.indexOf("Å")!=-1 ||
        tekst.indexOf(";")!=-1 || tekst.indexOf(",")!=-1){
        alert ("Der er ulovlige tegn i adressen. Må ikke indeholde: æ ø å Æ Ø Å , ;");
        error = 1;
      }    else {
                if (placering<1 || tekst.length<=(placering+1)){
                    alert ("Angiv en gyldig modtager-adresse");
                    error = 1;
                }
            }
        }
    }


    if(error == 0)
        document.tip_form.submit();
}


</SCRIPT>
</head>

<BODY bgcolor="#FFFFFF" topmargin="0" leftmargin="0">

        <table width="100%" border="0"><tr><td>&nbsp;&nbsp;</td><td>
            <table border=0 cellspacing=0 cellpadding=0 align="center">
              <tr height="25"><td></td></tr>
                <tr>
                    <td><p><font size="-2" face="Verdana, Helvetica, Arial, sans-serif">Tip en ven</font></td>
                </tr>
                <tr>
                    <td>
                        <form name="tip_form" action="send.php" method="POST">
                        <font size="-2" face="Verdana, Helvetica, Arial, sans-serif">
                        <b>Afsender</b> (Skriv din e-mail)<br>
                        <input type="text" name="sender" size="40" class="felt1"><p>
                        <b>Modtager</b> (Skriv modtagers e-mail)<br>
                        <input type="text" name="email" size="40" class="felt1"><p>
                        <b>Besked</b><br>
                        <textarea name="besked" cols="30" rows="3" class="felt1"></textarea><p>
                        <input type="button" onClick="confirm_submit()" Value="Send"></font>
                        </form>
                    <p>
                </tr>
            </table>
        </td>
        </tr>
        </table>
</body>
</html>
-------------
og send.php:

--------------
<?
session_start();
if (isset($_POST['email'])) {
    $sender = $_POST['sender'];
    $email = $_POST['email'];
    $sub = 'Tip til link';
    $url = $_SESSION['link'];
    $besked = $_POST['besked']."\n".$url;
    $header = "From: ".$sender."\n";
    $header .= "Reply-To: ".$sender."\n";
    mail($email, $sub, $besked, $header);
    echo "<h1>Tip er afsendt</h1>";
}
?>
--------
og nu virker det på mit webhotel.
Avatar billede bb_maze Nybegynder
31. august 2003 - 21:10 #12
Takker! Det spiller f*****! det er bare godt!! TAK TAK TAK!!!! Mange mange tak..... Du aner ik hvor glad jeg er for det! Du må squ godt få nogle flere point hvis det var noget?

HYGGE

P.S. smid lige et svar ;-)
Avatar billede detox Nybegynder
31. august 2003 - 21:44 #13
Velbekommen, det er bare rart at kunne hjælpe.
Avatar billede bb_maze Nybegynder
31. august 2003 - 21:45 #14
Sig til hvis du vil ha nogle flere point, for så kan vi jo lige finde ud af noget ;-)

Du har været til STOR hjælp! Endnu en gang tak!

HYGGE
Avatar billede manse999 Nybegynder
04. april 2005 - 12:33 #15
Hej med jer.
Jeg forsøger at benytte ovenstående script, men når det skal afsendes fra serveren får jeg følgende meddelelse:

Error 405 Method Not Allowed
The requested method POST is not allowed for URL /send.php

Powered by Zeus Technology

Jeg benytter www.1go.dk, og efter hvad jeg kan se, er det ikke tilladt at sende post fra deres php server. Er dette ikke korrekt?
Er der nogen der kender en gratis server med php hvor det er tilladt at poste sådanne "tip en ven" funktioner?
På forhånd tak.
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