Avatar billede kickazz Nybegynder
23. december 2006 - 14:11 Der er 9 kommentarer og
1 løsning

Anbefal til en ven - Aktuel adresse

Hej,

Jeg har fundet en php-kode herinde på eksperten, der skulle kunne fungere som "anbefal til en ven"-funktion. Koden skulle virke således, at man trykker på et link på en vilkårlig side. Linket åbner i et nyt vindue, hvor man kan udfylde ens egen e-mail og ens vens e-mail samt et kommentarfelt. "Tricket" er, at den så automatisk også sender adressen på den pågældende side som vedkommende kom fra (altså siden, hvor personen trykkede på anbefalingslinket). Håber I forstår, selvom det er skrevet lidt knudret :)

Jeg har 3 filer:
modtag.php
send.php
index.php

De to førster filer virker upåklageligt. Men jeg ved ikke hvordan jeg skal få index.php til at virke. Koderne er skrevet nedenunder (alle 3).

********** 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>

********** 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>";
}
?>

********** index.php **********
<? session_start();?>

$_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>";



Håber virkelig der er en, der kan få ovenstående kode til at virke, således at den åbner modtag.php i et nyt vindue, samtidig med at den husker hvilken side (index.php) den kom fra.
Avatar billede leif Seniormester
23. december 2006 - 16:58 #1
Hvad skulle problemet være ? Den virker da fint her hos mig
Avatar billede leif Seniormester
23. december 2006 - 16:59 #2
Men husk at alt PHP skal parses igennem PHP:

<? session_start();

$_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>";

?>
Avatar billede kickazz Nybegynder
23. december 2006 - 18:03 #3
Hej,

Problemet var at jeg åbenbart ikke forstod at "parse" igennem. Da jeg ingen php-erfaring har, havde jeg bare kopieret koden som det fremgik. Nu virker det imidlertid fint, efter at jeg har kopieret din kode.

Selv om det åbenbart var ganske let at få til at virke, betyder det utrolig meget for mig. Mange tak :)
Avatar billede kickazz Nybegynder
23. december 2006 - 18:04 #4
Mange tak
Avatar billede leif Seniormester
23. december 2006 - 18:05 #5
Svar.
Avatar billede leif Seniormester
23. december 2006 - 18:05 #6
Mange tak for point :-)
Avatar billede kickazz Nybegynder
23. december 2006 - 18:07 #7
Godt du fik point, kom helt i tvivl om jeg var kommet til at tildele dem til mig selv :S
Avatar billede leif Seniormester
23. december 2006 - 18:09 #8
Nej, du har ikke givet mig point du tog dem selv !
Avatar billede kickazz Nybegynder
23. december 2006 - 23:53 #9
Hov.. Hvordan kommer jeg så til at give dem til dig?
Avatar billede leif Seniormester
23. december 2006 - 23:54 #10
Jeg er ligeglad, men derfor anbefaler jeg gerne at man som spørger ALDRIG bruger prikken svar med mindre man vil tage sine point selv
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