Avatar billede frustrator Nybegynder
11. december 2005 - 12:17 Der er 21 kommentarer og
1 løsning

Problemer med Tip En Ven

Hejsan

Jeg vil gerne have et script ind på min side med Tip En Ven-funktionen og har benyttet dette:

http://www.eksperten.dk/spm/406138

Det fungerer fint, hvis jeg blot har to simple sider med modtag.php og send.php. MEN... nu vil jeg jo gerne have modtag.php ind i en eksisterende side på mit site så det hele bliver integreret med mit nuværende design. Men så får jeg denne fejl:

Warning: Unexpected character in input: '\' (ASCII=92) state=1 in /STORE/mitsite.dk/public_html/v2/content/kontakt/tip.php on line 84

Parse error: parse error in /STORE/mitsite.dk/public_html/v2/content/kontakt/tip.php on line 125

Hvordan får jeg fikset den bug? Og hvordan får jeg brugeren videresendt til en (af mig designet) takkeside i stedet for den kedelige "Besked er afsendt" på en hvid baggrund?

Looking forward to a solution :o)
Avatar billede johan.o Nybegynder
11. december 2005 - 12:39 #1
Jeg ved ikke med dine fejlmeddelelser, der skal man nok kende koden der ligger bag :)

Hvis du allerede har en side som er designet til at vise en flottere 'besked sendt' side, kan du vel blot lade formen submitte til den side og så sætte indholdet af send.php ind først på denne side.

Mvh. Johan
Avatar billede frustrator Nybegynder
11. december 2005 - 12:42 #2
Hmmm, vil prøve om det kan lade sig gøre :o)

Alternativt kan jeg vel bare lade det hele åbne i et nyt vindue og lade det køre derfra - vil nok også gøre det nemmere at overskue koden og dermed minimere fejlene. Eller hvordan?
Avatar billede udvikler Nybegynder
11. december 2005 - 12:42 #3
Spørgsmål -> Hvorfor for jeg denne fejl:
Warning: Unexpected character in input: '\' (ASCII=92) state=1 in /STORE/mitsite.dk/public_html/v2/content/kontakt/tip.php on line 84

Svar: Kopier linie 84 herind :)

------------------------------------------------------
Spørgsmål: -> Hvorfor for jeg denne fejl:
Parse error: parse error in /STORE/mitsite.dk/public_html/v2/content/kontakt/tip.php on line 125

Svar: Kopier linie 125 herind :)

------------------------------------------------------
Spørgsmål: hvordan får jeg brugeren videresendt til en (af mig designet) takkeside i stedet for den kedelige "Besked er afsendt" på en hvid baggrund?

Svar: Du laver en ny side der hedder tak.php og på den side hvor der forhen stod "Besked er afsendt" indsætter du en header:

header ("Location: www.dinside.dk/tak.php");
Avatar billede frustrator Nybegynder
11. december 2005 - 12:59 #4
aco ..... ser ud til at have fået det til at virke midlertidigt. MEN... ang. en takke-side. ennuværende takkebesked er automatisk genereret af scriptet på send.php. Kan man ikke få den til at redirecte til en anden side i stedet for at komme med denne tekst. Send.php ser således ud:

<?
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>";
}
?>
Avatar billede udvikler Nybegynder
11. december 2005 - 13:04 #5
Jo da, ændre det til:

<?
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);
    header("Location: www.den-side-der-skal-redirectes-til.dk");
}
?>
Avatar billede frustrator Nybegynder
11. december 2005 - 13:05 #6
Never mind, har fået hele skidtet til at virke nu (aner ikke helt hvordan, men det lykkedes da).

Aco.... takker for dine råd, du er vist de små 30 point værdig :o) Smider du et svar ind?
Avatar billede udvikler Nybegynder
11. december 2005 - 13:07 #7
Det kan jeg da godt, bare du fik det til at virke :)
Avatar billede frustrator Nybegynder
11. december 2005 - 13:09 #8
Aco... one last thing: Kan man få scriptet til at inkludere en standardtekst i den mail, der sendes ud? En tekst, som brugeren IKKE kan rette/slette fra beskeden? Noget á la "Denne mail er sendt til dig fra bla-bla" ?
Avatar billede udvikler Nybegynder
11. december 2005 - 13:12 #9
Ja da, du laver en fil ved navn mail_indhold.php og skriver det du vil i den. Derefter inkludere du inholdet ved at indsætte denne i mailen:
include "mail_indhold.php";
eller
include ("mail_indhold.php");

Det betyder det samme :)
Avatar billede frustrator Nybegynder
11. december 2005 - 13:17 #10
Ææææh..... er jo en rooki, så hvor skal jeg sætte den include-linje ind henne? I modtag.php eller send.php?
Avatar billede udvikler Nybegynder
11. december 2005 - 13:18 #11
Jeg ved da ikke hvad din mail fil hedder ? :)
Du skal indsætte include koden i den fil hvor mailen vises for brugeren.
Avatar billede frustrator Nybegynder
11. december 2005 - 13:23 #12
Hmmm tjah, stadig lidt sort snak for mig, må jeg indrømme *g* Den besked, der sendes via send.php, er jo indtastet i en formular på modtag.php. Mit spørgsmål gik mere på, om jeg kunne liste dette ekstra stykke tekst med i det formular-indhold UDEN at brugeren kan slette/ændre det, men så det stadig står i modtagerens mail.
Avatar billede udvikler Nybegynder
11. december 2005 - 13:29 #13
Nårh på den måde. Tror jeg har forstået det nu. På modtag.php skriver du:

$ekstra_tekst = "Denne mail er sendt til dig fra bla-bla";

og på send.php har du vel en linie der sender alle felterne, dvs alt det man har skrevet i modtag.php bliver jo sendt i send.php. Og i den linie hvor du sender det hele skal du bare tilføje felt navnet $ekstra_tekst og nu vil det også fremkomme i mailen. :)
Avatar billede frustrator Nybegynder
11. december 2005 - 13:49 #14
Okay, har indsat et hidden field i formularen på modtag.php:

<input name="extra" type="hidden" value="extra text tessssssssst">

Og i send.php har jeg tilføjet dette:

    $extra = $_POST['extra'];

og endelig - også i send.php - denne linje:

    mail($email, $sub, $extra, $besked, $header);

Resultat: jeg får en fejlmeddelelse relateret til ovenstående linje. Fejlen lyder:

Warning: mail(): SAFE MODE Restriction in effect. The fifth parameter is disabled in SAFE MODE. in /STORE/ultimative-80ere.dk/public_html/v2/content/kontakt/send.php on line 12
Avatar billede udvikler Nybegynder
11. december 2005 - 13:57 #15
Virkede det før ?
For det ser ud som om at den ikke tillader variablen $header - prøv at ændre navnet til noget andet ?
Avatar billede frustrator Nybegynder
11. december 2005 - 14:00 #16
ja, det virkede før.... sjovt nok.....
Avatar billede frustrator Nybegynder
11. december 2005 - 14:03 #17
det ser ikke ud til at være $header, der et problem..... men så snart der er mere end 4 "emner" i mail-linjen, så slår det klik for scriptet...
Avatar billede udvikler Nybegynder
11. december 2005 - 14:17 #18
Har lige prøvet at kigge lidt på det hele, og læst hele spørgsmålet om igen for at få mere forståelse, jeg kan desværre ikke hjælpe med det sidste. Der står dog noget om at det er SAFE MODE der ikke tillader mere en 5 parametre der. Prøv at gøre sådan her:

$mail = mail($email);
$mail = mail($sub);
$mail = mail($extra);
$mail = mail($besked);
$mail = mail($header);

Så har du dem i en hver for sig.. og du overskriver dem.. prøv og vend tilbage med svaret.
Avatar billede frustrator Nybegynder
11. december 2005 - 14:22 #19
Takker for buddet, men sorry - den dutter ikke. Giver følgende resultat:

Warning: mail() expects at least 3 parameters, 1 given in /STORE/mitsite.dk/public_html/v2/content/kontakt/send.php on line 12

Warning: mail() expects at least 3 parameters, 1 given in /STORE/mitsite.dk/public_html/v2/content/kontakt/send.php on line 13

Warning: mail() expects at least 3 parameters, 1 given in /STORE/mitsite.dk/public_html/v2/content/kontakt/send.php on line 14

Warning: mail() expects at least 3 parameters, 1 given in /STORE/mitsite.dk/public_html/v2/content/kontakt/send.php on line 15

Warning: mail() expects at least 3 parameters, 1 given in /STORE/mitsite.dk/public_html/v2/content/kontakt/send.php on line 16

Warning: Cannot modify header information - headers already sent by (output started at /STORE/mitsite.dk/public_html/v2/content/kontakt/send.php:12) in /STORE/mitsite.dk/public_html/v2/content/kontakt/send.php on line 17

Kan man ikke på en eller anden måde modificere den der SAFE MODE så den tillader at man sende 5 parametre?
Avatar billede johan.o Nybegynder
11. december 2005 - 14:51 #20
Ref : 11/12-2005 13:09:00 --> En std. tekst i mail.

Hvis det du vil er at tilføje en std. tekst til mailen som ikke kan ændres af bruger så skal du vel 'bare' ligge indholdet i variablen $besked.

Lad os sige at brugeren har skrevet noget ala : "Hej ven, check det her !"

Og du vil så have en std. tekst i bunden af denne mail, så kunne du vel gøre dette :

$besked=$_POST['besked']."\n".$url."\n\nHer er en std. tekst.";

og så bruge den oprindelige mail($email, $sub, $besked, $header);

Mvh. Johan
Avatar billede frustrator Nybegynder
11. december 2005 - 18:38 #21
Johan.... så simpelt at man skulle tro det var løgn.

Men du havde sgu ret.... det funker. Thanks, dude :o)
Avatar billede johan.o Nybegynder
11. december 2005 - 20:04 #22
Velbekomme :)

Mvh. Johan
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